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 = 160;
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 = 65,
104 Feature_HasEGPRBit = 5,
105 Feature_NoEGPRBit = 4,
106 Feature_HasNDDBit = 6,
107 Feature_NoNDDBit = 27,
108 Feature_HasZUBit = 156,
109 Feature_PreferLegacySetCCBit = 31,
110 Feature_PreferNoLegacySetCCBit = 32,
111 Feature_HasCFBit = 30,
112 Feature_HasJMPABSBit = 154,
113 Feature_HasCMOVBit = 29,
114 Feature_NoCMOVBit = 137,
115 Feature_HasMMXBit = 111,
116 Feature_HasSSE1Bit = 51,
117 Feature_UseSSE1Bit = 58,
118 Feature_HasSSE2Bit = 50,
119 Feature_UseSSE2Bit = 59,
120 Feature_HasSSE3Bit = 42,
121 Feature_UseSSE3Bit = 68,
122 Feature_HasSSSE3Bit = 112,
123 Feature_UseSSSE3Bit = 69,
124 Feature_UseSSE41Bit = 66,
125 Feature_UseSSE42Bit = 73,
126 Feature_HasSSE4ABit = 83,
127 Feature_NoAVXBit = 79,
128 Feature_HasAVXBit = 60,
129 Feature_HasAVX2Bit = 54,
130 Feature_HasAVX1OnlyBit = 52,
131 Feature_HasAVX10_2Bit = 110,
132 Feature_NoAVX10_2Bit = 72,
133 Feature_HasAVX512Bit = 96,
134 Feature_UseAVXBit = 56,
135 Feature_NoAVX512Bit = 47,
136 Feature_HasCDIBit = 100,
137 Feature_HasVPOPCNTDQBit = 104,
138 Feature_HasDQIBit = 98,
139 Feature_NoDQIBit = 70,
140 Feature_HasBWIBit = 99,
141 Feature_HasBMMBit = 109,
142 Feature_NoBWIBit = 67,
143 Feature_HasVLXBit = 97,
144 Feature_NoVLXBit = 46,
145 Feature_NoVLX_Or_NoBWIBit = 64,
146 Feature_HasVNNIBit = 106,
147 Feature_HasVP2INTERSECTBit = 108,
148 Feature_HasFP16Bit = 102,
149 Feature_HasAVXVNNIINT16Bit = 95,
150 Feature_HasAVXVNNIINT8Bit = 90,
151 Feature_HasAVXVNNIBit = 84,
152 Feature_NoVLX_Or_NoVNNIBit = 85,
153 Feature_HasBITALGBit = 107,
154 Feature_HasPOPCNTBit = 71,
155 Feature_HasAESBit = 76,
156 Feature_HasVAESBit = 78,
157 Feature_NoVLX_Or_NoVAESBit = 77,
158 Feature_HasFXSRBit = 43,
159 Feature_HasX87Bit = 41,
160 Feature_HasXSAVEBit = 126,
161 Feature_HasXSAVEOPTBit = 127,
162 Feature_HasXSAVECBit = 128,
163 Feature_HasXSAVESBit = 129,
164 Feature_HasPCLMULBit = 80,
165 Feature_NoVLX_Or_NoVPCLMULQDQBit = 81,
166 Feature_HasVPCLMULQDQBit = 82,
167 Feature_HasGFNIBit = 87,
168 Feature_HasFMABit = 44,
169 Feature_HasFMA4Bit = 48,
170 Feature_NoFMA4Bit = 45,
171 Feature_HasXOPBit = 49,
172 Feature_HasTBMBit = 26,
173 Feature_NoTBMBit = 142,
174 Feature_HasLWPBit = 12,
175 Feature_HasMOVBEBit = 3,
176 Feature_NoNDD_Or_NoMOVBEBit = 2,
177 Feature_HasRDRANDBit = 7,
178 Feature_HasF16CBit = 86,
179 Feature_HasFSGSBaseBit = 130,
180 Feature_HasLZCNTBit = 9,
181 Feature_HasBMIBit = 10,
182 Feature_HasBMI2Bit = 11,
183 Feature_NoBMI2Bit = 141,
184 Feature_HasVBMIBit = 101,
185 Feature_HasVBMI2Bit = 105,
186 Feature_HasIFMABit = 103,
187 Feature_HasAVXIFMABit = 88,
188 Feature_NoVLX_Or_NoIFMABit = 89,
189 Feature_HasRTMBit = 114,
190 Feature_HasSHABit = 75,
191 Feature_HasSHA512Bit = 92,
192 Feature_HasSM3Bit = 93,
193 Feature_HasRDSEEDBit = 8,
194 Feature_HasSSEPrefetchBit = 61,
195 Feature_HasPREFETCHIBit = 20,
196 Feature_HasPrefetchWBit = 113,
197 Feature_HasMWAITXBit = 140,
198 Feature_HasCLDEMOTEBit = 24,
199 Feature_HasMOVDIRIBit = 14,
200 Feature_HasMOVDIR64BBit = 15,
201 Feature_HasMOVRSBit = 25,
202 Feature_HasPTWRITEBit = 133,
203 Feature_FPStackf32Bit = 39,
204 Feature_FPStackf64Bit = 40,
205 Feature_HasSM4Bit = 94,
206 Feature_HasCLFLUSHBit = 62,
207 Feature_HasCLFLUSHOPTBit = 22,
208 Feature_HasCLWBBit = 23,
209 Feature_HasWBNOINVDBit = 125,
210 Feature_HasRDPIDBit = 132,
211 Feature_HasWAITPKGBit = 13,
212 Feature_HasINVPCIDBit = 131,
213 Feature_HasCX8Bit = 138,
214 Feature_HasCX16Bit = 139,
215 Feature_HasENQCMDBit = 16,
216 Feature_HasAMXFP16Bit = 119,
217 Feature_HasCMPCCXADDBit = 21,
218 Feature_HasAVXNECONVERTBit = 91,
219 Feature_HasKLBit = 115,
220 Feature_HasRAOINTBit = 123,
221 Feature_HasSERIALIZEBit = 17,
222 Feature_HasTSXLDTRKBit = 18,
223 Feature_HasAMXTILEBit = 116,
224 Feature_HasAMXBF16Bit = 118,
225 Feature_HasAMXINT8Bit = 117,
226 Feature_HasAMXCOMPLEXBit = 120,
227 Feature_HasAMXFP8Bit = 121,
228 Feature_HasAMXAVX512Bit = 122,
229 Feature_HasUINTRBit = 19,
230 Feature_HasUSERMSRBit = 124,
231 Feature_HasCRC32Bit = 74,
232 Feature_HasADXBit = 143,
233 Feature_Not64BitModeBit = 0,
234 Feature_In64BitModeBit = 1,
235 Feature_IsLP64Bit = 135,
236 Feature_NotLP64Bit = 134,
237 Feature_NotWin64WithoutFPBit = 136,
238 Feature_IsPSBit = 146,
239 Feature_NotPSBit = 145,
240 Feature_KernelCodeBit = 147,
241 Feature_NearDataBit = 149,
242 Feature_IsNotPICBit = 148,
243 Feature_OptForSizeBit = 55,
244 Feature_OptForMinSizeBit = 53,
245 Feature_OptForSpeedBit = 144,
246 Feature_UseIncDecBit = 28,
247 Feature_NoSSE41_Or_OptForSizeBit = 57,
248 Feature_ImportCallOptimizationEnabledBit = 37,
249 Feature_ImportCallOptimizationDisabledBit = 35,
250 Feature_IsWin64CCFuncBit = 153,
251 Feature_IsNotWin64CCFuncBit = 152,
252 Feature_IsHiPECCFuncBit = 151,
253 Feature_IsNotHiPECCFuncBit = 150,
254 Feature_CallImmAddrBit = 155,
255 Feature_FavorMemIndirectCallBit = 33,
256 Feature_HasFastSHLDRotateBit = 38,
257 Feature_HasMFenceBit = 63,
258 Feature_UseIndirectThunkCallsBit = 36,
259 Feature_NotUseIndirectThunkCallsBit = 34,
260 Feature_HwMode2Bit = 159,
261 Feature_HwMode1Bit = 158,
262 Feature_HwMode0Bit = 157,
263};
264
265PredicateBitset X86InstructionSelector::
266computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const {
267 PredicateBitset Features{};
268 if (true)
269 Features.set(Feature_TruePredicateBit);
270 if (Subtarget->hasEGPR())
271 Features.set(Feature_HasEGPRBit);
272 if (!Subtarget->hasEGPR())
273 Features.set(Feature_NoEGPRBit);
274 if (Subtarget->hasNDD())
275 Features.set(Feature_HasNDDBit);
276 if (!Subtarget->hasNDD())
277 Features.set(Feature_NoNDDBit);
278 if (Subtarget->hasZU())
279 Features.set(Feature_HasZUBit);
280 if (!Subtarget->hasZU() || Subtarget->preferLegacySetCC())
281 Features.set(Feature_PreferLegacySetCCBit);
282 if (Subtarget->hasZU() && !Subtarget->preferLegacySetCC())
283 Features.set(Feature_PreferNoLegacySetCCBit);
284 if (Subtarget->hasCF())
285 Features.set(Feature_HasCFBit);
286 if (Subtarget->hasJMPABS())
287 Features.set(Feature_HasJMPABSBit);
288 if (Subtarget->canUseCMOV())
289 Features.set(Feature_HasCMOVBit);
290 if (!Subtarget->canUseCMOV())
291 Features.set(Feature_NoCMOVBit);
292 if (Subtarget->hasMMX())
293 Features.set(Feature_HasMMXBit);
294 if (Subtarget->hasSSE1())
295 Features.set(Feature_HasSSE1Bit);
296 if (Subtarget->hasSSE1() && !Subtarget->hasAVX())
297 Features.set(Feature_UseSSE1Bit);
298 if (Subtarget->hasSSE2())
299 Features.set(Feature_HasSSE2Bit);
300 if (Subtarget->hasSSE2() && !Subtarget->hasAVX())
301 Features.set(Feature_UseSSE2Bit);
302 if (Subtarget->hasSSE3())
303 Features.set(Feature_HasSSE3Bit);
304 if (Subtarget->hasSSE3() && !Subtarget->hasAVX())
305 Features.set(Feature_UseSSE3Bit);
306 if (Subtarget->hasSSSE3())
307 Features.set(Feature_HasSSSE3Bit);
308 if (Subtarget->hasSSSE3() && !Subtarget->hasAVX())
309 Features.set(Feature_UseSSSE3Bit);
310 if (Subtarget->hasSSE41() && !Subtarget->hasAVX())
311 Features.set(Feature_UseSSE41Bit);
312 if (Subtarget->hasSSE42() && !Subtarget->hasAVX())
313 Features.set(Feature_UseSSE42Bit);
314 if (Subtarget->hasSSE4A())
315 Features.set(Feature_HasSSE4ABit);
316 if (!Subtarget->hasAVX())
317 Features.set(Feature_NoAVXBit);
318 if (Subtarget->hasAVX())
319 Features.set(Feature_HasAVXBit);
320 if (Subtarget->hasAVX2())
321 Features.set(Feature_HasAVX2Bit);
322 if (Subtarget->hasAVX() && !Subtarget->hasAVX2())
323 Features.set(Feature_HasAVX1OnlyBit);
324 if (Subtarget->hasAVX10_2())
325 Features.set(Feature_HasAVX10_2Bit);
326 if (!Subtarget->hasAVX10_2())
327 Features.set(Feature_NoAVX10_2Bit);
328 if (Subtarget->hasAVX512())
329 Features.set(Feature_HasAVX512Bit);
330 if (Subtarget->hasAVX() && !Subtarget->hasAVX512())
331 Features.set(Feature_UseAVXBit);
332 if (!Subtarget->hasAVX512())
333 Features.set(Feature_NoAVX512Bit);
334 if (Subtarget->hasCDI())
335 Features.set(Feature_HasCDIBit);
336 if (Subtarget->hasVPOPCNTDQ())
337 Features.set(Feature_HasVPOPCNTDQBit);
338 if (Subtarget->hasDQI())
339 Features.set(Feature_HasDQIBit);
340 if (!Subtarget->hasDQI())
341 Features.set(Feature_NoDQIBit);
342 if (Subtarget->hasBWI())
343 Features.set(Feature_HasBWIBit);
344 if (Subtarget->hasBMM())
345 Features.set(Feature_HasBMMBit);
346 if (!Subtarget->hasBWI())
347 Features.set(Feature_NoBWIBit);
348 if (Subtarget->hasVLX())
349 Features.set(Feature_HasVLXBit);
350 if (!Subtarget->hasVLX())
351 Features.set(Feature_NoVLXBit);
352 if (!Subtarget->hasVLX() || !Subtarget->hasBWI())
353 Features.set(Feature_NoVLX_Or_NoBWIBit);
354 if (Subtarget->hasVNNI())
355 Features.set(Feature_HasVNNIBit);
356 if (Subtarget->hasVP2INTERSECT())
357 Features.set(Feature_HasVP2INTERSECTBit);
358 if (Subtarget->hasFP16())
359 Features.set(Feature_HasFP16Bit);
360 if (Subtarget->hasAVXVNNIINT16())
361 Features.set(Feature_HasAVXVNNIINT16Bit);
362 if (Subtarget->hasAVXVNNIINT8())
363 Features.set(Feature_HasAVXVNNIINT8Bit);
364 if (Subtarget->hasAVXVNNI())
365 Features.set(Feature_HasAVXVNNIBit);
366 if (!Subtarget->hasVLX() || !Subtarget->hasVNNI())
367 Features.set(Feature_NoVLX_Or_NoVNNIBit);
368 if (Subtarget->hasBITALG())
369 Features.set(Feature_HasBITALGBit);
370 if (Subtarget->hasPOPCNT())
371 Features.set(Feature_HasPOPCNTBit);
372 if (Subtarget->hasAES())
373 Features.set(Feature_HasAESBit);
374 if (Subtarget->hasVAES())
375 Features.set(Feature_HasVAESBit);
376 if (!Subtarget->hasVLX() || !Subtarget->hasVAES())
377 Features.set(Feature_NoVLX_Or_NoVAESBit);
378 if (Subtarget->hasFXSR())
379 Features.set(Feature_HasFXSRBit);
380 if (Subtarget->hasX87())
381 Features.set(Feature_HasX87Bit);
382 if (Subtarget->hasXSAVE())
383 Features.set(Feature_HasXSAVEBit);
384 if (Subtarget->hasXSAVEOPT())
385 Features.set(Feature_HasXSAVEOPTBit);
386 if (Subtarget->hasXSAVEC())
387 Features.set(Feature_HasXSAVECBit);
388 if (Subtarget->hasXSAVES())
389 Features.set(Feature_HasXSAVESBit);
390 if (Subtarget->hasPCLMUL())
391 Features.set(Feature_HasPCLMULBit);
392 if (!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ())
393 Features.set(Feature_NoVLX_Or_NoVPCLMULQDQBit);
394 if (Subtarget->hasVPCLMULQDQ())
395 Features.set(Feature_HasVPCLMULQDQBit);
396 if (Subtarget->hasGFNI())
397 Features.set(Feature_HasGFNIBit);
398 if (Subtarget->hasFMA())
399 Features.set(Feature_HasFMABit);
400 if (Subtarget->hasFMA4())
401 Features.set(Feature_HasFMA4Bit);
402 if (!Subtarget->hasFMA4())
403 Features.set(Feature_NoFMA4Bit);
404 if (Subtarget->hasXOP())
405 Features.set(Feature_HasXOPBit);
406 if (Subtarget->hasTBM())
407 Features.set(Feature_HasTBMBit);
408 if (!Subtarget->hasTBM())
409 Features.set(Feature_NoTBMBit);
410 if (Subtarget->hasLWP())
411 Features.set(Feature_HasLWPBit);
412 if (Subtarget->hasMOVBE())
413 Features.set(Feature_HasMOVBEBit);
414 if (!Subtarget->hasNDD() || !Subtarget->hasMOVBE())
415 Features.set(Feature_NoNDD_Or_NoMOVBEBit);
416 if (Subtarget->hasRDRAND())
417 Features.set(Feature_HasRDRANDBit);
418 if (Subtarget->hasF16C())
419 Features.set(Feature_HasF16CBit);
420 if (Subtarget->hasFSGSBase())
421 Features.set(Feature_HasFSGSBaseBit);
422 if (Subtarget->hasLZCNT())
423 Features.set(Feature_HasLZCNTBit);
424 if (Subtarget->hasBMI())
425 Features.set(Feature_HasBMIBit);
426 if (Subtarget->hasBMI2())
427 Features.set(Feature_HasBMI2Bit);
428 if (!Subtarget->hasBMI2())
429 Features.set(Feature_NoBMI2Bit);
430 if (Subtarget->hasVBMI())
431 Features.set(Feature_HasVBMIBit);
432 if (Subtarget->hasVBMI2())
433 Features.set(Feature_HasVBMI2Bit);
434 if (Subtarget->hasIFMA())
435 Features.set(Feature_HasIFMABit);
436 if (Subtarget->hasAVXIFMA())
437 Features.set(Feature_HasAVXIFMABit);
438 if (!Subtarget->hasVLX() || !Subtarget->hasIFMA())
439 Features.set(Feature_NoVLX_Or_NoIFMABit);
440 if (Subtarget->hasRTM())
441 Features.set(Feature_HasRTMBit);
442 if (Subtarget->hasSHA())
443 Features.set(Feature_HasSHABit);
444 if (Subtarget->hasSHA512())
445 Features.set(Feature_HasSHA512Bit);
446 if (Subtarget->hasSM3())
447 Features.set(Feature_HasSM3Bit);
448 if (Subtarget->hasRDSEED())
449 Features.set(Feature_HasRDSEEDBit);
450 if (Subtarget->hasSSEPrefetch())
451 Features.set(Feature_HasSSEPrefetchBit);
452 if (Subtarget->hasPREFETCHI())
453 Features.set(Feature_HasPREFETCHIBit);
454 if (Subtarget->hasPrefetchW())
455 Features.set(Feature_HasPrefetchWBit);
456 if (Subtarget->hasMWAITX())
457 Features.set(Feature_HasMWAITXBit);
458 if (Subtarget->hasCLDEMOTE())
459 Features.set(Feature_HasCLDEMOTEBit);
460 if (Subtarget->hasMOVDIRI())
461 Features.set(Feature_HasMOVDIRIBit);
462 if (Subtarget->hasMOVDIR64B())
463 Features.set(Feature_HasMOVDIR64BBit);
464 if (Subtarget->hasMOVRS())
465 Features.set(Feature_HasMOVRSBit);
466 if (Subtarget->hasPTWRITE())
467 Features.set(Feature_HasPTWRITEBit);
468 if (!Subtarget->hasSSE1())
469 Features.set(Feature_FPStackf32Bit);
470 if (!Subtarget->hasSSE2())
471 Features.set(Feature_FPStackf64Bit);
472 if (Subtarget->hasSM4())
473 Features.set(Feature_HasSM4Bit);
474 if (Subtarget->hasCLFLUSH())
475 Features.set(Feature_HasCLFLUSHBit);
476 if (Subtarget->hasCLFLUSHOPT())
477 Features.set(Feature_HasCLFLUSHOPTBit);
478 if (Subtarget->hasCLWB())
479 Features.set(Feature_HasCLWBBit);
480 if (Subtarget->hasWBNOINVD())
481 Features.set(Feature_HasWBNOINVDBit);
482 if (Subtarget->hasRDPID())
483 Features.set(Feature_HasRDPIDBit);
484 if (Subtarget->hasWAITPKG())
485 Features.set(Feature_HasWAITPKGBit);
486 if (Subtarget->hasINVPCID())
487 Features.set(Feature_HasINVPCIDBit);
488 if (Subtarget->hasCX8())
489 Features.set(Feature_HasCX8Bit);
490 if (Subtarget->hasCX16())
491 Features.set(Feature_HasCX16Bit);
492 if (Subtarget->hasENQCMD())
493 Features.set(Feature_HasENQCMDBit);
494 if (Subtarget->hasAMXFP16())
495 Features.set(Feature_HasAMXFP16Bit);
496 if (Subtarget->hasCMPCCXADD())
497 Features.set(Feature_HasCMPCCXADDBit);
498 if (Subtarget->hasAVXNECONVERT())
499 Features.set(Feature_HasAVXNECONVERTBit);
500 if (Subtarget->hasKL())
501 Features.set(Feature_HasKLBit);
502 if (Subtarget->hasRAOINT())
503 Features.set(Feature_HasRAOINTBit);
504 if (Subtarget->hasSERIALIZE())
505 Features.set(Feature_HasSERIALIZEBit);
506 if (Subtarget->hasTSXLDTRK())
507 Features.set(Feature_HasTSXLDTRKBit);
508 if (Subtarget->hasAMXTILE())
509 Features.set(Feature_HasAMXTILEBit);
510 if (Subtarget->hasAMXBF16())
511 Features.set(Feature_HasAMXBF16Bit);
512 if (Subtarget->hasAMXINT8())
513 Features.set(Feature_HasAMXINT8Bit);
514 if (Subtarget->hasAMXCOMPLEX())
515 Features.set(Feature_HasAMXCOMPLEXBit);
516 if (Subtarget->hasAMXFP8())
517 Features.set(Feature_HasAMXFP8Bit);
518 if (Subtarget->hasAMXAVX512())
519 Features.set(Feature_HasAMXAVX512Bit);
520 if (Subtarget->hasUINTR())
521 Features.set(Feature_HasUINTRBit);
522 if (Subtarget->hasUSERMSR())
523 Features.set(Feature_HasUSERMSRBit);
524 if (Subtarget->hasCRC32())
525 Features.set(Feature_HasCRC32Bit);
526 if (Subtarget->hasADX())
527 Features.set(Feature_HasADXBit);
528 if (!Subtarget->is64Bit())
529 Features.set(Feature_Not64BitModeBit);
530 if (Subtarget->is64Bit())
531 Features.set(Feature_In64BitModeBit);
532 if (Subtarget->isTarget64BitLP64())
533 Features.set(Feature_IsLP64Bit);
534 if (!Subtarget->isTarget64BitLP64())
535 Features.set(Feature_NotLP64Bit);
536 if (Subtarget->isTargetPS())
537 Features.set(Feature_IsPSBit);
538 if (!Subtarget->isTargetPS())
539 Features.set(Feature_NotPSBit);
540 if (TM.getCodeModel() == CodeModel::Kernel)
541 Features.set(Feature_KernelCodeBit);
542 if (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
543 Features.set(Feature_NearDataBit);
544 if (!TM.isPositionIndependent())
545 Features.set(Feature_IsNotPICBit);
546 if (Subtarget->isLegalToCallImmediateAddr())
547 Features.set(Feature_CallImmAddrBit);
548 if (!Subtarget->slowTwoMemOps() && !Subtarget->slowIndirectCall())
549 Features.set(Feature_FavorMemIndirectCallBit);
550 if (Subtarget->hasFastSHLDRotate())
551 Features.set(Feature_HasFastSHLDRotateBit);
552 if (Subtarget->hasMFence())
553 Features.set(Feature_HasMFenceBit);
554 if (Subtarget->useIndirectThunkCalls())
555 Features.set(Feature_UseIndirectThunkCallsBit);
556 if (!Subtarget->useIndirectThunkCalls())
557 Features.set(Feature_NotUseIndirectThunkCallsBit);
558 if (!((Subtarget->is64Bit()) && (!Subtarget->getTargetTriple().isX32())) && !((Subtarget->getTargetTriple().isX32())))
559 Features.set(Feature_HwMode2Bit);
560 if ((Subtarget->getTargetTriple().isX32()))
561 Features.set(Feature_HwMode1Bit);
562 if ((Subtarget->is64Bit()) && (!Subtarget->getTargetTriple().isX32()))
563 Features.set(Feature_HwMode0Bit);
564 return Features;
565}
566
567void X86InstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
568 AvailableFunctionFeatures = computeAvailableFunctionFeatures((const X86Subtarget *)&MF.getSubtarget(), &MF);
569}
570PredicateBitset X86InstructionSelector::
571computeAvailableFunctionFeatures(const X86Subtarget *Subtarget, const MachineFunction *MF) const {
572 PredicateBitset Features{};
573 if (!Subtarget->isTargetWin64() ||Subtarget->getFrameLowering()->hasFP(*MF))
574 Features.set(Feature_NotWin64WithoutFPBit);
575 if (shouldOptForSize(MF))
576 Features.set(Feature_OptForSizeBit);
577 if (MF->getFunction().hasMinSize())
578 Features.set(Feature_OptForMinSizeBit);
579 if (!shouldOptForSize(MF))
580 Features.set(Feature_OptForSpeedBit);
581 if (!Subtarget->slowIncDec() || shouldOptForSize(MF))
582 Features.set(Feature_UseIncDecBit);
583 if (shouldOptForSize(MF) || !Subtarget->hasSSE41())
584 Features.set(Feature_NoSSE41_Or_OptForSizeBit);
585 if (MF->getFunction().getParent()->getModuleFlag("import-call-optimization"))
586 Features.set(Feature_ImportCallOptimizationEnabledBit);
587 if (!MF->getFunction().getParent()->getModuleFlag("import-call-optimization"))
588 Features.set(Feature_ImportCallOptimizationDisabledBit);
589 if (Subtarget->isCallingConvWin64(MF->getFunction().getCallingConv()))
590 Features.set(Feature_IsWin64CCFuncBit);
591 if (!Subtarget->isCallingConvWin64(MF->getFunction().getCallingConv()))
592 Features.set(Feature_IsNotWin64CCFuncBit);
593 if (MF->getFunction().getCallingConv() == CallingConv::HiPE)
594 Features.set(Feature_IsHiPECCFuncBit);
595 if (MF->getFunction().getCallingConv() != CallingConv::HiPE)
596 Features.set(Feature_IsNotHiPECCFuncBit);
597 return Features;
598}
599
600// Feature bitsets.
601enum {
602 GIFBS_Invalid,
603 GIFBS_FPStackf32,
604 GIFBS_FPStackf64,
605 GIFBS_HasAVX,
606 GIFBS_HasAVX10_2,
607 GIFBS_HasAVX1Only,
608 GIFBS_HasAVX2,
609 GIFBS_HasAVX512,
610 GIFBS_HasAVXNECONVERT,
611 GIFBS_HasBITALG,
612 GIFBS_HasBMI,
613 GIFBS_HasBMM,
614 GIFBS_HasBWI,
615 GIFBS_HasCDI,
616 GIFBS_HasCLDEMOTE,
617 GIFBS_HasCLFLUSH,
618 GIFBS_HasCLFLUSHOPT,
619 GIFBS_HasCLWB,
620 GIFBS_HasDQI,
621 GIFBS_HasFP16,
622 GIFBS_HasFXSR,
623 GIFBS_HasFastSHLDRotate,
624 GIFBS_HasKL,
625 GIFBS_HasLWP,
626 GIFBS_HasLZCNT,
627 GIFBS_HasMFence,
628 GIFBS_HasMMX,
629 GIFBS_HasMOVBE,
630 GIFBS_HasMOVRS,
631 GIFBS_HasMWAITX,
632 GIFBS_HasNDD,
633 GIFBS_HasPOPCNT,
634 GIFBS_HasPTWRITE,
635 GIFBS_HasPrefetchW,
636 GIFBS_HasRTM,
637 GIFBS_HasSERIALIZE,
638 GIFBS_HasSHA,
639 GIFBS_HasSHA512,
640 GIFBS_HasSM3,
641 GIFBS_HasSM4,
642 GIFBS_HasSSE1,
643 GIFBS_HasSSE2,
644 GIFBS_HasSSE3,
645 GIFBS_HasSSE4A,
646 GIFBS_HasSSEPrefetch,
647 GIFBS_HasTBM,
648 GIFBS_HasTSXLDTRK,
649 GIFBS_HasVBMI2,
650 GIFBS_HasVLX,
651 GIFBS_HasVPOPCNTDQ,
652 GIFBS_HasWAITPKG,
653 GIFBS_HasWBNOINVD,
654 GIFBS_HasX87,
655 GIFBS_HasXOP,
656 GIFBS_HasXSAVE,
657 GIFBS_HasXSAVEC,
658 GIFBS_HasXSAVEOPT,
659 GIFBS_HasXSAVES,
660 GIFBS_HasZU,
661 GIFBS_In64BitMode,
662 GIFBS_IsPS,
663 GIFBS_NoAVX,
664 GIFBS_NoDQI,
665 GIFBS_NoEGPR,
666 GIFBS_NoNDD,
667 GIFBS_NoNDD_Or_NoMOVBE,
668 GIFBS_NoVLX,
669 GIFBS_Not64BitMode,
670 GIFBS_NotPS,
671 GIFBS_UseAVX,
672 GIFBS_UseIncDec,
673 GIFBS_UseSSE1,
674 GIFBS_UseSSE2,
675 GIFBS_UseSSE3,
676 GIFBS_UseSSE41,
677 GIFBS_UseSSSE3,
678 GIFBS_HasAES_HasAVX,
679 GIFBS_HasAES_NoAVX,
680 GIFBS_HasAMXBF16_In64BitMode,
681 GIFBS_HasAMXCOMPLEX_In64BitMode,
682 GIFBS_HasAMXFP16_In64BitMode,
683 GIFBS_HasAMXFP8_In64BitMode,
684 GIFBS_HasAMXINT8_In64BitMode,
685 GIFBS_HasAMXTILE_In64BitMode,
686 GIFBS_HasAVX_In64BitMode,
687 GIFBS_HasAVX_NoBWI,
688 GIFBS_HasAVX_NoVLX,
689 GIFBS_HasAVX_NoVLX_Or_NoBWI,
690 GIFBS_HasAVX10_2_HasSM4,
691 GIFBS_HasAVX2_NoVLX,
692 GIFBS_HasAVX2_NoVLX_Or_NoBWI,
693 GIFBS_HasAVX512_HasVAES,
694 GIFBS_HasAVX512_HasVLX,
695 GIFBS_HasAVX512_NoBWI,
696 GIFBS_HasAVX512_NoDQI,
697 GIFBS_HasAVX512_NoEGPR,
698 GIFBS_HasAVX512_NoVLX,
699 GIFBS_HasAVX512_OptForSize,
700 GIFBS_HasBITALG_HasVLX,
701 GIFBS_HasBITALG_NoVLX,
702 GIFBS_HasBMI_HasEGPR,
703 GIFBS_HasBMI_NoEGPR,
704 GIFBS_HasBMI2_HasEGPR,
705 GIFBS_HasBMI2_NoEGPR,
706 GIFBS_HasBMM_HasVLX,
707 GIFBS_HasBMM_NoVLX,
708 GIFBS_HasBWI_HasDQI,
709 GIFBS_HasBWI_HasVLX,
710 GIFBS_HasBWI_NoEGPR,
711 GIFBS_HasBWI_NoVLX,
712 GIFBS_HasCDI_HasVLX,
713 GIFBS_HasCDI_NoVLX,
714 GIFBS_HasCRC32_NoEGPR,
715 GIFBS_HasDQI_HasVLX,
716 GIFBS_HasDQI_NoBWI,
717 GIFBS_HasDQI_NoEGPR,
718 GIFBS_HasDQI_NoVLX,
719 GIFBS_HasEGPR_HasINVPCID,
720 GIFBS_HasEGPR_In64BitMode,
721 GIFBS_HasFMA4_NoAVX512,
722 GIFBS_HasFMA4_NoVLX,
723 GIFBS_HasFP16_HasVLX,
724 GIFBS_HasFP16_In64BitMode,
725 GIFBS_HasFP16_OptForSize,
726 GIFBS_HasFSGSBase_In64BitMode,
727 GIFBS_HasFXSR_In64BitMode,
728 GIFBS_HasINVPCID_NoEGPR,
729 GIFBS_HasINVPCID_Not64BitMode,
730 GIFBS_HasMOVBE_NoEGPR,
731 GIFBS_HasMOVDIR64B_NoEGPR,
732 GIFBS_HasMOVDIRI_NoEGPR,
733 GIFBS_HasNDD_In64BitMode,
734 GIFBS_HasNDD_UseIncDec,
735 GIFBS_HasPREFETCHI_In64BitMode,
736 GIFBS_HasPTWRITE_In64BitMode,
737 GIFBS_HasRDPID_In64BitMode,
738 GIFBS_HasRDPID_Not64BitMode,
739 GIFBS_HasUINTR_In64BitMode,
740 GIFBS_HasUSERMSR_NoEGPR,
741 GIFBS_HasVAES_HasVLX,
742 GIFBS_HasVAES_NoVLX,
743 GIFBS_HasVBMI2_HasVLX,
744 GIFBS_HasVBMI2_NoVLX,
745 GIFBS_HasVLX_HasVPOPCNTDQ,
746 GIFBS_HasVPOPCNTDQ_NoVLX,
747 GIFBS_HasWAITPKG_In64BitMode,
748 GIFBS_HasWAITPKG_Not64BitMode,
749 GIFBS_HasXSAVE_In64BitMode,
750 GIFBS_HasXSAVEC_In64BitMode,
751 GIFBS_HasXSAVEOPT_In64BitMode,
752 GIFBS_HasXSAVES_In64BitMode,
753 GIFBS_In64BitMode_UseIncDec,
754 GIFBS_In64BitMode_UseSSE2,
755 GIFBS_NoNDD_UseIncDec,
756 GIFBS_Not64BitMode_OptForSize,
757 GIFBS_NotWin64WithoutFP_OptForMinSize,
758 GIFBS_OptForSize_UseAVX,
759 GIFBS_OptForSize_UseSSE1,
760 GIFBS_OptForSize_UseSSE2,
761 GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES,
762 GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode,
763 GIFBS_HasAMXTILE_HasEGPR_In64BitMode,
764 GIFBS_HasAMXTILE_In64BitMode_NoEGPR,
765 GIFBS_HasAVX10_2_HasMOVRS_In64BitMode,
766 GIFBS_HasAVX512_HasEGPR_In64BitMode,
767 GIFBS_HasBWI_HasEGPR_In64BitMode,
768 GIFBS_HasCRC32_HasEGPR_In64BitMode,
769 GIFBS_HasDQI_HasEGPR_In64BitMode,
770 GIFBS_HasDQI_HasVLX_NoBWI,
771 GIFBS_HasEGPR_HasMOVBE_In64BitMode,
772 GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode,
773 GIFBS_HasEGPR_HasMOVDIRI_In64BitMode,
774 GIFBS_HasEGPR_HasMOVRS_In64BitMode,
775 GIFBS_HasEGPR_HasUSERMSR_In64BitMode,
776 GIFBS_HasFMA_NoAVX512_NoFMA4,
777 GIFBS_HasFMA_NoFMA4_NoVLX,
778 GIFBS_HasMOVBE_HasNDD_In64BitMode,
779 GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR,
780 GIFBS_HasMOVDIRI_In64BitMode_NoEGPR,
781 GIFBS_HasMOVRS_In64BitMode_NoEGPR,
782};
783constexpr static PredicateBitset FeatureBitsets[] {
784 {}, // GIFBS_Invalid
785 {Feature_FPStackf32Bit, },
786 {Feature_FPStackf64Bit, },
787 {Feature_HasAVXBit, },
788 {Feature_HasAVX10_2Bit, },
789 {Feature_HasAVX1OnlyBit, },
790 {Feature_HasAVX2Bit, },
791 {Feature_HasAVX512Bit, },
792 {Feature_HasAVXNECONVERTBit, },
793 {Feature_HasBITALGBit, },
794 {Feature_HasBMIBit, },
795 {Feature_HasBMMBit, },
796 {Feature_HasBWIBit, },
797 {Feature_HasCDIBit, },
798 {Feature_HasCLDEMOTEBit, },
799 {Feature_HasCLFLUSHBit, },
800 {Feature_HasCLFLUSHOPTBit, },
801 {Feature_HasCLWBBit, },
802 {Feature_HasDQIBit, },
803 {Feature_HasFP16Bit, },
804 {Feature_HasFXSRBit, },
805 {Feature_HasFastSHLDRotateBit, },
806 {Feature_HasKLBit, },
807 {Feature_HasLWPBit, },
808 {Feature_HasLZCNTBit, },
809 {Feature_HasMFenceBit, },
810 {Feature_HasMMXBit, },
811 {Feature_HasMOVBEBit, },
812 {Feature_HasMOVRSBit, },
813 {Feature_HasMWAITXBit, },
814 {Feature_HasNDDBit, },
815 {Feature_HasPOPCNTBit, },
816 {Feature_HasPTWRITEBit, },
817 {Feature_HasPrefetchWBit, },
818 {Feature_HasRTMBit, },
819 {Feature_HasSERIALIZEBit, },
820 {Feature_HasSHABit, },
821 {Feature_HasSHA512Bit, },
822 {Feature_HasSM3Bit, },
823 {Feature_HasSM4Bit, },
824 {Feature_HasSSE1Bit, },
825 {Feature_HasSSE2Bit, },
826 {Feature_HasSSE3Bit, },
827 {Feature_HasSSE4ABit, },
828 {Feature_HasSSEPrefetchBit, },
829 {Feature_HasTBMBit, },
830 {Feature_HasTSXLDTRKBit, },
831 {Feature_HasVBMI2Bit, },
832 {Feature_HasVLXBit, },
833 {Feature_HasVPOPCNTDQBit, },
834 {Feature_HasWAITPKGBit, },
835 {Feature_HasWBNOINVDBit, },
836 {Feature_HasX87Bit, },
837 {Feature_HasXOPBit, },
838 {Feature_HasXSAVEBit, },
839 {Feature_HasXSAVECBit, },
840 {Feature_HasXSAVEOPTBit, },
841 {Feature_HasXSAVESBit, },
842 {Feature_HasZUBit, },
843 {Feature_In64BitModeBit, },
844 {Feature_IsPSBit, },
845 {Feature_NoAVXBit, },
846 {Feature_NoDQIBit, },
847 {Feature_NoEGPRBit, },
848 {Feature_NoNDDBit, },
849 {Feature_NoNDD_Or_NoMOVBEBit, },
850 {Feature_NoVLXBit, },
851 {Feature_Not64BitModeBit, },
852 {Feature_NotPSBit, },
853 {Feature_UseAVXBit, },
854 {Feature_UseIncDecBit, },
855 {Feature_UseSSE1Bit, },
856 {Feature_UseSSE2Bit, },
857 {Feature_UseSSE3Bit, },
858 {Feature_UseSSE41Bit, },
859 {Feature_UseSSSE3Bit, },
860 {Feature_HasAESBit, Feature_HasAVXBit, },
861 {Feature_HasAESBit, Feature_NoAVXBit, },
862 {Feature_HasAMXBF16Bit, Feature_In64BitModeBit, },
863 {Feature_HasAMXCOMPLEXBit, Feature_In64BitModeBit, },
864 {Feature_HasAMXFP16Bit, Feature_In64BitModeBit, },
865 {Feature_HasAMXFP8Bit, Feature_In64BitModeBit, },
866 {Feature_HasAMXINT8Bit, Feature_In64BitModeBit, },
867 {Feature_HasAMXTILEBit, Feature_In64BitModeBit, },
868 {Feature_HasAVXBit, Feature_In64BitModeBit, },
869 {Feature_HasAVXBit, Feature_NoBWIBit, },
870 {Feature_HasAVXBit, Feature_NoVLXBit, },
871 {Feature_HasAVXBit, Feature_NoVLX_Or_NoBWIBit, },
872 {Feature_HasAVX10_2Bit, Feature_HasSM4Bit, },
873 {Feature_HasAVX2Bit, Feature_NoVLXBit, },
874 {Feature_HasAVX2Bit, Feature_NoVLX_Or_NoBWIBit, },
875 {Feature_HasAVX512Bit, Feature_HasVAESBit, },
876 {Feature_HasAVX512Bit, Feature_HasVLXBit, },
877 {Feature_HasAVX512Bit, Feature_NoBWIBit, },
878 {Feature_HasAVX512Bit, Feature_NoDQIBit, },
879 {Feature_HasAVX512Bit, Feature_NoEGPRBit, },
880 {Feature_HasAVX512Bit, Feature_NoVLXBit, },
881 {Feature_HasAVX512Bit, Feature_OptForSizeBit, },
882 {Feature_HasBITALGBit, Feature_HasVLXBit, },
883 {Feature_HasBITALGBit, Feature_NoVLXBit, },
884 {Feature_HasBMIBit, Feature_HasEGPRBit, },
885 {Feature_HasBMIBit, Feature_NoEGPRBit, },
886 {Feature_HasBMI2Bit, Feature_HasEGPRBit, },
887 {Feature_HasBMI2Bit, Feature_NoEGPRBit, },
888 {Feature_HasBMMBit, Feature_HasVLXBit, },
889 {Feature_HasBMMBit, Feature_NoVLXBit, },
890 {Feature_HasBWIBit, Feature_HasDQIBit, },
891 {Feature_HasBWIBit, Feature_HasVLXBit, },
892 {Feature_HasBWIBit, Feature_NoEGPRBit, },
893 {Feature_HasBWIBit, Feature_NoVLXBit, },
894 {Feature_HasCDIBit, Feature_HasVLXBit, },
895 {Feature_HasCDIBit, Feature_NoVLXBit, },
896 {Feature_HasCRC32Bit, Feature_NoEGPRBit, },
897 {Feature_HasDQIBit, Feature_HasVLXBit, },
898 {Feature_HasDQIBit, Feature_NoBWIBit, },
899 {Feature_HasDQIBit, Feature_NoEGPRBit, },
900 {Feature_HasDQIBit, Feature_NoVLXBit, },
901 {Feature_HasEGPRBit, Feature_HasINVPCIDBit, },
902 {Feature_HasEGPRBit, Feature_In64BitModeBit, },
903 {Feature_HasFMA4Bit, Feature_NoAVX512Bit, },
904 {Feature_HasFMA4Bit, Feature_NoVLXBit, },
905 {Feature_HasFP16Bit, Feature_HasVLXBit, },
906 {Feature_HasFP16Bit, Feature_In64BitModeBit, },
907 {Feature_HasFP16Bit, Feature_OptForSizeBit, },
908 {Feature_HasFSGSBaseBit, Feature_In64BitModeBit, },
909 {Feature_HasFXSRBit, Feature_In64BitModeBit, },
910 {Feature_HasINVPCIDBit, Feature_NoEGPRBit, },
911 {Feature_HasINVPCIDBit, Feature_Not64BitModeBit, },
912 {Feature_HasMOVBEBit, Feature_NoEGPRBit, },
913 {Feature_HasMOVDIR64BBit, Feature_NoEGPRBit, },
914 {Feature_HasMOVDIRIBit, Feature_NoEGPRBit, },
915 {Feature_HasNDDBit, Feature_In64BitModeBit, },
916 {Feature_HasNDDBit, Feature_UseIncDecBit, },
917 {Feature_HasPREFETCHIBit, Feature_In64BitModeBit, },
918 {Feature_HasPTWRITEBit, Feature_In64BitModeBit, },
919 {Feature_HasRDPIDBit, Feature_In64BitModeBit, },
920 {Feature_HasRDPIDBit, Feature_Not64BitModeBit, },
921 {Feature_HasUINTRBit, Feature_In64BitModeBit, },
922 {Feature_HasUSERMSRBit, Feature_NoEGPRBit, },
923 {Feature_HasVAESBit, Feature_HasVLXBit, },
924 {Feature_HasVAESBit, Feature_NoVLXBit, },
925 {Feature_HasVBMI2Bit, Feature_HasVLXBit, },
926 {Feature_HasVBMI2Bit, Feature_NoVLXBit, },
927 {Feature_HasVLXBit, Feature_HasVPOPCNTDQBit, },
928 {Feature_HasVPOPCNTDQBit, Feature_NoVLXBit, },
929 {Feature_HasWAITPKGBit, Feature_In64BitModeBit, },
930 {Feature_HasWAITPKGBit, Feature_Not64BitModeBit, },
931 {Feature_HasXSAVEBit, Feature_In64BitModeBit, },
932 {Feature_HasXSAVECBit, Feature_In64BitModeBit, },
933 {Feature_HasXSAVEOPTBit, Feature_In64BitModeBit, },
934 {Feature_HasXSAVESBit, Feature_In64BitModeBit, },
935 {Feature_In64BitModeBit, Feature_UseIncDecBit, },
936 {Feature_In64BitModeBit, Feature_UseSSE2Bit, },
937 {Feature_NoNDDBit, Feature_UseIncDecBit, },
938 {Feature_Not64BitModeBit, Feature_OptForSizeBit, },
939 {Feature_NotWin64WithoutFPBit, Feature_OptForMinSizeBit, },
940 {Feature_OptForSizeBit, Feature_UseAVXBit, },
941 {Feature_OptForSizeBit, Feature_UseSSE1Bit, },
942 {Feature_OptForSizeBit, Feature_UseSSE2Bit, },
943 {Feature_HasAESBit, Feature_HasAVXBit, Feature_NoVLX_Or_NoVAESBit, },
944 {Feature_HasAMXAVX512Bit, Feature_HasAVX10_2Bit, Feature_In64BitModeBit, },
945 {Feature_HasAMXTILEBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
946 {Feature_HasAMXTILEBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
947 {Feature_HasAVX10_2Bit, Feature_HasMOVRSBit, Feature_In64BitModeBit, },
948 {Feature_HasAVX512Bit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
949 {Feature_HasBWIBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
950 {Feature_HasCRC32Bit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
951 {Feature_HasDQIBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
952 {Feature_HasDQIBit, Feature_HasVLXBit, Feature_NoBWIBit, },
953 {Feature_HasEGPRBit, Feature_HasMOVBEBit, Feature_In64BitModeBit, },
954 {Feature_HasEGPRBit, Feature_HasMOVDIR64BBit, Feature_In64BitModeBit, },
955 {Feature_HasEGPRBit, Feature_HasMOVDIRIBit, Feature_In64BitModeBit, },
956 {Feature_HasEGPRBit, Feature_HasMOVRSBit, Feature_In64BitModeBit, },
957 {Feature_HasEGPRBit, Feature_HasUSERMSRBit, Feature_In64BitModeBit, },
958 {Feature_HasFMABit, Feature_NoAVX512Bit, Feature_NoFMA4Bit, },
959 {Feature_HasFMABit, Feature_NoFMA4Bit, Feature_NoVLXBit, },
960 {Feature_HasMOVBEBit, Feature_HasNDDBit, Feature_In64BitModeBit, },
961 {Feature_HasMOVDIR64BBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
962 {Feature_HasMOVDIRIBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
963 {Feature_HasMOVRSBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
964};
965
966// ComplexPattern predicates.
967enum {
968 GICP_Invalid,
969 GICP_gi_addr,
970};
971// See constructor for table contents
972
973X86InstructionSelector::ComplexMatcherMemFn
974X86InstructionSelector::ComplexPredicateFns[] = {
975 nullptr, // GICP_Invalid
976 &X86InstructionSelector::selectAddr, // gi_addr
977};
978
979// PatFrag predicates.
980enum {
981 GICXXPred_MI_Predicate_anonymous_15759 = GICXXPred_Invalid + 1,
982 GICXXPred_MI_Predicate_anonymous_17779,
983 GICXXPred_MI_Predicate_anonymous_17818,
984 GICXXPred_MI_Predicate_anonymous_17830,
985 GICXXPred_MI_Predicate_fadd_contract,
986 GICXXPred_MI_Predicate_ffloor_nnan,
987 GICXXPred_MI_Predicate_fmul_contract,
988 GICXXPred_MI_Predicate_fsub_contract,
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_anonymous_15759: {
1003 return false;
1004 }
1005 case GICXXPred_MI_Predicate_anonymous_17779: {
1006 return false;
1007 }
1008 case GICXXPred_MI_Predicate_anonymous_17818: {
1009 return false;
1010 }
1011 case GICXXPred_MI_Predicate_anonymous_17830: {
1012 return false;
1013 }
1014 case GICXXPred_MI_Predicate_fadd_contract: {
1015
1016 return MI.getFlag(MachineInstr::FmContract);
1017
1018 }
1019 case GICXXPred_MI_Predicate_ffloor_nnan: {
1020
1021 return MI.getFlag(MachineInstr::FmNoNans);
1022
1023 }
1024 case GICXXPred_MI_Predicate_fmul_contract: {
1025
1026 return MI.getFlag(MachineInstr::FmContract);
1027
1028 }
1029 case GICXXPred_MI_Predicate_fsub_contract: {
1030
1031 return MI.getFlag(MachineInstr::FmContract);
1032
1033 }
1034 case GICXXPred_MI_Predicate_imm_su: {
1035 return true;
1036 }
1037 case GICXXPred_MI_Predicate_loadi8: {
1038 return isa<GLoad>(MI);
1039 }
1040 case GICXXPred_MI_Predicate_loadi16: {
1041
1042 auto &Load = cast<GLoad>(MI);
1043 LLT Ty = MRI.getType(Load.getDstReg());
1044 // Non extending load has MMO and destination types of the same size
1045 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1046 return true;
1047 return Load.getAlign() >= 2 && Load.isSimple();
1048
1049 llvm_unreachable("loadi16 should have returned");
1050 }
1051 case GICXXPred_MI_Predicate_loadi32: {
1052
1053 auto &Load = cast<GLoad>(MI);
1054 LLT Ty = MRI.getType(Load.getDstReg());
1055 // Non extending load has MMO and destination types of the same size
1056 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1057 return true;
1058 return Load.getAlign() >= 4 && Load.isSimple();
1059
1060 llvm_unreachable("loadi32 should have returned");
1061 }
1062 case GICXXPred_MI_Predicate_or_disjoint: {
1063
1064 return MI.getFlag(MachineInstr::Disjoint);
1065
1066 }
1067 }
1068 llvm_unreachable("Unknown predicate");
1069 return false;
1070}
1071// PatFrag predicates.
1072bool X86InstructionSelector::testMOPredicate_MO(unsigned PredicateID, const MachineOperand & MO, const MatcherState &State) const {
1073 const auto &Operands = State.RecordedOperands;
1074 Register Reg = MO.getReg();
1075 (void)Operands;
1076 (void)Reg;
1077 llvm_unreachable("Unknown predicate");
1078 return false;
1079}
1080// PatFrag predicates.
1081enum {
1082 GICXXPred_I64_Predicate_AndMask64 = GICXXPred_Invalid + 1,
1083 GICXXPred_I64_Predicate_BTCBTSMask64,
1084 GICXXPred_I64_Predicate_BTRMask64,
1085 GICXXPred_I64_Predicate_FPNoSaturation,
1086 GICXXPred_I64_Predicate_Float8E4M3FN,
1087 GICXXPred_I64_Predicate_Float8E5M2,
1088 GICXXPred_I64_Predicate_NearestTiesToEven,
1089 GICXXPred_I64_Predicate_i16immSExt8,
1090 GICXXPred_I64_Predicate_i32immSExt8,
1091 GICXXPred_I64_Predicate_i64immSExt8,
1092 GICXXPred_I64_Predicate_i64immSExt32,
1093 GICXXPred_I64_Predicate_i64immZExt32,
1094 GICXXPred_I64_Predicate_i64immZExt32SExt8,
1095 GICXXPred_I64_Predicate_i64timmSExt32,
1096 GICXXPred_I64_Predicate_immff00_ffff,
1097};
1098bool X86InstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
1099 switch (PredicateID) {
1100 case GICXXPred_I64_Predicate_AndMask64: {
1101
1102 return isMask_64(Imm) && !isUInt<32>(Imm);
1103
1104 }
1105 case GICXXPred_I64_Predicate_BTCBTSMask64: {
1106
1107 return !isInt<32>(Imm) && isPowerOf2_64(Imm);
1108
1109 }
1110 case GICXXPred_I64_Predicate_BTRMask64: {
1111
1112 return !isUInt<32>(Imm) && !isInt<32>(Imm) && isPowerOf2_64(~Imm);
1113
1114 }
1115 case GICXXPred_I64_Predicate_FPNoSaturation: {
1116 return Imm == 0;
1117 }
1118 case GICXXPred_I64_Predicate_Float8E4M3FN: {
1119 return Imm == APFloatBase::S_Float8E4M3FN;
1120 }
1121 case GICXXPred_I64_Predicate_Float8E5M2: {
1122 return Imm == APFloatBase::S_Float8E5M2;
1123 }
1124 case GICXXPred_I64_Predicate_NearestTiesToEven: {
1125 return Imm == static_cast<int>(RoundingMode::NearestTiesToEven);
1126 }
1127 case GICXXPred_I64_Predicate_i16immSExt8: {
1128 return isInt<8>(Imm);
1129 }
1130 case GICXXPred_I64_Predicate_i32immSExt8: {
1131 return isInt<8>(Imm);
1132 }
1133 case GICXXPred_I64_Predicate_i64immSExt8: {
1134 return isInt<8>(Imm);
1135 }
1136 case GICXXPred_I64_Predicate_i64immSExt32: {
1137 return isInt<32>(Imm);
1138 }
1139 case GICXXPred_I64_Predicate_i64immZExt32: {
1140 return isUInt<32>(Imm);
1141 }
1142 case GICXXPred_I64_Predicate_i64immZExt32SExt8: {
1143
1144 return isUInt<32>(Imm) && isInt<8>(static_cast<int32_t>(Imm));
1145
1146 }
1147 case GICXXPred_I64_Predicate_i64timmSExt32: {
1148 return isInt<32>(Imm);
1149 }
1150 case GICXXPred_I64_Predicate_immff00_ffff: {
1151
1152 return Imm >= 0xff00 && Imm <= 0xffff;
1153
1154 }
1155 }
1156 llvm_unreachable("Unknown predicate");
1157 return false;
1158}
1159// PatFrag predicates.
1160enum {
1161 GICXXPred_APFloat_Predicate_fpimm0 = GICXXPred_Invalid + 1,
1162 GICXXPred_APFloat_Predicate_fpimm1,
1163 GICXXPred_APFloat_Predicate_fpimmneg0,
1164 GICXXPred_APFloat_Predicate_fpimmneg1,
1165};
1166bool X86InstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
1167 switch (PredicateID) {
1168 case GICXXPred_APFloat_Predicate_fpimm0: {
1169
1170 return Imm.isPosZero();
1171
1172 }
1173 case GICXXPred_APFloat_Predicate_fpimm1: {
1174
1175 return Imm.isOne();
1176
1177 }
1178 case GICXXPred_APFloat_Predicate_fpimmneg0: {
1179
1180 return Imm.isNegZero();
1181
1182 }
1183 case GICXXPred_APFloat_Predicate_fpimmneg1: {
1184
1185 return Imm.isMinusOne();
1186
1187 }
1188 }
1189 llvm_unreachable("Unknown predicate");
1190 return false;
1191}
1192// PatFrag predicates.
1193bool X86InstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
1194 llvm_unreachable("Unknown predicate");
1195 return false;
1196}
1197bool X86InstructionSelector::testSimplePredicate(unsigned) const {
1198 llvm_unreachable("X86InstructionSelector does not support simple predicates!");
1199 return false;
1200}
1201// Custom renderers.
1202enum {
1203 GICR_Invalid,
1204 GICR_renderFrameIndex,
1205};
1206X86InstructionSelector::CustomRendererFn
1207X86InstructionSelector::CustomRenderers[] = {
1208 nullptr, // GICR_Invalid
1209 &X86InstructionSelector::renderFrameIndex,
1210};
1211
1212bool X86InstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const {
1213 const PredicateBitset AvailableFeatures = getAvailableFeatures();
1214 MachineIRBuilder B(I);
1215 State.MIs.clear();
1216 State.MIs.push_back(&I);
1217
1218 if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), TII, MF->getRegInfo(), TRI, RBI, AvailableFeatures, &CoverageInfo)) {
1219 return true;
1220 }
1221
1222 return false;
1223}
1224
1225bool X86InstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
1226 llvm_unreachable("X86InstructionSelector does not support custom C++ actions!");
1227}
1228#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
1229#define GIMT_Encode2(Val) uint8_t(Val), uint8_t((Val) >> 8)
1230#define GIMT_Encode4(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24)
1231#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)
1232#else
1233#define GIMT_Encode2(Val) uint8_t((Val) >> 8), uint8_t(Val)
1234#define GIMT_Encode4(Val) uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
1235#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)
1236#endif
1237const uint8_t *X86InstructionSelector::getMatchTable() const {
1238 constexpr static uint8_t MatchTable0[] = {
1239 /* 0 */ GIM_SwitchOpcode, /*MI*/0, /*[*/GIMT_Encode2(55), GIMT_Encode2(366), /*)*//*default:*//*Label 87*/ GIMT_Encode4(233837),
1240 /* 10 */ /*TargetOpcode::G_ADD*//*Label 0*/ GIMT_Encode4(1254),
1241 /* 14 */ /*TargetOpcode::G_SUB*//*Label 1*/ GIMT_Encode4(6436),
1242 /* 18 */ /*TargetOpcode::G_MUL*//*Label 2*/ GIMT_Encode4(9572), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1243 /* 46 */ /*TargetOpcode::G_AND*//*Label 3*/ GIMT_Encode4(12924),
1244 /* 50 */ /*TargetOpcode::G_OR*//*Label 4*/ GIMT_Encode4(22521),
1245 /* 54 */ /*TargetOpcode::G_XOR*//*Label 5*/ GIMT_Encode4(30662), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1246 /* 70 */ /*TargetOpcode::G_UAVGCEIL*//*Label 6*/ GIMT_Encode4(42725), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1247 /* 130 */ /*TargetOpcode::G_CONCAT_VECTORS*//*Label 7*/ GIMT_Encode4(44347), GIMT_Encode4(0), GIMT_Encode4(0),
1248 /* 142 */ /*TargetOpcode::G_BITCAST*//*Label 8*/ GIMT_Encode4(44491), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1249 /* 166 */ /*TargetOpcode::G_INTRINSIC_LRINT*//*Label 9*/ GIMT_Encode4(47098),
1250 /* 170 */ /*TargetOpcode::G_INTRINSIC_LLRINT*//*Label 10*/ GIMT_Encode4(50256), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1251 /* 186 */ /*TargetOpcode::G_LOAD*//*Label 11*/ GIMT_Encode4(51511),
1252 /* 190 */ /*TargetOpcode::G_SEXTLOAD*//*Label 12*/ GIMT_Encode4(57415),
1253 /* 194 */ /*TargetOpcode::G_ZEXTLOAD*//*Label 13*/ GIMT_Encode4(57747),
1254 /* 198 */ /*TargetOpcode::G_FPEXTLOAD*//*Label 14*/ GIMT_Encode4(58390), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1255 /* 214 */ /*TargetOpcode::G_STORE*//*Label 15*/ GIMT_Encode4(58573),
1256 /* 218 */ /*TargetOpcode::G_FPTRUNCSTORE*//*Label 16*/ GIMT_Encode4(83848), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1257 /* 234 */ /*TargetOpcode::G_ATOMICRMW_XCHG*//*Label 17*/ GIMT_Encode4(84031),
1258 /* 238 */ /*TargetOpcode::G_ATOMICRMW_ADD*//*Label 18*/ GIMT_Encode4(84267), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1259 /* 330 */ /*TargetOpcode::G_PREFETCH*//*Label 19*/ GIMT_Encode4(84515), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1260 /* 346 */ /*TargetOpcode::G_INTRINSIC*//*Label 20*/ GIMT_Encode4(84898),
1261 /* 350 */ /*TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS*//*Label 21*/ GIMT_Encode4(97180), GIMT_Encode4(0), GIMT_Encode4(0),
1262 /* 362 */ /*TargetOpcode::G_ANYEXT*//*Label 22*/ GIMT_Encode4(105598),
1263 /* 366 */ /*TargetOpcode::G_TRUNC*//*Label 23*/ GIMT_Encode4(106055), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1264 /* 382 */ /*TargetOpcode::G_CONSTANT*//*Label 24*/ GIMT_Encode4(107171),
1265 /* 386 */ /*TargetOpcode::G_FCONSTANT*//*Label 25*/ GIMT_Encode4(107766), GIMT_Encode4(0), GIMT_Encode4(0),
1266 /* 398 */ /*TargetOpcode::G_SEXT*//*Label 26*/ GIMT_Encode4(108209),
1267 /* 402 */ /*TargetOpcode::G_SEXT_INREG*//*Label 27*/ GIMT_Encode4(110074),
1268 /* 406 */ /*TargetOpcode::G_ZEXT*//*Label 28*/ GIMT_Encode4(110316),
1269 /* 410 */ /*TargetOpcode::G_SHL*//*Label 29*/ GIMT_Encode4(112317),
1270 /* 414 */ /*TargetOpcode::G_LSHR*//*Label 30*/ GIMT_Encode4(113949),
1271 /* 418 */ /*TargetOpcode::G_ASHR*//*Label 31*/ GIMT_Encode4(115373),
1272 /* 422 */ /*TargetOpcode::G_FSHL*//*Label 32*/ GIMT_Encode4(116797),
1273 /* 426 */ /*TargetOpcode::G_FSHR*//*Label 33*/ GIMT_Encode4(119478),
1274 /* 430 */ /*TargetOpcode::G_ROTR*//*Label 34*/ GIMT_Encode4(122213),
1275 /* 434 */ /*TargetOpcode::G_ROTL*//*Label 35*/ GIMT_Encode4(125362),
1276 /* 438 */ /*TargetOpcode::G_ICMP*//*Label 36*/ GIMT_Encode4(128738), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1277 /* 454 */ /*TargetOpcode::G_SELECT*//*Label 37*/ GIMT_Encode4(130376), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 498 */ /*TargetOpcode::G_UMULH*//*Label 38*/ GIMT_Encode4(137754),
1279 /* 502 */ /*TargetOpcode::G_SMULH*//*Label 39*/ GIMT_Encode4(138571),
1280 /* 506 */ /*TargetOpcode::G_UADDSAT*//*Label 40*/ GIMT_Encode4(139388),
1281 /* 510 */ /*TargetOpcode::G_SADDSAT*//*Label 41*/ GIMT_Encode4(141010),
1282 /* 514 */ /*TargetOpcode::G_USUBSAT*//*Label 42*/ GIMT_Encode4(142632),
1283 /* 518 */ /*TargetOpcode::G_SSUBSAT*//*Label 43*/ GIMT_Encode4(143640), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 562 */ /*TargetOpcode::G_FADD*//*Label 44*/ GIMT_Encode4(144648),
1285 /* 566 */ /*TargetOpcode::G_FSUB*//*Label 45*/ GIMT_Encode4(150371),
1286 /* 570 */ /*TargetOpcode::G_FMUL*//*Label 46*/ GIMT_Encode4(154388),
1287 /* 574 */ /*TargetOpcode::G_FMA*//*Label 47*/ GIMT_Encode4(160111), GIMT_Encode4(0),
1288 /* 582 */ /*TargetOpcode::G_FDIV*//*Label 48*/ GIMT_Encode4(165891), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1289 /* 634 */ /*TargetOpcode::G_FNEG*//*Label 49*/ GIMT_Encode4(169908),
1290 /* 638 */ /*TargetOpcode::G_FPEXT*//*Label 50*/ GIMT_Encode4(170028),
1291 /* 642 */ /*TargetOpcode::G_FPTRUNC*//*Label 51*/ GIMT_Encode4(171001),
1292 /* 646 */ /*TargetOpcode::G_FPTOSI*//*Label 52*/ GIMT_Encode4(171398),
1293 /* 650 */ /*TargetOpcode::G_FPTOUI*//*Label 53*/ GIMT_Encode4(172709),
1294 /* 654 */ /*TargetOpcode::G_SITOFP*//*Label 54*/ GIMT_Encode4(173281),
1295 /* 658 */ /*TargetOpcode::G_UITOFP*//*Label 55*/ GIMT_Encode4(176719),
1296 /* 662 */ /*TargetOpcode::G_FPTOSI_SAT*//*Label 56*/ GIMT_Encode4(179132),
1297 /* 666 */ /*TargetOpcode::G_FPTOUI_SAT*//*Label 57*/ GIMT_Encode4(180012),
1298 /* 670 */ /*TargetOpcode::G_FABS*//*Label 58*/ GIMT_Encode4(180892), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1299 /* 758 */ /*TargetOpcode::G_SMIN*//*Label 59*/ GIMT_Encode4(181012),
1300 /* 762 */ /*TargetOpcode::G_SMAX*//*Label 60*/ GIMT_Encode4(184244),
1301 /* 766 */ /*TargetOpcode::G_UMIN*//*Label 61*/ GIMT_Encode4(187476),
1302 /* 770 */ /*TargetOpcode::G_UMAX*//*Label 62*/ GIMT_Encode4(190708),
1303 /* 774 */ /*TargetOpcode::G_ABS*//*Label 63*/ GIMT_Encode4(193940), GIMT_Encode4(0), GIMT_Encode4(0),
1304 /* 786 */ /*TargetOpcode::G_BR*//*Label 64*/ GIMT_Encode4(195758), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1305 /* 802 */ /*TargetOpcode::G_EXTRACT_SUBVECTOR*//*Label 65*/ GIMT_Encode4(195774), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1306 /* 826 */ /*TargetOpcode::G_VECTOR_COMPRESS*//*Label 66*/ GIMT_Encode4(198636),
1307 /* 830 */ /*TargetOpcode::G_CTTZ*//*Label 67*/ GIMT_Encode4(200556),
1308 /* 834 */ /*TargetOpcode::G_CTTZ_ZERO_POISON*//*Label 68*/ GIMT_Encode4(200856),
1309 /* 838 */ /*TargetOpcode::G_CTLZ*//*Label 69*/ GIMT_Encode4(201243), GIMT_Encode4(0), GIMT_Encode4(0),
1310 /* 850 */ /*TargetOpcode::G_CTPOP*//*Label 70*/ GIMT_Encode4(202553),
1311 /* 854 */ /*TargetOpcode::G_BSWAP*//*Label 71*/ GIMT_Encode4(204793),
1312 /* 858 */ /*TargetOpcode::G_BITREVERSE*//*Label 72*/ GIMT_Encode4(205287), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1313 /* 918 */ /*TargetOpcode::G_FSQRT*//*Label 73*/ GIMT_Encode4(205776), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1314 /* 958 */ /*TargetOpcode::G_STRICT_FADD*//*Label 74*/ GIMT_Encode4(207904),
1315 /* 962 */ /*TargetOpcode::G_STRICT_FSUB*//*Label 75*/ GIMT_Encode4(212663),
1316 /* 966 */ /*TargetOpcode::G_STRICT_FMUL*//*Label 76*/ GIMT_Encode4(216198),
1317 /* 970 */ /*TargetOpcode::G_STRICT_FDIV*//*Label 77*/ GIMT_Encode4(220957), GIMT_Encode4(0),
1318 /* 978 */ /*TargetOpcode::G_STRICT_FMA*//*Label 78*/ GIMT_Encode4(224492),
1319 /* 982 */ /*TargetOpcode::G_STRICT_FSQRT*//*Label 79*/ GIMT_Encode4(230272), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1320 /* 1030 */ /*TargetOpcode::G_TRAP*//*Label 80*/ GIMT_Encode4(232400),
1321 /* 1034 */ /*TargetOpcode::G_DEBUGTRAP*//*Label 81*/ GIMT_Encode4(232413),
1322 /* 1038 */ /*TargetOpcode::G_UBSANTRAP*//*Label 82*/ GIMT_Encode4(232447), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1323 /* 1238 */ /*X86::G_FILD*//*Label 83*/ GIMT_Encode4(232463),
1324 /* 1242 */ /*X86::G_FIST*//*Label 84*/ GIMT_Encode4(232913),
1325 /* 1246 */ /*X86::G_FLDCW16*//*Label 85*/ GIMT_Encode4(233768),
1326 /* 1250 */ /*X86::G_FNSTCW16*//*Label 86*/ GIMT_Encode4(233804),
1327 /* 1254 */ // Label 0: @1254
1328 /* 1254 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 104*/ GIMT_Encode4(6435),
1329 /* 1265 */ /*GILLT_s8*//*Label 88*/ GIMT_Encode4(1361),
1330 /* 1269 */ /*GILLT_s16*//*Label 89*/ GIMT_Encode4(1710),
1331 /* 1273 */ /*GILLT_s32*//*Label 90*/ GIMT_Encode4(2120),
1332 /* 1277 */ /*GILLT_s64*//*Label 91*/ GIMT_Encode4(2530), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1333 /* 1313 */ /*GILLT_v16s8*//*Label 92*/ GIMT_Encode4(3023),
1334 /* 1317 */ /*GILLT_v32s8*//*Label 93*/ GIMT_Encode4(3352),
1335 /* 1321 */ /*GILLT_v64s8*//*Label 94*/ GIMT_Encode4(3661),
1336 /* 1325 */ /*GILLT_v8s16*//*Label 95*/ GIMT_Encode4(3816),
1337 /* 1329 */ /*GILLT_v16s16*//*Label 96*/ GIMT_Encode4(4265),
1338 /* 1333 */ /*GILLT_v32s16*//*Label 97*/ GIMT_Encode4(4574),
1339 /* 1337 */ /*GILLT_v4s32*//*Label 98*/ GIMT_Encode4(4729),
1340 /* 1341 */ /*GILLT_v8s32*//*Label 99*/ GIMT_Encode4(5178),
1341 /* 1345 */ /*GILLT_v16s32*//*Label 100*/ GIMT_Encode4(5487),
1342 /* 1349 */ /*GILLT_v2s64*//*Label 101*/ GIMT_Encode4(5642),
1343 /* 1353 */ /*GILLT_v4s64*//*Label 102*/ GIMT_Encode4(5971),
1344 /* 1357 */ /*GILLT_v8s64*//*Label 103*/ GIMT_Encode4(6280),
1345 /* 1361 */ // Label 88: @1361
1346 /* 1361 */ GIM_Try, /*On fail goto*//*Label 105*/ GIMT_Encode4(1709),
1347 /* 1366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
1348 /* 1369 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
1349 /* 1372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1350 /* 1376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 106*/ GIMT_Encode4(1436), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26318 //
1351 /* 1383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1352 /* 1387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1353 /* 1391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1354 /* 1394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1355 /* 1398 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1356 /* 1402 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1357 /* 1406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1358 /* 1408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1359 /* 1415 */ // (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)
1360 /* 1415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1361 /* 1418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1362 /* 1420 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1363 /* 1422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1364 /* 1426 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1365 /* 1429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1366 /* 1434 */ GIR_RootConstrainSelectedInstOperands,
1367 /* 1435 */ // GIR_Coverage, 26318,
1368 /* 1435 */ GIR_EraseRootFromParent_Done,
1369 /* 1436 */ // Label 106: @1436
1370 /* 1436 */ GIM_Try, /*On fail goto*//*Label 107*/ GIMT_Encode4(1708),
1371 /* 1441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1372 /* 1445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 108*/ GIMT_Encode4(1501), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23049 //
1373 /* 1452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1374 /* 1456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1375 /* 1460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1376 /* 1463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1377 /* 1467 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1378 /* 1471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1379 /* 1473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1380 /* 1480 */ // (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)
1381 /* 1480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1382 /* 1483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1383 /* 1485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1384 /* 1487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1385 /* 1491 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1386 /* 1494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1387 /* 1499 */ GIR_RootConstrainSelectedInstOperands,
1388 /* 1500 */ // GIR_Coverage, 23049,
1389 /* 1500 */ GIR_EraseRootFromParent_Done,
1390 /* 1501 */ // Label 108: @1501
1391 /* 1501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 109*/ GIMT_Encode4(1524), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23115 //
1392 /* 1508 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1393 /* 1512 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1394 /* 1512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r),
1395 /* 1515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1396 /* 1517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1397 /* 1519 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1398 /* 1522 */ GIR_RootConstrainSelectedInstOperands,
1399 /* 1523 */ // GIR_Coverage, 23115,
1400 /* 1523 */ GIR_EraseRootFromParent_Done,
1401 /* 1524 */ // Label 109: @1524
1402 /* 1524 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 110*/ GIMT_Encode4(1547), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23123 //
1403 /* 1531 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1404 /* 1535 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1405 /* 1535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r),
1406 /* 1538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1407 /* 1540 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1408 /* 1542 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1409 /* 1545 */ GIR_RootConstrainSelectedInstOperands,
1410 /* 1546 */ // GIR_Coverage, 23123,
1411 /* 1546 */ GIR_EraseRootFromParent_Done,
1412 /* 1547 */ // Label 110: @1547
1413 /* 1547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 111*/ GIMT_Encode4(1570), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23205 //
1414 /* 1554 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1415 /* 1558 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1416 /* 1558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r_ND),
1417 /* 1561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1418 /* 1563 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1419 /* 1565 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1420 /* 1568 */ GIR_RootConstrainSelectedInstOperands,
1421 /* 1569 */ // GIR_Coverage, 23205,
1422 /* 1569 */ GIR_EraseRootFromParent_Done,
1423 /* 1570 */ // Label 111: @1570
1424 /* 1570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 112*/ GIMT_Encode4(1593), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23213 //
1425 /* 1577 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1426 /* 1581 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1427 /* 1581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r_ND),
1428 /* 1584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1429 /* 1586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1430 /* 1588 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1431 /* 1591 */ GIR_RootConstrainSelectedInstOperands,
1432 /* 1592 */ // GIR_Coverage, 23213,
1433 /* 1592 */ GIR_EraseRootFromParent_Done,
1434 /* 1593 */ // Label 112: @1593
1435 /* 1593 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 113*/ GIMT_Encode4(1625), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23053 //
1436 /* 1600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1437 /* 1604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1438 /* 1608 */ // MIs[1] Operand 1
1439 /* 1608 */ // No operand predicates
1440 /* 1608 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1441 /* 1610 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1442 /* 1610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
1443 /* 1613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1444 /* 1615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1445 /* 1617 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1446 /* 1620 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1447 /* 1623 */ GIR_RootConstrainSelectedInstOperands,
1448 /* 1624 */ // GIR_Coverage, 23053,
1449 /* 1624 */ GIR_EraseRootFromParent_Done,
1450 /* 1625 */ // Label 113: @1625
1451 /* 1625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 114*/ GIMT_Encode4(1657), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23143 //
1452 /* 1632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1453 /* 1636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1454 /* 1640 */ // MIs[1] Operand 1
1455 /* 1640 */ // No operand predicates
1456 /* 1640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1457 /* 1642 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1458 /* 1642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri_ND),
1459 /* 1645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1460 /* 1647 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1461 /* 1649 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1462 /* 1652 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1463 /* 1655 */ GIR_RootConstrainSelectedInstOperands,
1464 /* 1656 */ // GIR_Coverage, 23143,
1465 /* 1656 */ GIR_EraseRootFromParent_Done,
1466 /* 1657 */ // Label 114: @1657
1467 /* 1657 */ GIM_Try, /*On fail goto*//*Label 115*/ GIMT_Encode4(1707),
1468 /* 1662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1469 /* 1666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 116*/ GIMT_Encode4(1686), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23045 //
1470 /* 1673 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1471 /* 1673 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
1472 /* 1678 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1473 /* 1684 */ GIR_RootConstrainSelectedInstOperands,
1474 /* 1685 */ // GIR_Coverage, 23045,
1475 /* 1685 */ GIR_Done,
1476 /* 1686 */ // Label 116: @1686
1477 /* 1686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 117*/ GIMT_Encode4(1706), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23135 //
1478 /* 1693 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1479 /* 1693 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
1480 /* 1698 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1481 /* 1704 */ GIR_RootConstrainSelectedInstOperands,
1482 /* 1705 */ // GIR_Coverage, 23135,
1483 /* 1705 */ GIR_Done,
1484 /* 1706 */ // Label 117: @1706
1485 /* 1706 */ GIM_Reject,
1486 /* 1707 */ // Label 115: @1707
1487 /* 1707 */ GIM_Reject,
1488 /* 1708 */ // Label 107: @1708
1489 /* 1708 */ GIM_Reject,
1490 /* 1709 */ // Label 105: @1709
1491 /* 1709 */ GIM_Reject,
1492 /* 1710 */ // Label 89: @1710
1493 /* 1710 */ GIM_Try, /*On fail goto*//*Label 118*/ GIMT_Encode4(2119),
1494 /* 1715 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
1495 /* 1718 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
1496 /* 1721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1497 /* 1725 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 119*/ GIMT_Encode4(1785), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26319 //
1498 /* 1732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1499 /* 1736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1500 /* 1740 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1501 /* 1743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1502 /* 1747 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1503 /* 1751 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1504 /* 1755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1505 /* 1757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1506 /* 1764 */ // (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)
1507 /* 1764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1508 /* 1767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1509 /* 1769 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1510 /* 1771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1511 /* 1775 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1512 /* 1778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1513 /* 1783 */ GIR_RootConstrainSelectedInstOperands,
1514 /* 1784 */ // GIR_Coverage, 26319,
1515 /* 1784 */ GIR_EraseRootFromParent_Done,
1516 /* 1785 */ // Label 119: @1785
1517 /* 1785 */ GIM_Try, /*On fail goto*//*Label 120*/ GIMT_Encode4(2118),
1518 /* 1790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1519 /* 1794 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 121*/ GIMT_Encode4(1850), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23050 //
1520 /* 1801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1521 /* 1805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1522 /* 1809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1523 /* 1812 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1524 /* 1816 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1525 /* 1820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1526 /* 1822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1527 /* 1829 */ // (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)
1528 /* 1829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1529 /* 1832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1530 /* 1834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1531 /* 1836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1532 /* 1840 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1533 /* 1843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1534 /* 1848 */ GIR_RootConstrainSelectedInstOperands,
1535 /* 1849 */ // GIR_Coverage, 23050,
1536 /* 1849 */ GIR_EraseRootFromParent_Done,
1537 /* 1850 */ // Label 121: @1850
1538 /* 1850 */ GIM_Try, /*On fail goto*//*Label 122*/ GIMT_Encode4(1911),
1539 /* 1855 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1540 /* 1866 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 123*/ GIMT_Encode4(1888), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22845 //
1541 /* 1873 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1542 /* 1873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
1543 /* 1876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1544 /* 1878 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1545 /* 1880 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1546 /* 1883 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1547 /* 1886 */ GIR_RootConstrainSelectedInstOperands,
1548 /* 1887 */ // GIR_Coverage, 22845,
1549 /* 1887 */ GIR_EraseRootFromParent_Done,
1550 /* 1888 */ // Label 123: @1888
1551 /* 1888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 124*/ GIMT_Encode4(1910), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22851 //
1552 /* 1895 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1553 /* 1895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
1554 /* 1898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1555 /* 1900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1556 /* 1902 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1557 /* 1905 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1558 /* 1908 */ GIR_RootConstrainSelectedInstOperands,
1559 /* 1909 */ // GIR_Coverage, 22851,
1560 /* 1909 */ GIR_EraseRootFromParent_Done,
1561 /* 1910 */ // Label 124: @1910
1562 /* 1910 */ GIM_Reject,
1563 /* 1911 */ // Label 122: @1911
1564 /* 1911 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 125*/ GIMT_Encode4(1934), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23117 //
1565 /* 1918 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1566 /* 1922 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1567 /* 1922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r),
1568 /* 1925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1569 /* 1927 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1570 /* 1929 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1571 /* 1932 */ GIR_RootConstrainSelectedInstOperands,
1572 /* 1933 */ // GIR_Coverage, 23117,
1573 /* 1933 */ GIR_EraseRootFromParent_Done,
1574 /* 1934 */ // Label 125: @1934
1575 /* 1934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 126*/ GIMT_Encode4(1957), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23124 //
1576 /* 1941 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1577 /* 1945 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1578 /* 1945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r),
1579 /* 1948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1580 /* 1950 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1581 /* 1952 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1582 /* 1955 */ GIR_RootConstrainSelectedInstOperands,
1583 /* 1956 */ // GIR_Coverage, 23124,
1584 /* 1956 */ GIR_EraseRootFromParent_Done,
1585 /* 1957 */ // Label 126: @1957
1586 /* 1957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 127*/ GIMT_Encode4(1980), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23207 //
1587 /* 1964 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1588 /* 1968 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1589 /* 1968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r_ND),
1590 /* 1971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1591 /* 1973 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1592 /* 1975 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1593 /* 1978 */ GIR_RootConstrainSelectedInstOperands,
1594 /* 1979 */ // GIR_Coverage, 23207,
1595 /* 1979 */ GIR_EraseRootFromParent_Done,
1596 /* 1980 */ // Label 127: @1980
1597 /* 1980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 128*/ GIMT_Encode4(2003), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23214 //
1598 /* 1987 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1599 /* 1991 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1600 /* 1991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r_ND),
1601 /* 1994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1602 /* 1996 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1603 /* 1998 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1604 /* 2001 */ GIR_RootConstrainSelectedInstOperands,
1605 /* 2002 */ // GIR_Coverage, 23214,
1606 /* 2002 */ GIR_EraseRootFromParent_Done,
1607 /* 2003 */ // Label 128: @2003
1608 /* 2003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 129*/ GIMT_Encode4(2035), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23054 //
1609 /* 2010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1610 /* 2014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1611 /* 2018 */ // MIs[1] Operand 1
1612 /* 2018 */ // No operand predicates
1613 /* 2018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1614 /* 2020 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1615 /* 2020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
1616 /* 2023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1617 /* 2025 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1618 /* 2027 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1619 /* 2030 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1620 /* 2033 */ GIR_RootConstrainSelectedInstOperands,
1621 /* 2034 */ // GIR_Coverage, 23054,
1622 /* 2034 */ GIR_EraseRootFromParent_Done,
1623 /* 2035 */ // Label 129: @2035
1624 /* 2035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 130*/ GIMT_Encode4(2067), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23144 //
1625 /* 2042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1626 /* 2046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1627 /* 2050 */ // MIs[1] Operand 1
1628 /* 2050 */ // No operand predicates
1629 /* 2050 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1630 /* 2052 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1631 /* 2052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri_ND),
1632 /* 2055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1633 /* 2057 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1634 /* 2059 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1635 /* 2062 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1636 /* 2065 */ GIR_RootConstrainSelectedInstOperands,
1637 /* 2066 */ // GIR_Coverage, 23144,
1638 /* 2066 */ GIR_EraseRootFromParent_Done,
1639 /* 2067 */ // Label 130: @2067
1640 /* 2067 */ GIM_Try, /*On fail goto*//*Label 131*/ GIMT_Encode4(2117),
1641 /* 2072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1642 /* 2076 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 132*/ GIMT_Encode4(2096), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23046 //
1643 /* 2083 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1644 /* 2083 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
1645 /* 2088 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1646 /* 2094 */ GIR_RootConstrainSelectedInstOperands,
1647 /* 2095 */ // GIR_Coverage, 23046,
1648 /* 2095 */ GIR_Done,
1649 /* 2096 */ // Label 132: @2096
1650 /* 2096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 133*/ GIMT_Encode4(2116), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23136 //
1651 /* 2103 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1652 /* 2103 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
1653 /* 2108 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1654 /* 2114 */ GIR_RootConstrainSelectedInstOperands,
1655 /* 2115 */ // GIR_Coverage, 23136,
1656 /* 2115 */ GIR_Done,
1657 /* 2116 */ // Label 133: @2116
1658 /* 2116 */ GIM_Reject,
1659 /* 2117 */ // Label 131: @2117
1660 /* 2117 */ GIM_Reject,
1661 /* 2118 */ // Label 120: @2118
1662 /* 2118 */ GIM_Reject,
1663 /* 2119 */ // Label 118: @2119
1664 /* 2119 */ GIM_Reject,
1665 /* 2120 */ // Label 90: @2120
1666 /* 2120 */ GIM_Try, /*On fail goto*//*Label 134*/ GIMT_Encode4(2529),
1667 /* 2125 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1668 /* 2128 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1669 /* 2131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1670 /* 2135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 135*/ GIMT_Encode4(2195), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26320 //
1671 /* 2142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1672 /* 2146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1673 /* 2150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1674 /* 2153 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1675 /* 2157 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1676 /* 2161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1677 /* 2165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1678 /* 2167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1679 /* 2174 */ // (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)
1680 /* 2174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1681 /* 2177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1682 /* 2179 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1683 /* 2181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1684 /* 2185 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1685 /* 2188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1686 /* 2193 */ GIR_RootConstrainSelectedInstOperands,
1687 /* 2194 */ // GIR_Coverage, 26320,
1688 /* 2194 */ GIR_EraseRootFromParent_Done,
1689 /* 2195 */ // Label 135: @2195
1690 /* 2195 */ GIM_Try, /*On fail goto*//*Label 136*/ GIMT_Encode4(2528),
1691 /* 2200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1692 /* 2204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 137*/ GIMT_Encode4(2260), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23051 //
1693 /* 2211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1694 /* 2215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1695 /* 2219 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1696 /* 2222 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1697 /* 2226 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1698 /* 2230 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1699 /* 2232 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1700 /* 2239 */ // (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)
1701 /* 2239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1702 /* 2242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1703 /* 2244 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1704 /* 2246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1705 /* 2250 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1706 /* 2253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1707 /* 2258 */ GIR_RootConstrainSelectedInstOperands,
1708 /* 2259 */ // GIR_Coverage, 23051,
1709 /* 2259 */ GIR_EraseRootFromParent_Done,
1710 /* 2260 */ // Label 137: @2260
1711 /* 2260 */ GIM_Try, /*On fail goto*//*Label 138*/ GIMT_Encode4(2321),
1712 /* 2265 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1713 /* 2276 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 139*/ GIMT_Encode4(2298), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22846 //
1714 /* 2283 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1715 /* 2283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
1716 /* 2286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1717 /* 2288 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1718 /* 2290 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1719 /* 2293 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1720 /* 2296 */ GIR_RootConstrainSelectedInstOperands,
1721 /* 2297 */ // GIR_Coverage, 22846,
1722 /* 2297 */ GIR_EraseRootFromParent_Done,
1723 /* 2298 */ // Label 139: @2298
1724 /* 2298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 140*/ GIMT_Encode4(2320), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22852 //
1725 /* 2305 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1726 /* 2305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
1727 /* 2308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1728 /* 2310 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1729 /* 2312 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1730 /* 2315 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1731 /* 2318 */ GIR_RootConstrainSelectedInstOperands,
1732 /* 2319 */ // GIR_Coverage, 22852,
1733 /* 2319 */ GIR_EraseRootFromParent_Done,
1734 /* 2320 */ // Label 140: @2320
1735 /* 2320 */ GIM_Reject,
1736 /* 2321 */ // Label 138: @2321
1737 /* 2321 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 141*/ GIMT_Encode4(2344), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23119 //
1738 /* 2328 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1739 /* 2332 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1740 /* 2332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r),
1741 /* 2335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1742 /* 2337 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1743 /* 2339 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1744 /* 2342 */ GIR_RootConstrainSelectedInstOperands,
1745 /* 2343 */ // GIR_Coverage, 23119,
1746 /* 2343 */ GIR_EraseRootFromParent_Done,
1747 /* 2344 */ // Label 141: @2344
1748 /* 2344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 142*/ GIMT_Encode4(2367), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23125 //
1749 /* 2351 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1750 /* 2355 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1751 /* 2355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r),
1752 /* 2358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1753 /* 2360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1754 /* 2362 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1755 /* 2365 */ GIR_RootConstrainSelectedInstOperands,
1756 /* 2366 */ // GIR_Coverage, 23125,
1757 /* 2366 */ GIR_EraseRootFromParent_Done,
1758 /* 2367 */ // Label 142: @2367
1759 /* 2367 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 143*/ GIMT_Encode4(2390), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23209 //
1760 /* 2374 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1761 /* 2378 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1762 /* 2378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r_ND),
1763 /* 2381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1764 /* 2383 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1765 /* 2385 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1766 /* 2388 */ GIR_RootConstrainSelectedInstOperands,
1767 /* 2389 */ // GIR_Coverage, 23209,
1768 /* 2389 */ GIR_EraseRootFromParent_Done,
1769 /* 2390 */ // Label 143: @2390
1770 /* 2390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 144*/ GIMT_Encode4(2413), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23215 //
1771 /* 2397 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1772 /* 2401 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1773 /* 2401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r_ND),
1774 /* 2404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1775 /* 2406 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1776 /* 2408 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1777 /* 2411 */ GIR_RootConstrainSelectedInstOperands,
1778 /* 2412 */ // GIR_Coverage, 23215,
1779 /* 2412 */ GIR_EraseRootFromParent_Done,
1780 /* 2413 */ // Label 144: @2413
1781 /* 2413 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 145*/ GIMT_Encode4(2445), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23055 //
1782 /* 2420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1783 /* 2424 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1784 /* 2428 */ // MIs[1] Operand 1
1785 /* 2428 */ // No operand predicates
1786 /* 2428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1787 /* 2430 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1788 /* 2430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
1789 /* 2433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1790 /* 2435 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1791 /* 2437 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1792 /* 2440 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1793 /* 2443 */ GIR_RootConstrainSelectedInstOperands,
1794 /* 2444 */ // GIR_Coverage, 23055,
1795 /* 2444 */ GIR_EraseRootFromParent_Done,
1796 /* 2445 */ // Label 145: @2445
1797 /* 2445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 146*/ GIMT_Encode4(2477), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23145 //
1798 /* 2452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1799 /* 2456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1800 /* 2460 */ // MIs[1] Operand 1
1801 /* 2460 */ // No operand predicates
1802 /* 2460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1803 /* 2462 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1804 /* 2462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri_ND),
1805 /* 2465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1806 /* 2467 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1807 /* 2469 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1808 /* 2472 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1809 /* 2475 */ GIR_RootConstrainSelectedInstOperands,
1810 /* 2476 */ // GIR_Coverage, 23145,
1811 /* 2476 */ GIR_EraseRootFromParent_Done,
1812 /* 2477 */ // Label 146: @2477
1813 /* 2477 */ GIM_Try, /*On fail goto*//*Label 147*/ GIMT_Encode4(2527),
1814 /* 2482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1815 /* 2486 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 148*/ GIMT_Encode4(2506), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23047 //
1816 /* 2493 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1817 /* 2493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
1818 /* 2498 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1819 /* 2504 */ GIR_RootConstrainSelectedInstOperands,
1820 /* 2505 */ // GIR_Coverage, 23047,
1821 /* 2505 */ GIR_Done,
1822 /* 2506 */ // Label 148: @2506
1823 /* 2506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 149*/ GIMT_Encode4(2526), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23137 //
1824 /* 2513 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1825 /* 2513 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
1826 /* 2518 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1827 /* 2524 */ GIR_RootConstrainSelectedInstOperands,
1828 /* 2525 */ // GIR_Coverage, 23137,
1829 /* 2525 */ GIR_Done,
1830 /* 2526 */ // Label 149: @2526
1831 /* 2526 */ GIM_Reject,
1832 /* 2527 */ // Label 147: @2527
1833 /* 2527 */ GIM_Reject,
1834 /* 2528 */ // Label 136: @2528
1835 /* 2528 */ GIM_Reject,
1836 /* 2529 */ // Label 134: @2529
1837 /* 2529 */ GIM_Reject,
1838 /* 2530 */ // Label 91: @2530
1839 /* 2530 */ GIM_Try, /*On fail goto*//*Label 150*/ GIMT_Encode4(3022),
1840 /* 2535 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1841 /* 2538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1842 /* 2541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1843 /* 2545 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 151*/ GIMT_Encode4(2605), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26321 //
1844 /* 2552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1845 /* 2556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1846 /* 2560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1847 /* 2563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1848 /* 2567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1849 /* 2571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1850 /* 2575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1851 /* 2577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1852 /* 2584 */ // (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)
1853 /* 2584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
1854 /* 2587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1855 /* 2589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1856 /* 2591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1857 /* 2595 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1858 /* 2598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1859 /* 2603 */ GIR_RootConstrainSelectedInstOperands,
1860 /* 2604 */ // GIR_Coverage, 26321,
1861 /* 2604 */ GIR_EraseRootFromParent_Done,
1862 /* 2605 */ // Label 151: @2605
1863 /* 2605 */ GIM_Try, /*On fail goto*//*Label 152*/ GIMT_Encode4(3021),
1864 /* 2610 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1865 /* 2614 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 153*/ GIMT_Encode4(2670), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23052 //
1866 /* 2621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1867 /* 2625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1868 /* 2629 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1869 /* 2632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1870 /* 2636 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1871 /* 2640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1872 /* 2642 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1873 /* 2649 */ // (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)
1874 /* 2649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
1875 /* 2652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1876 /* 2654 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1877 /* 2656 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1878 /* 2660 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1879 /* 2663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1880 /* 2668 */ GIR_RootConstrainSelectedInstOperands,
1881 /* 2669 */ // GIR_Coverage, 23052,
1882 /* 2669 */ GIR_EraseRootFromParent_Done,
1883 /* 2670 */ // Label 153: @2670
1884 /* 2670 */ GIM_Try, /*On fail goto*//*Label 154*/ GIMT_Encode4(2731),
1885 /* 2675 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1886 /* 2686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 155*/ GIMT_Encode4(2708), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22847 //
1887 /* 2693 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
1888 /* 2693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
1889 /* 2696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1890 /* 2698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1891 /* 2700 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1892 /* 2703 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1893 /* 2706 */ GIR_RootConstrainSelectedInstOperands,
1894 /* 2707 */ // GIR_Coverage, 22847,
1895 /* 2707 */ GIR_EraseRootFromParent_Done,
1896 /* 2708 */ // Label 155: @2708
1897 /* 2708 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 156*/ GIMT_Encode4(2730), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22853 //
1898 /* 2715 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
1899 /* 2715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
1900 /* 2718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1901 /* 2720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1902 /* 2722 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1903 /* 2725 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1904 /* 2728 */ GIR_RootConstrainSelectedInstOperands,
1905 /* 2729 */ // GIR_Coverage, 22853,
1906 /* 2729 */ GIR_EraseRootFromParent_Done,
1907 /* 2730 */ // Label 156: @2730
1908 /* 2730 */ GIM_Reject,
1909 /* 2731 */ // Label 154: @2731
1910 /* 2731 */ GIM_Try, /*On fail goto*//*Label 157*/ GIMT_Encode4(2806),
1911 /* 2736 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
1912 /* 2747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 158*/ GIMT_Encode4(2776), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22863 //
1913 /* 2754 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
1914 /* 2754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
1915 /* 2757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1916 /* 2759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1917 /* 2761 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
1918 /* 2771 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1919 /* 2774 */ GIR_RootConstrainSelectedInstOperands,
1920 /* 2775 */ // GIR_Coverage, 22863,
1921 /* 2775 */ GIR_EraseRootFromParent_Done,
1922 /* 2776 */ // Label 158: @2776
1923 /* 2776 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 159*/ GIMT_Encode4(2805), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22865 //
1924 /* 2783 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
1925 /* 2783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
1926 /* 2786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1927 /* 2788 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1928 /* 2790 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
1929 /* 2800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1930 /* 2803 */ GIR_RootConstrainSelectedInstOperands,
1931 /* 2804 */ // GIR_Coverage, 22865,
1932 /* 2804 */ GIR_EraseRootFromParent_Done,
1933 /* 2805 */ // Label 159: @2805
1934 /* 2805 */ GIM_Reject,
1935 /* 2806 */ // Label 157: @2806
1936 /* 2806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 160*/ GIMT_Encode4(2829), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23121 //
1937 /* 2813 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1938 /* 2817 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1939 /* 2817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r),
1940 /* 2820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1941 /* 2822 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1942 /* 2824 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1943 /* 2827 */ GIR_RootConstrainSelectedInstOperands,
1944 /* 2828 */ // GIR_Coverage, 23121,
1945 /* 2828 */ GIR_EraseRootFromParent_Done,
1946 /* 2829 */ // Label 160: @2829
1947 /* 2829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 161*/ GIMT_Encode4(2852), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23126 //
1948 /* 2836 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1949 /* 2840 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1950 /* 2840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r),
1951 /* 2843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1952 /* 2845 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1953 /* 2847 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1954 /* 2850 */ GIR_RootConstrainSelectedInstOperands,
1955 /* 2851 */ // GIR_Coverage, 23126,
1956 /* 2851 */ GIR_EraseRootFromParent_Done,
1957 /* 2852 */ // Label 161: @2852
1958 /* 2852 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 162*/ GIMT_Encode4(2875), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23211 //
1959 /* 2859 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1960 /* 2863 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1961 /* 2863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r_ND),
1962 /* 2866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1963 /* 2868 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1964 /* 2870 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1965 /* 2873 */ GIR_RootConstrainSelectedInstOperands,
1966 /* 2874 */ // GIR_Coverage, 23211,
1967 /* 2874 */ GIR_EraseRootFromParent_Done,
1968 /* 2875 */ // Label 162: @2875
1969 /* 2875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 163*/ GIMT_Encode4(2898), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23216 //
1970 /* 2882 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1971 /* 2886 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1972 /* 2886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r_ND),
1973 /* 2889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1974 /* 2891 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1975 /* 2893 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1976 /* 2896 */ GIR_RootConstrainSelectedInstOperands,
1977 /* 2897 */ // GIR_Coverage, 23216,
1978 /* 2897 */ GIR_EraseRootFromParent_Done,
1979 /* 2898 */ // Label 163: @2898
1980 /* 2898 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 164*/ GIMT_Encode4(2934), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23113 //
1981 /* 2905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1982 /* 2909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1983 /* 2913 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
1984 /* 2917 */ // MIs[1] Operand 1
1985 /* 2917 */ // No operand predicates
1986 /* 2917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1987 /* 2919 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
1988 /* 2919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32),
1989 /* 2922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1990 /* 2924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1991 /* 2926 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1992 /* 2929 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1993 /* 2932 */ GIR_RootConstrainSelectedInstOperands,
1994 /* 2933 */ // GIR_Coverage, 23113,
1995 /* 2933 */ GIR_EraseRootFromParent_Done,
1996 /* 2934 */ // Label 164: @2934
1997 /* 2934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 165*/ GIMT_Encode4(2970), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23203 //
1998 /* 2941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1999 /* 2945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2000 /* 2949 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
2001 /* 2953 */ // MIs[1] Operand 1
2002 /* 2953 */ // No operand predicates
2003 /* 2953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2004 /* 2955 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
2005 /* 2955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32_ND),
2006 /* 2958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2007 /* 2960 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2008 /* 2962 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
2009 /* 2965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2010 /* 2968 */ GIR_RootConstrainSelectedInstOperands,
2011 /* 2969 */ // GIR_Coverage, 23203,
2012 /* 2969 */ GIR_EraseRootFromParent_Done,
2013 /* 2970 */ // Label 165: @2970
2014 /* 2970 */ GIM_Try, /*On fail goto*//*Label 166*/ GIMT_Encode4(3020),
2015 /* 2975 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2016 /* 2979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 167*/ GIMT_Encode4(2999), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23048 //
2017 /* 2986 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2018 /* 2986 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
2019 /* 2991 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2020 /* 2997 */ GIR_RootConstrainSelectedInstOperands,
2021 /* 2998 */ // GIR_Coverage, 23048,
2022 /* 2998 */ GIR_Done,
2023 /* 2999 */ // Label 167: @2999
2024 /* 2999 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 168*/ GIMT_Encode4(3019), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23138 //
2025 /* 3006 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2026 /* 3006 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
2027 /* 3011 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2028 /* 3017 */ GIR_RootConstrainSelectedInstOperands,
2029 /* 3018 */ // GIR_Coverage, 23138,
2030 /* 3018 */ GIR_Done,
2031 /* 3019 */ // Label 168: @3019
2032 /* 3019 */ GIM_Reject,
2033 /* 3020 */ // Label 166: @3020
2034 /* 3020 */ GIM_Reject,
2035 /* 3021 */ // Label 152: @3021
2036 /* 3021 */ GIM_Reject,
2037 /* 3022 */ // Label 150: @3022
2038 /* 3022 */ GIM_Reject,
2039 /* 3023 */ // Label 92: @3023
2040 /* 3023 */ GIM_Try, /*On fail goto*//*Label 169*/ GIMT_Encode4(3351),
2041 /* 3028 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2042 /* 3031 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2043 /* 3034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 170*/ GIMT_Encode4(3095), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23685 //
2044 /* 3041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2045 /* 3045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2046 /* 3049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2047 /* 3053 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2048 /* 3056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2049 /* 3060 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2050 /* 3064 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2051 /* 3068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2052 /* 3070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2053 /* 3077 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2054 /* 3077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
2055 /* 3080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2056 /* 3082 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2057 /* 3084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2058 /* 3088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2059 /* 3093 */ GIR_RootConstrainSelectedInstOperands,
2060 /* 3094 */ // GIR_Coverage, 23685,
2061 /* 3094 */ GIR_EraseRootFromParent_Done,
2062 /* 3095 */ // Label 170: @3095
2063 /* 3095 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 171*/ GIMT_Encode4(3156), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24003 //
2064 /* 3102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2065 /* 3106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2066 /* 3110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2067 /* 3114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2068 /* 3117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2069 /* 3121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2070 /* 3125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2071 /* 3129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2072 /* 3131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2073 /* 3138 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2074 /* 3138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
2075 /* 3141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2076 /* 3143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2077 /* 3145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2078 /* 3149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2079 /* 3154 */ GIR_RootConstrainSelectedInstOperands,
2080 /* 3155 */ // GIR_Coverage, 24003,
2081 /* 3155 */ GIR_EraseRootFromParent_Done,
2082 /* 3156 */ // Label 171: @3156
2083 /* 3156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 172*/ GIMT_Encode4(3217), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2505 //
2084 /* 3163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2085 /* 3167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2086 /* 3171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2087 /* 3175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2088 /* 3179 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2089 /* 3182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2090 /* 3186 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2091 /* 3190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2092 /* 3192 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2093 /* 3199 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2094 /* 3199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
2095 /* 3202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2096 /* 3204 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2097 /* 3206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2098 /* 3210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2099 /* 3215 */ GIR_RootConstrainSelectedInstOperands,
2100 /* 3216 */ // GIR_Coverage, 2505,
2101 /* 3216 */ GIR_EraseRootFromParent_Done,
2102 /* 3217 */ // Label 172: @3217
2103 /* 3217 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 173*/ GIMT_Encode4(3278), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4721 //
2104 /* 3224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2105 /* 3228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2106 /* 3232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2107 /* 3236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2108 /* 3240 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2109 /* 3243 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2110 /* 3247 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2111 /* 3251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2112 /* 3253 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2113 /* 3260 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2114 /* 3260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
2115 /* 3263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2116 /* 3265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2117 /* 3267 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2118 /* 3271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2119 /* 3276 */ GIR_RootConstrainSelectedInstOperands,
2120 /* 3277 */ // GIR_Coverage, 4721,
2121 /* 3277 */ GIR_EraseRootFromParent_Done,
2122 /* 3278 */ // Label 173: @3278
2123 /* 3278 */ GIM_Try, /*On fail goto*//*Label 174*/ GIMT_Encode4(3324),
2124 /* 3283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2125 /* 3287 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2126 /* 3291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2127 /* 3295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 175*/ GIMT_Encode4(3309), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2504 //
2128 /* 3302 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
2129 /* 3302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBrr),
2130 /* 3307 */ GIR_RootConstrainSelectedInstOperands,
2131 /* 3308 */ // GIR_Coverage, 2504,
2132 /* 3308 */ GIR_Done,
2133 /* 3309 */ // Label 175: @3309
2134 /* 3309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 176*/ GIMT_Encode4(3323), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2506 //
2135 /* 3316 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
2136 /* 3316 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDBrr),
2137 /* 3321 */ GIR_RootConstrainSelectedInstOperands,
2138 /* 3322 */ // GIR_Coverage, 2506,
2139 /* 3322 */ GIR_Done,
2140 /* 3323 */ // Label 176: @3323
2141 /* 3323 */ GIM_Reject,
2142 /* 3324 */ // Label 174: @3324
2143 /* 3324 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 177*/ GIMT_Encode4(3350), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4718 //
2144 /* 3331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2145 /* 3335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2146 /* 3339 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2147 /* 3343 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
2148 /* 3343 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rr),
2149 /* 3348 */ GIR_RootConstrainSelectedInstOperands,
2150 /* 3349 */ // GIR_Coverage, 4718,
2151 /* 3349 */ GIR_Done,
2152 /* 3350 */ // Label 177: @3350
2153 /* 3350 */ GIM_Reject,
2154 /* 3351 */ // Label 169: @3351
2155 /* 3351 */ GIM_Reject,
2156 /* 3352 */ // Label 93: @3352
2157 /* 3352 */ GIM_Try, /*On fail goto*//*Label 178*/ GIMT_Encode4(3660),
2158 /* 3357 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
2159 /* 3360 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
2160 /* 3363 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 179*/ GIMT_Encode4(3424), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23687 //
2161 /* 3370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2162 /* 3374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2163 /* 3378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2164 /* 3382 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2165 /* 3385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2166 /* 3389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2167 /* 3393 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2168 /* 3397 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2169 /* 3399 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2170 /* 3406 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2171 /* 3406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
2172 /* 3409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2173 /* 3411 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2174 /* 3413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2175 /* 3417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2176 /* 3422 */ GIR_RootConstrainSelectedInstOperands,
2177 /* 3423 */ // GIR_Coverage, 23687,
2178 /* 3423 */ GIR_EraseRootFromParent_Done,
2179 /* 3424 */ // Label 179: @3424
2180 /* 3424 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 180*/ GIMT_Encode4(3485), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24000 //
2181 /* 3431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2182 /* 3435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2183 /* 3439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2184 /* 3443 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2185 /* 3446 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2186 /* 3450 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2187 /* 3454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2188 /* 3458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2189 /* 3460 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2190 /* 3467 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2191 /* 3467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
2192 /* 3470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2193 /* 3472 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2194 /* 3474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2195 /* 3478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2196 /* 3483 */ GIR_RootConstrainSelectedInstOperands,
2197 /* 3484 */ // GIR_Coverage, 24000,
2198 /* 3484 */ GIR_EraseRootFromParent_Done,
2199 /* 3485 */ // Label 180: @3485
2200 /* 3485 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 181*/ GIMT_Encode4(3546), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2509 //
2201 /* 3492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2202 /* 3496 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2203 /* 3500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2204 /* 3504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2205 /* 3508 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2206 /* 3511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2207 /* 3515 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2208 /* 3519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2209 /* 3521 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2210 /* 3528 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2211 /* 3528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
2212 /* 3531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2213 /* 3533 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2214 /* 3535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2215 /* 3539 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2216 /* 3544 */ GIR_RootConstrainSelectedInstOperands,
2217 /* 3545 */ // GIR_Coverage, 2509,
2218 /* 3545 */ GIR_EraseRootFromParent_Done,
2219 /* 3546 */ // Label 181: @3546
2220 /* 3546 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 182*/ GIMT_Encode4(3607), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4715 //
2221 /* 3553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2222 /* 3557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2223 /* 3561 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2224 /* 3565 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2225 /* 3569 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2226 /* 3572 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2227 /* 3576 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2228 /* 3580 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2229 /* 3582 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2230 /* 3589 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2231 /* 3589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
2232 /* 3592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2233 /* 3594 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2234 /* 3596 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2235 /* 3600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2236 /* 3605 */ GIR_RootConstrainSelectedInstOperands,
2237 /* 3606 */ // GIR_Coverage, 4715,
2238 /* 3606 */ GIR_EraseRootFromParent_Done,
2239 /* 3607 */ // Label 182: @3607
2240 /* 3607 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 183*/ GIMT_Encode4(3633), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2508 //
2241 /* 3614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2242 /* 3618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2243 /* 3622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2244 /* 3626 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
2245 /* 3626 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBYrr),
2246 /* 3631 */ GIR_RootConstrainSelectedInstOperands,
2247 /* 3632 */ // GIR_Coverage, 2508,
2248 /* 3632 */ GIR_Done,
2249 /* 3633 */ // Label 183: @3633
2250 /* 3633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 184*/ GIMT_Encode4(3659), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4712 //
2251 /* 3640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2252 /* 3644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2253 /* 3648 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2254 /* 3652 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
2255 /* 3652 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rr),
2256 /* 3657 */ GIR_RootConstrainSelectedInstOperands,
2257 /* 3658 */ // GIR_Coverage, 4712,
2258 /* 3658 */ GIR_Done,
2259 /* 3659 */ // Label 184: @3659
2260 /* 3659 */ GIM_Reject,
2261 /* 3660 */ // Label 178: @3660
2262 /* 3660 */ GIM_Reject,
2263 /* 3661 */ // Label 94: @3661
2264 /* 3661 */ GIM_Try, /*On fail goto*//*Label 185*/ GIMT_Encode4(3815),
2265 /* 3666 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
2266 /* 3669 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
2267 /* 3672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2268 /* 3676 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 186*/ GIMT_Encode4(3733), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23997 //
2269 /* 3683 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2270 /* 3687 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2271 /* 3691 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2272 /* 3694 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2273 /* 3698 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2274 /* 3702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2275 /* 3706 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2276 /* 3708 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2277 /* 3715 */ // (add:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2278 /* 3715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
2279 /* 3718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2280 /* 3720 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2281 /* 3722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2282 /* 3726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2283 /* 3731 */ GIR_RootConstrainSelectedInstOperands,
2284 /* 3732 */ // GIR_Coverage, 23997,
2285 /* 3732 */ GIR_EraseRootFromParent_Done,
2286 /* 3733 */ // Label 186: @3733
2287 /* 3733 */ GIM_Try, /*On fail goto*//*Label 187*/ GIMT_Encode4(3814),
2288 /* 3738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2289 /* 3742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 188*/ GIMT_Encode4(3795), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4709 //
2290 /* 3749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2291 /* 3753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2292 /* 3757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2293 /* 3760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2294 /* 3764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2295 /* 3768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2296 /* 3770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2297 /* 3777 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2298 /* 3777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
2299 /* 3780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2300 /* 3782 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2301 /* 3784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2302 /* 3788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2303 /* 3793 */ GIR_RootConstrainSelectedInstOperands,
2304 /* 3794 */ // GIR_Coverage, 4709,
2305 /* 3794 */ GIR_EraseRootFromParent_Done,
2306 /* 3795 */ // Label 188: @3795
2307 /* 3795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 189*/ GIMT_Encode4(3813), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4706 //
2308 /* 3802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2309 /* 3806 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
2310 /* 3806 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZrr),
2311 /* 3811 */ GIR_RootConstrainSelectedInstOperands,
2312 /* 3812 */ // GIR_Coverage, 4706,
2313 /* 3812 */ GIR_Done,
2314 /* 3813 */ // Label 189: @3813
2315 /* 3813 */ GIM_Reject,
2316 /* 3814 */ // Label 187: @3814
2317 /* 3814 */ GIM_Reject,
2318 /* 3815 */ // Label 185: @3815
2319 /* 3815 */ GIM_Reject,
2320 /* 3816 */ // Label 95: @3816
2321 /* 3816 */ GIM_Try, /*On fail goto*//*Label 190*/ GIMT_Encode4(4264),
2322 /* 3821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2323 /* 3824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2324 /* 3827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 191*/ GIMT_Encode4(3888), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23688 //
2325 /* 3834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2326 /* 3838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2327 /* 3842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2328 /* 3846 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2329 /* 3849 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2330 /* 3853 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2331 /* 3857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2332 /* 3861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2333 /* 3863 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2334 /* 3870 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2335 /* 3870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2336 /* 3873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2337 /* 3875 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2338 /* 3877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2339 /* 3881 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2340 /* 3886 */ GIR_RootConstrainSelectedInstOperands,
2341 /* 3887 */ // GIR_Coverage, 23688,
2342 /* 3887 */ GIR_EraseRootFromParent_Done,
2343 /* 3888 */ // Label 191: @3888
2344 /* 3888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 192*/ GIMT_Encode4(3949), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 23994 //
2345 /* 3895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2346 /* 3899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2347 /* 3903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2348 /* 3907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2349 /* 3910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2350 /* 3914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2351 /* 3918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2352 /* 3922 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2353 /* 3924 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2354 /* 3931 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2355 /* 3931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2356 /* 3934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2357 /* 3936 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2358 /* 3938 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2359 /* 3942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2360 /* 3947 */ GIR_RootConstrainSelectedInstOperands,
2361 /* 3948 */ // GIR_Coverage, 23994,
2362 /* 3948 */ GIR_EraseRootFromParent_Done,
2363 /* 3949 */ // Label 192: @3949
2364 /* 3949 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 193*/ GIMT_Encode4(4010), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2511 //
2365 /* 3956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2366 /* 3960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2367 /* 3964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2368 /* 3968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2369 /* 3972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2370 /* 3975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2371 /* 3979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2372 /* 3983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2373 /* 3985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2374 /* 3992 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2375 /* 3992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2376 /* 3995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2377 /* 3997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2378 /* 3999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2379 /* 4003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2380 /* 4008 */ GIR_RootConstrainSelectedInstOperands,
2381 /* 4009 */ // GIR_Coverage, 2511,
2382 /* 4009 */ GIR_EraseRootFromParent_Done,
2383 /* 4010 */ // Label 193: @4010
2384 /* 4010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 194*/ GIMT_Encode4(4071), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4703 //
2385 /* 4017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2386 /* 4021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2387 /* 4025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2388 /* 4029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2389 /* 4033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2390 /* 4036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2391 /* 4040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2392 /* 4044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2393 /* 4046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2394 /* 4053 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2395 /* 4053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2396 /* 4056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2397 /* 4058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2398 /* 4060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2399 /* 4064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2400 /* 4069 */ GIR_RootConstrainSelectedInstOperands,
2401 /* 4070 */ // GIR_Coverage, 4703,
2402 /* 4070 */ GIR_EraseRootFromParent_Done,
2403 /* 4071 */ // Label 194: @4071
2404 /* 4071 */ GIM_Try, /*On fail goto*//*Label 195*/ GIMT_Encode4(4237),
2405 /* 4076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2406 /* 4080 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 196*/ GIMT_Encode4(4136), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 17923 //
2407 /* 4087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2408 /* 4091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2409 /* 4095 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2410 /* 4099 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2411 /* 4103 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2412 /* 4108 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2413 /* 4113 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2414 /* 4117 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2415 /* 4119 */ // (add:{ *:[v8i16] } (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2), VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2416 /* 4119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2417 /* 4122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2418 /* 4124 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2419 /* 4128 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2420 /* 4132 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2421 /* 4134 */ GIR_RootConstrainSelectedInstOperands,
2422 /* 4135 */ // GIR_Coverage, 17923,
2423 /* 4135 */ GIR_EraseRootFromParent_Done,
2424 /* 4136 */ // Label 196: @4136
2425 /* 4136 */ GIM_Try, /*On fail goto*//*Label 197*/ GIMT_Encode4(4236),
2426 /* 4141 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2427 /* 4145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 198*/ GIMT_Encode4(4197), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 25449 //
2428 /* 4152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2429 /* 4156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2430 /* 4160 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2431 /* 4164 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2432 /* 4168 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2433 /* 4173 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2434 /* 4178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2435 /* 4180 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src3, (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2436 /* 4180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2437 /* 4183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2438 /* 4185 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2439 /* 4189 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2440 /* 4193 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2441 /* 4195 */ GIR_RootConstrainSelectedInstOperands,
2442 /* 4196 */ // GIR_Coverage, 25449,
2443 /* 4196 */ GIR_EraseRootFromParent_Done,
2444 /* 4197 */ // Label 198: @4197
2445 /* 4197 */ GIM_Try, /*On fail goto*//*Label 199*/ GIMT_Encode4(4235),
2446 /* 4202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2447 /* 4206 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 200*/ GIMT_Encode4(4220), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2510 //
2448 /* 4213 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2449 /* 4213 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWrr),
2450 /* 4218 */ GIR_RootConstrainSelectedInstOperands,
2451 /* 4219 */ // GIR_Coverage, 2510,
2452 /* 4219 */ GIR_Done,
2453 /* 4220 */ // Label 200: @4220
2454 /* 4220 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 201*/ GIMT_Encode4(4234), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2512 //
2455 /* 4227 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2456 /* 4227 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDWrr),
2457 /* 4232 */ GIR_RootConstrainSelectedInstOperands,
2458 /* 4233 */ // GIR_Coverage, 2512,
2459 /* 4233 */ GIR_Done,
2460 /* 4234 */ // Label 201: @4234
2461 /* 4234 */ GIM_Reject,
2462 /* 4235 */ // Label 199: @4235
2463 /* 4235 */ GIM_Reject,
2464 /* 4236 */ // Label 197: @4236
2465 /* 4236 */ GIM_Reject,
2466 /* 4237 */ // Label 195: @4237
2467 /* 4237 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 202*/ GIMT_Encode4(4263), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4700 //
2468 /* 4244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2469 /* 4248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2470 /* 4252 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2471 /* 4256 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
2472 /* 4256 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rr),
2473 /* 4261 */ GIR_RootConstrainSelectedInstOperands,
2474 /* 4262 */ // GIR_Coverage, 4700,
2475 /* 4262 */ GIR_Done,
2476 /* 4263 */ // Label 202: @4263
2477 /* 4263 */ GIM_Reject,
2478 /* 4264 */ // Label 190: @4264
2479 /* 4264 */ GIM_Reject,
2480 /* 4265 */ // Label 96: @4265
2481 /* 4265 */ GIM_Try, /*On fail goto*//*Label 203*/ GIMT_Encode4(4573),
2482 /* 4270 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
2483 /* 4273 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
2484 /* 4276 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 204*/ GIMT_Encode4(4337), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23690 //
2485 /* 4283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2486 /* 4287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2487 /* 4291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2488 /* 4295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2489 /* 4298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2490 /* 4302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2491 /* 4306 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2492 /* 4310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2493 /* 4312 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2494 /* 4319 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2495 /* 4319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
2496 /* 4322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2497 /* 4324 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2498 /* 4326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2499 /* 4330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2500 /* 4335 */ GIR_RootConstrainSelectedInstOperands,
2501 /* 4336 */ // GIR_Coverage, 23690,
2502 /* 4336 */ GIR_EraseRootFromParent_Done,
2503 /* 4337 */ // Label 204: @4337
2504 /* 4337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 205*/ GIMT_Encode4(4398), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 23991 //
2505 /* 4344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2506 /* 4348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2507 /* 4352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2508 /* 4356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2509 /* 4359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2510 /* 4363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2511 /* 4367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2512 /* 4371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2513 /* 4373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2514 /* 4380 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2515 /* 4380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
2516 /* 4383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2517 /* 4385 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2518 /* 4387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2519 /* 4391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2520 /* 4396 */ GIR_RootConstrainSelectedInstOperands,
2521 /* 4397 */ // GIR_Coverage, 23991,
2522 /* 4397 */ GIR_EraseRootFromParent_Done,
2523 /* 4398 */ // Label 205: @4398
2524 /* 4398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 206*/ GIMT_Encode4(4459), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2515 //
2525 /* 4405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2526 /* 4409 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2527 /* 4413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2528 /* 4417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2529 /* 4421 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2530 /* 4424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2531 /* 4428 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2532 /* 4432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2533 /* 4434 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2534 /* 4441 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2535 /* 4441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
2536 /* 4444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2537 /* 4446 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2538 /* 4448 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2539 /* 4452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2540 /* 4457 */ GIR_RootConstrainSelectedInstOperands,
2541 /* 4458 */ // GIR_Coverage, 2515,
2542 /* 4458 */ GIR_EraseRootFromParent_Done,
2543 /* 4459 */ // Label 206: @4459
2544 /* 4459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 207*/ GIMT_Encode4(4520), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4697 //
2545 /* 4466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2546 /* 4470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2547 /* 4474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2548 /* 4478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2549 /* 4482 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2550 /* 4485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2551 /* 4489 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2552 /* 4493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2553 /* 4495 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2554 /* 4502 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2555 /* 4502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
2556 /* 4505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2557 /* 4507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2558 /* 4509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2559 /* 4513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2560 /* 4518 */ GIR_RootConstrainSelectedInstOperands,
2561 /* 4519 */ // GIR_Coverage, 4697,
2562 /* 4519 */ GIR_EraseRootFromParent_Done,
2563 /* 4520 */ // Label 207: @4520
2564 /* 4520 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 208*/ GIMT_Encode4(4546), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2514 //
2565 /* 4527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2566 /* 4531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2567 /* 4535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2568 /* 4539 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
2569 /* 4539 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWYrr),
2570 /* 4544 */ GIR_RootConstrainSelectedInstOperands,
2571 /* 4545 */ // GIR_Coverage, 2514,
2572 /* 4545 */ GIR_Done,
2573 /* 4546 */ // Label 208: @4546
2574 /* 4546 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 209*/ GIMT_Encode4(4572), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4694 //
2575 /* 4553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2576 /* 4557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2577 /* 4561 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2578 /* 4565 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
2579 /* 4565 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rr),
2580 /* 4570 */ GIR_RootConstrainSelectedInstOperands,
2581 /* 4571 */ // GIR_Coverage, 4694,
2582 /* 4571 */ GIR_Done,
2583 /* 4572 */ // Label 209: @4572
2584 /* 4572 */ GIM_Reject,
2585 /* 4573 */ // Label 203: @4573
2586 /* 4573 */ GIM_Reject,
2587 /* 4574 */ // Label 97: @4574
2588 /* 4574 */ GIM_Try, /*On fail goto*//*Label 210*/ GIMT_Encode4(4728),
2589 /* 4579 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
2590 /* 4582 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
2591 /* 4585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2592 /* 4589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 211*/ GIMT_Encode4(4646), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23988 //
2593 /* 4596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2594 /* 4600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2595 /* 4604 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2596 /* 4607 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2597 /* 4611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2598 /* 4615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2599 /* 4619 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2600 /* 4621 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2601 /* 4628 */ // (add:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2602 /* 4628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
2603 /* 4631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2604 /* 4633 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2605 /* 4635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2606 /* 4639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2607 /* 4644 */ GIR_RootConstrainSelectedInstOperands,
2608 /* 4645 */ // GIR_Coverage, 23988,
2609 /* 4645 */ GIR_EraseRootFromParent_Done,
2610 /* 4646 */ // Label 211: @4646
2611 /* 4646 */ GIM_Try, /*On fail goto*//*Label 212*/ GIMT_Encode4(4727),
2612 /* 4651 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2613 /* 4655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 213*/ GIMT_Encode4(4708), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4691 //
2614 /* 4662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2615 /* 4666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2616 /* 4670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2617 /* 4673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2618 /* 4677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2619 /* 4681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2620 /* 4683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2621 /* 4690 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2622 /* 4690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
2623 /* 4693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2624 /* 4695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2625 /* 4697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2626 /* 4701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2627 /* 4706 */ GIR_RootConstrainSelectedInstOperands,
2628 /* 4707 */ // GIR_Coverage, 4691,
2629 /* 4707 */ GIR_EraseRootFromParent_Done,
2630 /* 4708 */ // Label 213: @4708
2631 /* 4708 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 214*/ GIMT_Encode4(4726), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4688 //
2632 /* 4715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2633 /* 4719 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
2634 /* 4719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZrr),
2635 /* 4724 */ GIR_RootConstrainSelectedInstOperands,
2636 /* 4725 */ // GIR_Coverage, 4688,
2637 /* 4725 */ GIR_Done,
2638 /* 4726 */ // Label 214: @4726
2639 /* 4726 */ GIM_Reject,
2640 /* 4727 */ // Label 212: @4727
2641 /* 4727 */ GIM_Reject,
2642 /* 4728 */ // Label 210: @4728
2643 /* 4728 */ GIM_Reject,
2644 /* 4729 */ // Label 98: @4729
2645 /* 4729 */ GIM_Try, /*On fail goto*//*Label 215*/ GIMT_Encode4(5177),
2646 /* 4734 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2647 /* 4737 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2648 /* 4740 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 216*/ GIMT_Encode4(4801), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23691 //
2649 /* 4747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2650 /* 4751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2651 /* 4755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2652 /* 4759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2653 /* 4762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2654 /* 4766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2655 /* 4770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2656 /* 4774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2657 /* 4776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2658 /* 4783 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2659 /* 4783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2660 /* 4786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2661 /* 4788 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2662 /* 4790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2663 /* 4794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2664 /* 4799 */ GIR_RootConstrainSelectedInstOperands,
2665 /* 4800 */ // GIR_Coverage, 23691,
2666 /* 4800 */ GIR_EraseRootFromParent_Done,
2667 /* 4801 */ // Label 216: @4801
2668 /* 4801 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 217*/ GIMT_Encode4(4862), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 23982 //
2669 /* 4808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2670 /* 4812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2671 /* 4816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2672 /* 4820 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2673 /* 4823 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2674 /* 4827 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2675 /* 4831 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2676 /* 4835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2677 /* 4837 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2678 /* 4844 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2679 /* 4844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2680 /* 4847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2681 /* 4849 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2682 /* 4851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2683 /* 4855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2684 /* 4860 */ GIR_RootConstrainSelectedInstOperands,
2685 /* 4861 */ // GIR_Coverage, 23982,
2686 /* 4861 */ GIR_EraseRootFromParent_Done,
2687 /* 4862 */ // Label 217: @4862
2688 /* 4862 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 218*/ GIMT_Encode4(4923), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2517 //
2689 /* 4869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2690 /* 4873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2691 /* 4877 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2692 /* 4881 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2693 /* 4885 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2694 /* 4888 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2695 /* 4892 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2696 /* 4896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2697 /* 4898 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2698 /* 4905 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2699 /* 4905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2700 /* 4908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2701 /* 4910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2702 /* 4912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2703 /* 4916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2704 /* 4921 */ GIR_RootConstrainSelectedInstOperands,
2705 /* 4922 */ // GIR_Coverage, 2517,
2706 /* 4922 */ GIR_EraseRootFromParent_Done,
2707 /* 4923 */ // Label 218: @4923
2708 /* 4923 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 219*/ GIMT_Encode4(4984), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4682 //
2709 /* 4930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2710 /* 4934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2711 /* 4938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2712 /* 4942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2713 /* 4946 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2714 /* 4949 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2715 /* 4953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2716 /* 4957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2717 /* 4959 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2718 /* 4966 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2719 /* 4966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2720 /* 4969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2721 /* 4971 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2722 /* 4973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2723 /* 4977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2724 /* 4982 */ GIR_RootConstrainSelectedInstOperands,
2725 /* 4983 */ // GIR_Coverage, 4682,
2726 /* 4983 */ GIR_EraseRootFromParent_Done,
2727 /* 4984 */ // Label 219: @4984
2728 /* 4984 */ GIM_Try, /*On fail goto*//*Label 220*/ GIMT_Encode4(5150),
2729 /* 4989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2730 /* 4993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 221*/ GIMT_Encode4(5049), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 17924 //
2731 /* 5000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2732 /* 5004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2733 /* 5008 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2734 /* 5012 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2735 /* 5016 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2736 /* 5021 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2737 /* 5026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2738 /* 5030 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2739 /* 5032 */ // (add:{ *:[v4i32] } (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2), VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2740 /* 5032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2741 /* 5035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2742 /* 5037 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2743 /* 5041 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2744 /* 5045 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2745 /* 5047 */ GIR_RootConstrainSelectedInstOperands,
2746 /* 5048 */ // GIR_Coverage, 17924,
2747 /* 5048 */ GIR_EraseRootFromParent_Done,
2748 /* 5049 */ // Label 221: @5049
2749 /* 5049 */ GIM_Try, /*On fail goto*//*Label 222*/ GIMT_Encode4(5149),
2750 /* 5054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2751 /* 5058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 223*/ GIMT_Encode4(5110), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 25450 //
2752 /* 5065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2753 /* 5069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2754 /* 5073 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2755 /* 5077 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2756 /* 5081 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2757 /* 5086 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2758 /* 5091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2759 /* 5093 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src3, (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2760 /* 5093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2761 /* 5096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2762 /* 5098 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2763 /* 5102 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2764 /* 5106 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2765 /* 5108 */ GIR_RootConstrainSelectedInstOperands,
2766 /* 5109 */ // GIR_Coverage, 25450,
2767 /* 5109 */ GIR_EraseRootFromParent_Done,
2768 /* 5110 */ // Label 223: @5110
2769 /* 5110 */ GIM_Try, /*On fail goto*//*Label 224*/ GIMT_Encode4(5148),
2770 /* 5115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2771 /* 5119 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 225*/ GIMT_Encode4(5133), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2516 //
2772 /* 5126 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2773 /* 5126 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDrr),
2774 /* 5131 */ GIR_RootConstrainSelectedInstOperands,
2775 /* 5132 */ // GIR_Coverage, 2516,
2776 /* 5132 */ GIR_Done,
2777 /* 5133 */ // Label 225: @5133
2778 /* 5133 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 226*/ GIMT_Encode4(5147), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2518 //
2779 /* 5140 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2780 /* 5140 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDDrr),
2781 /* 5145 */ GIR_RootConstrainSelectedInstOperands,
2782 /* 5146 */ // GIR_Coverage, 2518,
2783 /* 5146 */ GIR_Done,
2784 /* 5147 */ // Label 226: @5147
2785 /* 5147 */ GIM_Reject,
2786 /* 5148 */ // Label 224: @5148
2787 /* 5148 */ GIM_Reject,
2788 /* 5149 */ // Label 222: @5149
2789 /* 5149 */ GIM_Reject,
2790 /* 5150 */ // Label 220: @5150
2791 /* 5150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 227*/ GIMT_Encode4(5176), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4679 //
2792 /* 5157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2793 /* 5161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2794 /* 5165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2795 /* 5169 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPADDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
2796 /* 5169 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rr),
2797 /* 5174 */ GIR_RootConstrainSelectedInstOperands,
2798 /* 5175 */ // GIR_Coverage, 4679,
2799 /* 5175 */ GIR_Done,
2800 /* 5176 */ // Label 227: @5176
2801 /* 5176 */ GIM_Reject,
2802 /* 5177 */ // Label 215: @5177
2803 /* 5177 */ GIM_Reject,
2804 /* 5178 */ // Label 99: @5178
2805 /* 5178 */ GIM_Try, /*On fail goto*//*Label 228*/ GIMT_Encode4(5486),
2806 /* 5183 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
2807 /* 5186 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
2808 /* 5189 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 229*/ GIMT_Encode4(5250), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23693 //
2809 /* 5196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2810 /* 5200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2811 /* 5204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2812 /* 5208 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2813 /* 5211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2814 /* 5215 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2815 /* 5219 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2816 /* 5223 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2817 /* 5225 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2818 /* 5232 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2819 /* 5232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2820 /* 5235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2821 /* 5237 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2822 /* 5239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2823 /* 5243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2824 /* 5248 */ GIR_RootConstrainSelectedInstOperands,
2825 /* 5249 */ // GIR_Coverage, 23693,
2826 /* 5249 */ GIR_EraseRootFromParent_Done,
2827 /* 5250 */ // Label 229: @5250
2828 /* 5250 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 230*/ GIMT_Encode4(5311), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 23976 //
2829 /* 5257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2830 /* 5261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2831 /* 5265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2832 /* 5269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2833 /* 5272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2834 /* 5276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2835 /* 5280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2836 /* 5284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2837 /* 5286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2838 /* 5293 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2839 /* 5293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2840 /* 5296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2841 /* 5298 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2842 /* 5300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2843 /* 5304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2844 /* 5309 */ GIR_RootConstrainSelectedInstOperands,
2845 /* 5310 */ // GIR_Coverage, 23976,
2846 /* 5310 */ GIR_EraseRootFromParent_Done,
2847 /* 5311 */ // Label 230: @5311
2848 /* 5311 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 231*/ GIMT_Encode4(5372), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2521 //
2849 /* 5318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2850 /* 5322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2851 /* 5326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2852 /* 5330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2853 /* 5334 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2854 /* 5337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2855 /* 5341 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2856 /* 5345 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2857 /* 5347 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2858 /* 5354 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2859 /* 5354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2860 /* 5357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2861 /* 5359 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2862 /* 5361 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2863 /* 5365 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2864 /* 5370 */ GIR_RootConstrainSelectedInstOperands,
2865 /* 5371 */ // GIR_Coverage, 2521,
2866 /* 5371 */ GIR_EraseRootFromParent_Done,
2867 /* 5372 */ // Label 231: @5372
2868 /* 5372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 232*/ GIMT_Encode4(5433), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4673 //
2869 /* 5379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2870 /* 5383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2871 /* 5387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2872 /* 5391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2873 /* 5395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2874 /* 5398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2875 /* 5402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2876 /* 5406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2877 /* 5408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2878 /* 5415 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2879 /* 5415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2880 /* 5418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2881 /* 5420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2882 /* 5422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2883 /* 5426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2884 /* 5431 */ GIR_RootConstrainSelectedInstOperands,
2885 /* 5432 */ // GIR_Coverage, 4673,
2886 /* 5432 */ GIR_EraseRootFromParent_Done,
2887 /* 5433 */ // Label 232: @5433
2888 /* 5433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 233*/ GIMT_Encode4(5459), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2520 //
2889 /* 5440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2890 /* 5444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2891 /* 5448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2892 /* 5452 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPADDDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
2893 /* 5452 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDYrr),
2894 /* 5457 */ GIR_RootConstrainSelectedInstOperands,
2895 /* 5458 */ // GIR_Coverage, 2520,
2896 /* 5458 */ GIR_Done,
2897 /* 5459 */ // Label 233: @5459
2898 /* 5459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 234*/ GIMT_Encode4(5485), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4670 //
2899 /* 5466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2900 /* 5470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2901 /* 5474 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2902 /* 5478 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPADDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
2903 /* 5478 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rr),
2904 /* 5483 */ GIR_RootConstrainSelectedInstOperands,
2905 /* 5484 */ // GIR_Coverage, 4670,
2906 /* 5484 */ GIR_Done,
2907 /* 5485 */ // Label 234: @5485
2908 /* 5485 */ GIM_Reject,
2909 /* 5486 */ // Label 228: @5486
2910 /* 5486 */ GIM_Reject,
2911 /* 5487 */ // Label 100: @5487
2912 /* 5487 */ GIM_Try, /*On fail goto*//*Label 235*/ GIMT_Encode4(5641),
2913 /* 5492 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
2914 /* 5495 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
2915 /* 5498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2916 /* 5502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 236*/ GIMT_Encode4(5559), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23970 //
2917 /* 5509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2918 /* 5513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2919 /* 5517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2920 /* 5520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2921 /* 5524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2922 /* 5528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2923 /* 5532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2924 /* 5534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2925 /* 5541 */ // (add:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2926 /* 5541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
2927 /* 5544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2928 /* 5546 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2929 /* 5548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2930 /* 5552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2931 /* 5557 */ GIR_RootConstrainSelectedInstOperands,
2932 /* 5558 */ // GIR_Coverage, 23970,
2933 /* 5558 */ GIR_EraseRootFromParent_Done,
2934 /* 5559 */ // Label 236: @5559
2935 /* 5559 */ GIM_Try, /*On fail goto*//*Label 237*/ GIMT_Encode4(5640),
2936 /* 5564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2937 /* 5568 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 238*/ GIMT_Encode4(5621), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4664 //
2938 /* 5575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2939 /* 5579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2940 /* 5583 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2941 /* 5586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2942 /* 5590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2943 /* 5594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2944 /* 5596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2945 /* 5603 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2946 /* 5603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
2947 /* 5606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2948 /* 5608 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2949 /* 5610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2950 /* 5614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2951 /* 5619 */ GIR_RootConstrainSelectedInstOperands,
2952 /* 5620 */ // GIR_Coverage, 4664,
2953 /* 5620 */ GIR_EraseRootFromParent_Done,
2954 /* 5621 */ // Label 238: @5621
2955 /* 5621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 239*/ GIMT_Encode4(5639), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4661 //
2956 /* 5628 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2957 /* 5632 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPADDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
2958 /* 5632 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZrr),
2959 /* 5637 */ GIR_RootConstrainSelectedInstOperands,
2960 /* 5638 */ // GIR_Coverage, 4661,
2961 /* 5638 */ GIR_Done,
2962 /* 5639 */ // Label 239: @5639
2963 /* 5639 */ GIM_Reject,
2964 /* 5640 */ // Label 237: @5640
2965 /* 5640 */ GIM_Reject,
2966 /* 5641 */ // Label 235: @5641
2967 /* 5641 */ GIM_Reject,
2968 /* 5642 */ // Label 101: @5642
2969 /* 5642 */ GIM_Try, /*On fail goto*//*Label 240*/ GIMT_Encode4(5970),
2970 /* 5647 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2971 /* 5650 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2972 /* 5653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 241*/ GIMT_Encode4(5714), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23694 //
2973 /* 5660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2974 /* 5664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2975 /* 5668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2976 /* 5672 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2977 /* 5675 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2978 /* 5679 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2979 /* 5683 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2980 /* 5687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2981 /* 5689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2982 /* 5696 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2983 /* 5696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
2984 /* 5699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2985 /* 5701 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2986 /* 5703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2987 /* 5707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2988 /* 5712 */ GIR_RootConstrainSelectedInstOperands,
2989 /* 5713 */ // GIR_Coverage, 23694,
2990 /* 5713 */ GIR_EraseRootFromParent_Done,
2991 /* 5714 */ // Label 241: @5714
2992 /* 5714 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 242*/ GIMT_Encode4(5775), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 23964 //
2993 /* 5721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2994 /* 5725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2995 /* 5729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2996 /* 5733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2997 /* 5736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2998 /* 5740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2999 /* 5744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3000 /* 5748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3001 /* 5750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3002 /* 5757 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3003 /* 5757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
3004 /* 5760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3005 /* 5762 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3006 /* 5764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3007 /* 5768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3008 /* 5773 */ GIR_RootConstrainSelectedInstOperands,
3009 /* 5774 */ // GIR_Coverage, 23964,
3010 /* 5774 */ GIR_EraseRootFromParent_Done,
3011 /* 5775 */ // Label 242: @5775
3012 /* 5775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 243*/ GIMT_Encode4(5836), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2523 //
3013 /* 5782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3014 /* 5786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3015 /* 5790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3016 /* 5794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3017 /* 5798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3018 /* 5801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3019 /* 5805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3020 /* 5809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3021 /* 5811 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3022 /* 5818 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3023 /* 5818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
3024 /* 5821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3025 /* 5823 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3026 /* 5825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3027 /* 5829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3028 /* 5834 */ GIR_RootConstrainSelectedInstOperands,
3029 /* 5835 */ // GIR_Coverage, 2523,
3030 /* 5835 */ GIR_EraseRootFromParent_Done,
3031 /* 5836 */ // Label 243: @5836
3032 /* 5836 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 244*/ GIMT_Encode4(5897), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4655 //
3033 /* 5843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3034 /* 5847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3035 /* 5851 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3036 /* 5855 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3037 /* 5859 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3038 /* 5862 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3039 /* 5866 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3040 /* 5870 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3041 /* 5872 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3042 /* 5879 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3043 /* 5879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
3044 /* 5882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3045 /* 5884 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3046 /* 5886 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3047 /* 5890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3048 /* 5895 */ GIR_RootConstrainSelectedInstOperands,
3049 /* 5896 */ // GIR_Coverage, 4655,
3050 /* 5896 */ GIR_EraseRootFromParent_Done,
3051 /* 5897 */ // Label 244: @5897
3052 /* 5897 */ GIM_Try, /*On fail goto*//*Label 245*/ GIMT_Encode4(5943),
3053 /* 5902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3054 /* 5906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3055 /* 5910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3056 /* 5914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 246*/ GIMT_Encode4(5928), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2522 //
3057 /* 5921 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
3058 /* 5921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQrr),
3059 /* 5926 */ GIR_RootConstrainSelectedInstOperands,
3060 /* 5927 */ // GIR_Coverage, 2522,
3061 /* 5927 */ GIR_Done,
3062 /* 5928 */ // Label 246: @5928
3063 /* 5928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 247*/ GIMT_Encode4(5942), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2524 //
3064 /* 5935 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
3065 /* 5935 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDQrr),
3066 /* 5940 */ GIR_RootConstrainSelectedInstOperands,
3067 /* 5941 */ // GIR_Coverage, 2524,
3068 /* 5941 */ GIR_Done,
3069 /* 5942 */ // Label 247: @5942
3070 /* 5942 */ GIM_Reject,
3071 /* 5943 */ // Label 245: @5943
3072 /* 5943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 248*/ GIMT_Encode4(5969), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4652 //
3073 /* 5950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3074 /* 5954 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3075 /* 5958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3076 /* 5962 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPADDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
3077 /* 5962 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rr),
3078 /* 5967 */ GIR_RootConstrainSelectedInstOperands,
3079 /* 5968 */ // GIR_Coverage, 4652,
3080 /* 5968 */ GIR_Done,
3081 /* 5969 */ // Label 248: @5969
3082 /* 5969 */ GIM_Reject,
3083 /* 5970 */ // Label 240: @5970
3084 /* 5970 */ GIM_Reject,
3085 /* 5971 */ // Label 102: @5971
3086 /* 5971 */ GIM_Try, /*On fail goto*//*Label 249*/ GIMT_Encode4(6279),
3087 /* 5976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
3088 /* 5979 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
3089 /* 5982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 250*/ GIMT_Encode4(6043), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23696 //
3090 /* 5989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3091 /* 5993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3092 /* 5997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3093 /* 6001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3094 /* 6004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3095 /* 6008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3096 /* 6012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3097 /* 6016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3098 /* 6018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3099 /* 6025 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3100 /* 6025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
3101 /* 6028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3102 /* 6030 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3103 /* 6032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3104 /* 6036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3105 /* 6041 */ GIR_RootConstrainSelectedInstOperands,
3106 /* 6042 */ // GIR_Coverage, 23696,
3107 /* 6042 */ GIR_EraseRootFromParent_Done,
3108 /* 6043 */ // Label 250: @6043
3109 /* 6043 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 251*/ GIMT_Encode4(6104), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 23958 //
3110 /* 6050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3111 /* 6054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3112 /* 6058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3113 /* 6062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3114 /* 6065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3115 /* 6069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3116 /* 6073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3117 /* 6077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3118 /* 6079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3119 /* 6086 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3120 /* 6086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
3121 /* 6089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3122 /* 6091 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3123 /* 6093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3124 /* 6097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3125 /* 6102 */ GIR_RootConstrainSelectedInstOperands,
3126 /* 6103 */ // GIR_Coverage, 23958,
3127 /* 6103 */ GIR_EraseRootFromParent_Done,
3128 /* 6104 */ // Label 251: @6104
3129 /* 6104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 252*/ GIMT_Encode4(6165), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2527 //
3130 /* 6111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3131 /* 6115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3132 /* 6119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3133 /* 6123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3134 /* 6127 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3135 /* 6130 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3136 /* 6134 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3137 /* 6138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3138 /* 6140 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3139 /* 6147 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3140 /* 6147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
3141 /* 6150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3142 /* 6152 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3143 /* 6154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3144 /* 6158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3145 /* 6163 */ GIR_RootConstrainSelectedInstOperands,
3146 /* 6164 */ // GIR_Coverage, 2527,
3147 /* 6164 */ GIR_EraseRootFromParent_Done,
3148 /* 6165 */ // Label 252: @6165
3149 /* 6165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 253*/ GIMT_Encode4(6226), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4646 //
3150 /* 6172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3151 /* 6176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3152 /* 6180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3153 /* 6184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3154 /* 6188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3155 /* 6191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3156 /* 6195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3157 /* 6199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3158 /* 6201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3159 /* 6208 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3160 /* 6208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
3161 /* 6211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3162 /* 6213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3163 /* 6215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3164 /* 6219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3165 /* 6224 */ GIR_RootConstrainSelectedInstOperands,
3166 /* 6225 */ // GIR_Coverage, 4646,
3167 /* 6225 */ GIR_EraseRootFromParent_Done,
3168 /* 6226 */ // Label 253: @6226
3169 /* 6226 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 254*/ GIMT_Encode4(6252), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2526 //
3170 /* 6233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3171 /* 6237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3172 /* 6241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3173 /* 6245 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPADDQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
3174 /* 6245 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQYrr),
3175 /* 6250 */ GIR_RootConstrainSelectedInstOperands,
3176 /* 6251 */ // GIR_Coverage, 2526,
3177 /* 6251 */ GIR_Done,
3178 /* 6252 */ // Label 254: @6252
3179 /* 6252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 255*/ GIMT_Encode4(6278), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4643 //
3180 /* 6259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3181 /* 6263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3182 /* 6267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3183 /* 6271 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPADDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
3184 /* 6271 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rr),
3185 /* 6276 */ GIR_RootConstrainSelectedInstOperands,
3186 /* 6277 */ // GIR_Coverage, 4643,
3187 /* 6277 */ GIR_Done,
3188 /* 6278 */ // Label 255: @6278
3189 /* 6278 */ GIM_Reject,
3190 /* 6279 */ // Label 249: @6279
3191 /* 6279 */ GIM_Reject,
3192 /* 6280 */ // Label 103: @6280
3193 /* 6280 */ GIM_Try, /*On fail goto*//*Label 256*/ GIMT_Encode4(6434),
3194 /* 6285 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
3195 /* 6288 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
3196 /* 6291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3197 /* 6295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 257*/ GIMT_Encode4(6352), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23952 //
3198 /* 6302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3199 /* 6306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3200 /* 6310 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3201 /* 6313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3202 /* 6317 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3203 /* 6321 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3204 /* 6325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3205 /* 6327 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3206 /* 6334 */ // (add:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3207 /* 6334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
3208 /* 6337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3209 /* 6339 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3210 /* 6341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3211 /* 6345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3212 /* 6350 */ GIR_RootConstrainSelectedInstOperands,
3213 /* 6351 */ // GIR_Coverage, 23952,
3214 /* 6351 */ GIR_EraseRootFromParent_Done,
3215 /* 6352 */ // Label 257: @6352
3216 /* 6352 */ GIM_Try, /*On fail goto*//*Label 258*/ GIMT_Encode4(6433),
3217 /* 6357 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3218 /* 6361 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 259*/ GIMT_Encode4(6414), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4637 //
3219 /* 6368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3220 /* 6372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3221 /* 6376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3222 /* 6379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3223 /* 6383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3224 /* 6387 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3225 /* 6389 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3226 /* 6396 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3227 /* 6396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
3228 /* 6399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3229 /* 6401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3230 /* 6403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3231 /* 6407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3232 /* 6412 */ GIR_RootConstrainSelectedInstOperands,
3233 /* 6413 */ // GIR_Coverage, 4637,
3234 /* 6413 */ GIR_EraseRootFromParent_Done,
3235 /* 6414 */ // Label 259: @6414
3236 /* 6414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 260*/ GIMT_Encode4(6432), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4634 //
3237 /* 6421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3238 /* 6425 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPADDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
3239 /* 6425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZrr),
3240 /* 6430 */ GIR_RootConstrainSelectedInstOperands,
3241 /* 6431 */ // GIR_Coverage, 4634,
3242 /* 6431 */ GIR_Done,
3243 /* 6432 */ // Label 260: @6432
3244 /* 6432 */ GIM_Reject,
3245 /* 6433 */ // Label 258: @6433
3246 /* 6433 */ GIM_Reject,
3247 /* 6434 */ // Label 256: @6434
3248 /* 6434 */ GIM_Reject,
3249 /* 6435 */ // Label 104: @6435
3250 /* 6435 */ GIM_Reject,
3251 /* 6436 */ // Label 1: @6436
3252 /* 6436 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 277*/ GIMT_Encode4(9571),
3253 /* 6447 */ /*GILLT_s8*//*Label 261*/ GIMT_Encode4(6543),
3254 /* 6451 */ /*GILLT_s16*//*Label 262*/ GIMT_Encode4(6812),
3255 /* 6455 */ /*GILLT_s32*//*Label 263*/ GIMT_Encode4(7081),
3256 /* 6459 */ /*GILLT_s64*//*Label 264*/ GIMT_Encode4(7350), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
3257 /* 6495 */ /*GILLT_v16s8*//*Label 265*/ GIMT_Encode4(7627),
3258 /* 6499 */ /*GILLT_v32s8*//*Label 266*/ GIMT_Encode4(7834),
3259 /* 6503 */ /*GILLT_v64s8*//*Label 267*/ GIMT_Encode4(8021),
3260 /* 6507 */ /*GILLT_v8s16*//*Label 268*/ GIMT_Encode4(8113),
3261 /* 6511 */ /*GILLT_v16s16*//*Label 269*/ GIMT_Encode4(8320),
3262 /* 6515 */ /*GILLT_v32s16*//*Label 270*/ GIMT_Encode4(8507),
3263 /* 6519 */ /*GILLT_v4s32*//*Label 271*/ GIMT_Encode4(8599),
3264 /* 6523 */ /*GILLT_v8s32*//*Label 272*/ GIMT_Encode4(8806),
3265 /* 6527 */ /*GILLT_v16s32*//*Label 273*/ GIMT_Encode4(8993),
3266 /* 6531 */ /*GILLT_v2s64*//*Label 274*/ GIMT_Encode4(9085),
3267 /* 6535 */ /*GILLT_v4s64*//*Label 275*/ GIMT_Encode4(9292),
3268 /* 6539 */ /*GILLT_v8s64*//*Label 276*/ GIMT_Encode4(9479),
3269 /* 6543 */ // Label 261: @6543
3270 /* 6543 */ GIM_Try, /*On fail goto*//*Label 278*/ GIMT_Encode4(6811),
3271 /* 6548 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
3272 /* 6551 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
3273 /* 6554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3274 /* 6558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 279*/ GIMT_Encode4(6618), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23060 //
3275 /* 6565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3276 /* 6569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3277 /* 6573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3278 /* 6577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3279 /* 6580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3280 /* 6584 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
3281 /* 6588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3282 /* 6590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3283 /* 6597 */ // (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)
3284 /* 6597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8rm),
3285 /* 6600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3286 /* 6602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3287 /* 6604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3288 /* 6608 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3289 /* 6611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3290 /* 6616 */ GIR_RootConstrainSelectedInstOperands,
3291 /* 6617 */ // GIR_Coverage, 23060,
3292 /* 6617 */ GIR_EraseRootFromParent_Done,
3293 /* 6618 */ // Label 279: @6618
3294 /* 6618 */ GIM_Try, /*On fail goto*//*Label 280*/ GIMT_Encode4(6686),
3295 /* 6623 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3296 /* 6627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3297 /* 6631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 281*/ GIMT_Encode4(6650), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 239 //
3298 /* 6638 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3299 /* 6638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r),
3300 /* 6641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3301 /* 6643 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3302 /* 6645 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3303 /* 6648 */ GIR_RootConstrainSelectedInstOperands,
3304 /* 6649 */ // GIR_Coverage, 239,
3305 /* 6649 */ GIR_EraseRootFromParent_Done,
3306 /* 6650 */ // Label 281: @6650
3307 /* 6650 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 282*/ GIMT_Encode4(6669), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 247 //
3308 /* 6657 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3309 /* 6657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_ND),
3310 /* 6660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3311 /* 6662 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3312 /* 6664 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3313 /* 6667 */ GIR_RootConstrainSelectedInstOperands,
3314 /* 6668 */ // GIR_Coverage, 247,
3315 /* 6668 */ GIR_EraseRootFromParent_Done,
3316 /* 6669 */ // Label 282: @6669
3317 /* 6669 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 283*/ GIMT_Encode4(6685), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 255 //
3318 /* 6676 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_NF_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
3319 /* 6676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_NF_ND),
3320 /* 6679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3321 /* 6681 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3322 /* 6683 */ GIR_RootConstrainSelectedInstOperands,
3323 /* 6684 */ // GIR_Coverage, 255,
3324 /* 6684 */ GIR_EraseRootFromParent_Done,
3325 /* 6685 */ // Label 283: @6685
3326 /* 6685 */ GIM_Reject,
3327 /* 6686 */ // Label 280: @6686
3328 /* 6686 */ GIM_Try, /*On fail goto*//*Label 284*/ GIMT_Encode4(6810),
3329 /* 6691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3330 /* 6695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 285*/ GIMT_Encode4(6727), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23064 //
3331 /* 6702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3332 /* 6706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3333 /* 6710 */ // MIs[1] Operand 1
3334 /* 6710 */ // No operand predicates
3335 /* 6710 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3336 /* 6712 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3337 /* 6712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri),
3338 /* 6715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3339 /* 6717 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3340 /* 6719 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3341 /* 6722 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3342 /* 6725 */ GIR_RootConstrainSelectedInstOperands,
3343 /* 6726 */ // GIR_Coverage, 23064,
3344 /* 6726 */ GIR_EraseRootFromParent_Done,
3345 /* 6727 */ // Label 285: @6727
3346 /* 6727 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 286*/ GIMT_Encode4(6759), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23154 //
3347 /* 6734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3348 /* 6738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3349 /* 6742 */ // MIs[1] Operand 1
3350 /* 6742 */ // No operand predicates
3351 /* 6742 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3352 /* 6744 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3353 /* 6744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri_ND),
3354 /* 6747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3355 /* 6749 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3356 /* 6751 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3357 /* 6754 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3358 /* 6757 */ GIR_RootConstrainSelectedInstOperands,
3359 /* 6758 */ // GIR_Coverage, 23154,
3360 /* 6758 */ GIR_EraseRootFromParent_Done,
3361 /* 6759 */ // Label 286: @6759
3362 /* 6759 */ GIM_Try, /*On fail goto*//*Label 287*/ GIMT_Encode4(6809),
3363 /* 6764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3364 /* 6768 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 288*/ GIMT_Encode4(6788), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23056 //
3365 /* 6775 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3366 /* 6775 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr),
3367 /* 6780 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3368 /* 6786 */ GIR_RootConstrainSelectedInstOperands,
3369 /* 6787 */ // GIR_Coverage, 23056,
3370 /* 6787 */ GIR_Done,
3371 /* 6788 */ // Label 288: @6788
3372 /* 6788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 289*/ GIMT_Encode4(6808), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23146 //
3373 /* 6795 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3374 /* 6795 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr_ND),
3375 /* 6800 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3376 /* 6806 */ GIR_RootConstrainSelectedInstOperands,
3377 /* 6807 */ // GIR_Coverage, 23146,
3378 /* 6807 */ GIR_Done,
3379 /* 6808 */ // Label 289: @6808
3380 /* 6808 */ GIM_Reject,
3381 /* 6809 */ // Label 287: @6809
3382 /* 6809 */ GIM_Reject,
3383 /* 6810 */ // Label 284: @6810
3384 /* 6810 */ GIM_Reject,
3385 /* 6811 */ // Label 278: @6811
3386 /* 6811 */ GIM_Reject,
3387 /* 6812 */ // Label 262: @6812
3388 /* 6812 */ GIM_Try, /*On fail goto*//*Label 290*/ GIMT_Encode4(7080),
3389 /* 6817 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
3390 /* 6820 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
3391 /* 6823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3392 /* 6827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 291*/ GIMT_Encode4(6887), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23061 //
3393 /* 6834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3394 /* 6838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3395 /* 6842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3396 /* 6846 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3397 /* 6849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3398 /* 6853 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
3399 /* 6857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3400 /* 6859 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3401 /* 6866 */ // (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)
3402 /* 6866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16rm),
3403 /* 6869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3404 /* 6871 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3405 /* 6873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3406 /* 6877 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3407 /* 6880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3408 /* 6885 */ GIR_RootConstrainSelectedInstOperands,
3409 /* 6886 */ // GIR_Coverage, 23061,
3410 /* 6886 */ GIR_EraseRootFromParent_Done,
3411 /* 6887 */ // Label 291: @6887
3412 /* 6887 */ GIM_Try, /*On fail goto*//*Label 292*/ GIMT_Encode4(6955),
3413 /* 6892 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3414 /* 6896 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3415 /* 6900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 293*/ GIMT_Encode4(6919), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 240 //
3416 /* 6907 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3417 /* 6907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r),
3418 /* 6910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3419 /* 6912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3420 /* 6914 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3421 /* 6917 */ GIR_RootConstrainSelectedInstOperands,
3422 /* 6918 */ // GIR_Coverage, 240,
3423 /* 6918 */ GIR_EraseRootFromParent_Done,
3424 /* 6919 */ // Label 293: @6919
3425 /* 6919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 294*/ GIMT_Encode4(6938), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 248 //
3426 /* 6926 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3427 /* 6926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_ND),
3428 /* 6929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3429 /* 6931 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3430 /* 6933 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3431 /* 6936 */ GIR_RootConstrainSelectedInstOperands,
3432 /* 6937 */ // GIR_Coverage, 248,
3433 /* 6937 */ GIR_EraseRootFromParent_Done,
3434 /* 6938 */ // Label 294: @6938
3435 /* 6938 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 295*/ GIMT_Encode4(6954), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 256 //
3436 /* 6945 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_NF_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
3437 /* 6945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_NF_ND),
3438 /* 6948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3439 /* 6950 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3440 /* 6952 */ GIR_RootConstrainSelectedInstOperands,
3441 /* 6953 */ // GIR_Coverage, 256,
3442 /* 6953 */ GIR_EraseRootFromParent_Done,
3443 /* 6954 */ // Label 295: @6954
3444 /* 6954 */ GIM_Reject,
3445 /* 6955 */ // Label 292: @6955
3446 /* 6955 */ GIM_Try, /*On fail goto*//*Label 296*/ GIMT_Encode4(7079),
3447 /* 6960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3448 /* 6964 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 297*/ GIMT_Encode4(6996), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23065 //
3449 /* 6971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3450 /* 6975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3451 /* 6979 */ // MIs[1] Operand 1
3452 /* 6979 */ // No operand predicates
3453 /* 6979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3454 /* 6981 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3455 /* 6981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
3456 /* 6984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3457 /* 6986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3458 /* 6988 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3459 /* 6991 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3460 /* 6994 */ GIR_RootConstrainSelectedInstOperands,
3461 /* 6995 */ // GIR_Coverage, 23065,
3462 /* 6995 */ GIR_EraseRootFromParent_Done,
3463 /* 6996 */ // Label 297: @6996
3464 /* 6996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 298*/ GIMT_Encode4(7028), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23155 //
3465 /* 7003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3466 /* 7007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3467 /* 7011 */ // MIs[1] Operand 1
3468 /* 7011 */ // No operand predicates
3469 /* 7011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3470 /* 7013 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3471 /* 7013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
3472 /* 7016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3473 /* 7018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3474 /* 7020 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3475 /* 7023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3476 /* 7026 */ GIR_RootConstrainSelectedInstOperands,
3477 /* 7027 */ // GIR_Coverage, 23155,
3478 /* 7027 */ GIR_EraseRootFromParent_Done,
3479 /* 7028 */ // Label 298: @7028
3480 /* 7028 */ GIM_Try, /*On fail goto*//*Label 299*/ GIMT_Encode4(7078),
3481 /* 7033 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3482 /* 7037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 300*/ GIMT_Encode4(7057), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23057 //
3483 /* 7044 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3484 /* 7044 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr),
3485 /* 7049 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3486 /* 7055 */ GIR_RootConstrainSelectedInstOperands,
3487 /* 7056 */ // GIR_Coverage, 23057,
3488 /* 7056 */ GIR_Done,
3489 /* 7057 */ // Label 300: @7057
3490 /* 7057 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 301*/ GIMT_Encode4(7077), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23147 //
3491 /* 7064 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3492 /* 7064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr_ND),
3493 /* 7069 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3494 /* 7075 */ GIR_RootConstrainSelectedInstOperands,
3495 /* 7076 */ // GIR_Coverage, 23147,
3496 /* 7076 */ GIR_Done,
3497 /* 7077 */ // Label 301: @7077
3498 /* 7077 */ GIM_Reject,
3499 /* 7078 */ // Label 299: @7078
3500 /* 7078 */ GIM_Reject,
3501 /* 7079 */ // Label 296: @7079
3502 /* 7079 */ GIM_Reject,
3503 /* 7080 */ // Label 290: @7080
3504 /* 7080 */ GIM_Reject,
3505 /* 7081 */ // Label 263: @7081
3506 /* 7081 */ GIM_Try, /*On fail goto*//*Label 302*/ GIMT_Encode4(7349),
3507 /* 7086 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3508 /* 7089 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
3509 /* 7092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3510 /* 7096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 303*/ GIMT_Encode4(7156), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23062 //
3511 /* 7103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3512 /* 7107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3513 /* 7111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3514 /* 7115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3515 /* 7118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3516 /* 7122 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
3517 /* 7126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3518 /* 7128 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3519 /* 7135 */ // (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)
3520 /* 7135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32rm),
3521 /* 7138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3522 /* 7140 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3523 /* 7142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3524 /* 7146 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3525 /* 7149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3526 /* 7154 */ GIR_RootConstrainSelectedInstOperands,
3527 /* 7155 */ // GIR_Coverage, 23062,
3528 /* 7155 */ GIR_EraseRootFromParent_Done,
3529 /* 7156 */ // Label 303: @7156
3530 /* 7156 */ GIM_Try, /*On fail goto*//*Label 304*/ GIMT_Encode4(7224),
3531 /* 7161 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3532 /* 7165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3533 /* 7169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 305*/ GIMT_Encode4(7188), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 241 //
3534 /* 7176 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3535 /* 7176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r),
3536 /* 7179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3537 /* 7181 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3538 /* 7183 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3539 /* 7186 */ GIR_RootConstrainSelectedInstOperands,
3540 /* 7187 */ // GIR_Coverage, 241,
3541 /* 7187 */ GIR_EraseRootFromParent_Done,
3542 /* 7188 */ // Label 305: @7188
3543 /* 7188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 306*/ GIMT_Encode4(7207), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 249 //
3544 /* 7195 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3545 /* 7195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_ND),
3546 /* 7198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3547 /* 7200 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3548 /* 7202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3549 /* 7205 */ GIR_RootConstrainSelectedInstOperands,
3550 /* 7206 */ // GIR_Coverage, 249,
3551 /* 7206 */ GIR_EraseRootFromParent_Done,
3552 /* 7207 */ // Label 306: @7207
3553 /* 7207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 307*/ GIMT_Encode4(7223), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 257 //
3554 /* 7214 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_NF_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3555 /* 7214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_NF_ND),
3556 /* 7217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3557 /* 7219 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3558 /* 7221 */ GIR_RootConstrainSelectedInstOperands,
3559 /* 7222 */ // GIR_Coverage, 257,
3560 /* 7222 */ GIR_EraseRootFromParent_Done,
3561 /* 7223 */ // Label 307: @7223
3562 /* 7223 */ GIM_Reject,
3563 /* 7224 */ // Label 304: @7224
3564 /* 7224 */ GIM_Try, /*On fail goto*//*Label 308*/ GIMT_Encode4(7348),
3565 /* 7229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3566 /* 7233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 309*/ GIMT_Encode4(7265), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23066 //
3567 /* 7240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3568 /* 7244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3569 /* 7248 */ // MIs[1] Operand 1
3570 /* 7248 */ // No operand predicates
3571 /* 7248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3572 /* 7250 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3573 /* 7250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
3574 /* 7253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3575 /* 7255 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3576 /* 7257 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3577 /* 7260 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3578 /* 7263 */ GIR_RootConstrainSelectedInstOperands,
3579 /* 7264 */ // GIR_Coverage, 23066,
3580 /* 7264 */ GIR_EraseRootFromParent_Done,
3581 /* 7265 */ // Label 309: @7265
3582 /* 7265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 310*/ GIMT_Encode4(7297), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23156 //
3583 /* 7272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3584 /* 7276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3585 /* 7280 */ // MIs[1] Operand 1
3586 /* 7280 */ // No operand predicates
3587 /* 7280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3588 /* 7282 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3589 /* 7282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
3590 /* 7285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3591 /* 7287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3592 /* 7289 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3593 /* 7292 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3594 /* 7295 */ GIR_RootConstrainSelectedInstOperands,
3595 /* 7296 */ // GIR_Coverage, 23156,
3596 /* 7296 */ GIR_EraseRootFromParent_Done,
3597 /* 7297 */ // Label 310: @7297
3598 /* 7297 */ GIM_Try, /*On fail goto*//*Label 311*/ GIMT_Encode4(7347),
3599 /* 7302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3600 /* 7306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 312*/ GIMT_Encode4(7326), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23058 //
3601 /* 7313 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3602 /* 7313 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr),
3603 /* 7318 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3604 /* 7324 */ GIR_RootConstrainSelectedInstOperands,
3605 /* 7325 */ // GIR_Coverage, 23058,
3606 /* 7325 */ GIR_Done,
3607 /* 7326 */ // Label 312: @7326
3608 /* 7326 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 313*/ GIMT_Encode4(7346), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23148 //
3609 /* 7333 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3610 /* 7333 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr_ND),
3611 /* 7338 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3612 /* 7344 */ GIR_RootConstrainSelectedInstOperands,
3613 /* 7345 */ // GIR_Coverage, 23148,
3614 /* 7345 */ GIR_Done,
3615 /* 7346 */ // Label 313: @7346
3616 /* 7346 */ GIM_Reject,
3617 /* 7347 */ // Label 311: @7347
3618 /* 7347 */ GIM_Reject,
3619 /* 7348 */ // Label 308: @7348
3620 /* 7348 */ GIM_Reject,
3621 /* 7349 */ // Label 302: @7349
3622 /* 7349 */ GIM_Reject,
3623 /* 7350 */ // Label 264: @7350
3624 /* 7350 */ GIM_Try, /*On fail goto*//*Label 314*/ GIMT_Encode4(7626),
3625 /* 7355 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
3626 /* 7358 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
3627 /* 7361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3628 /* 7365 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 315*/ GIMT_Encode4(7425), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23063 //
3629 /* 7372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3630 /* 7376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3631 /* 7380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3632 /* 7384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3633 /* 7387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3634 /* 7391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3635 /* 7395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3636 /* 7397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3637 /* 7404 */ // (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)
3638 /* 7404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64rm),
3639 /* 7407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3640 /* 7409 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3641 /* 7411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3642 /* 7415 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3643 /* 7418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3644 /* 7423 */ GIR_RootConstrainSelectedInstOperands,
3645 /* 7424 */ // GIR_Coverage, 23063,
3646 /* 7424 */ GIR_EraseRootFromParent_Done,
3647 /* 7425 */ // Label 315: @7425
3648 /* 7425 */ GIM_Try, /*On fail goto*//*Label 316*/ GIMT_Encode4(7493),
3649 /* 7430 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3650 /* 7434 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3651 /* 7438 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 317*/ GIMT_Encode4(7457), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 242 //
3652 /* 7445 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
3653 /* 7445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r),
3654 /* 7448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3655 /* 7450 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3656 /* 7452 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3657 /* 7455 */ GIR_RootConstrainSelectedInstOperands,
3658 /* 7456 */ // GIR_Coverage, 242,
3659 /* 7456 */ GIR_EraseRootFromParent_Done,
3660 /* 7457 */ // Label 317: @7457
3661 /* 7457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 318*/ GIMT_Encode4(7476), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 250 //
3662 /* 7464 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
3663 /* 7464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_ND),
3664 /* 7467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3665 /* 7469 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3666 /* 7471 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3667 /* 7474 */ GIR_RootConstrainSelectedInstOperands,
3668 /* 7475 */ // GIR_Coverage, 250,
3669 /* 7475 */ GIR_EraseRootFromParent_Done,
3670 /* 7476 */ // Label 318: @7476
3671 /* 7476 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 319*/ GIMT_Encode4(7492), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 258 //
3672 /* 7483 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_NF_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
3673 /* 7483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_NF_ND),
3674 /* 7486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3675 /* 7488 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3676 /* 7490 */ GIR_RootConstrainSelectedInstOperands,
3677 /* 7491 */ // GIR_Coverage, 258,
3678 /* 7491 */ GIR_EraseRootFromParent_Done,
3679 /* 7492 */ // Label 319: @7492
3680 /* 7492 */ GIM_Reject,
3681 /* 7493 */ // Label 316: @7493
3682 /* 7493 */ GIM_Try, /*On fail goto*//*Label 320*/ GIMT_Encode4(7625),
3683 /* 7498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3684 /* 7502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 321*/ GIMT_Encode4(7538), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23114 //
3685 /* 7509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3686 /* 7513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3687 /* 7517 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
3688 /* 7521 */ // MIs[1] Operand 1
3689 /* 7521 */ // No operand predicates
3690 /* 7521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3691 /* 7523 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
3692 /* 7523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
3693 /* 7526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3694 /* 7528 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3695 /* 7530 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3696 /* 7533 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3697 /* 7536 */ GIR_RootConstrainSelectedInstOperands,
3698 /* 7537 */ // GIR_Coverage, 23114,
3699 /* 7537 */ GIR_EraseRootFromParent_Done,
3700 /* 7538 */ // Label 321: @7538
3701 /* 7538 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 322*/ GIMT_Encode4(7574), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23204 //
3702 /* 7545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3703 /* 7549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3704 /* 7553 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
3705 /* 7557 */ // MIs[1] Operand 1
3706 /* 7557 */ // No operand predicates
3707 /* 7557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3708 /* 7559 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
3709 /* 7559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
3710 /* 7562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3711 /* 7564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3712 /* 7566 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3713 /* 7569 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3714 /* 7572 */ GIR_RootConstrainSelectedInstOperands,
3715 /* 7573 */ // GIR_Coverage, 23204,
3716 /* 7573 */ GIR_EraseRootFromParent_Done,
3717 /* 7574 */ // Label 322: @7574
3718 /* 7574 */ GIM_Try, /*On fail goto*//*Label 323*/ GIMT_Encode4(7624),
3719 /* 7579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3720 /* 7583 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 324*/ GIMT_Encode4(7603), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23059 //
3721 /* 7590 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
3722 /* 7590 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr),
3723 /* 7595 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3724 /* 7601 */ GIR_RootConstrainSelectedInstOperands,
3725 /* 7602 */ // GIR_Coverage, 23059,
3726 /* 7602 */ GIR_Done,
3727 /* 7603 */ // Label 324: @7603
3728 /* 7603 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 325*/ GIMT_Encode4(7623), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23149 //
3729 /* 7610 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
3730 /* 7610 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr_ND),
3731 /* 7615 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3732 /* 7621 */ GIR_RootConstrainSelectedInstOperands,
3733 /* 7622 */ // GIR_Coverage, 23149,
3734 /* 7622 */ GIR_Done,
3735 /* 7623 */ // Label 325: @7623
3736 /* 7623 */ GIM_Reject,
3737 /* 7624 */ // Label 323: @7624
3738 /* 7624 */ GIM_Reject,
3739 /* 7625 */ // Label 320: @7625
3740 /* 7625 */ GIM_Reject,
3741 /* 7626 */ // Label 314: @7626
3742 /* 7626 */ GIM_Reject,
3743 /* 7627 */ // Label 265: @7627
3744 /* 7627 */ GIM_Try, /*On fail goto*//*Label 326*/ GIMT_Encode4(7833),
3745 /* 7632 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3746 /* 7635 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
3747 /* 7638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 327*/ GIMT_Encode4(7699), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2571 //
3748 /* 7645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3749 /* 7649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3750 /* 7653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3751 /* 7657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3752 /* 7661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3753 /* 7664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3754 /* 7668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3755 /* 7672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3756 /* 7674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3757 /* 7681 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3758 /* 7681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBrm),
3759 /* 7684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3760 /* 7686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3761 /* 7688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3762 /* 7692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3763 /* 7697 */ GIR_RootConstrainSelectedInstOperands,
3764 /* 7698 */ // GIR_Coverage, 2571,
3765 /* 7698 */ GIR_EraseRootFromParent_Done,
3766 /* 7699 */ // Label 327: @7699
3767 /* 7699 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 328*/ GIMT_Encode4(7760), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4811 //
3768 /* 7706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3769 /* 7710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3770 /* 7714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3771 /* 7718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3772 /* 7722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3773 /* 7725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3774 /* 7729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3775 /* 7733 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3776 /* 7735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3777 /* 7742 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3778 /* 7742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rm),
3779 /* 7745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3780 /* 7747 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3781 /* 7749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3782 /* 7753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3783 /* 7758 */ GIR_RootConstrainSelectedInstOperands,
3784 /* 7759 */ // GIR_Coverage, 4811,
3785 /* 7759 */ GIR_EraseRootFromParent_Done,
3786 /* 7760 */ // Label 328: @7760
3787 /* 7760 */ GIM_Try, /*On fail goto*//*Label 329*/ GIMT_Encode4(7806),
3788 /* 7765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3789 /* 7769 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3790 /* 7773 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3791 /* 7777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 330*/ GIMT_Encode4(7791), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2570 //
3792 /* 7784 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3793 /* 7784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBrr),
3794 /* 7789 */ GIR_RootConstrainSelectedInstOperands,
3795 /* 7790 */ // GIR_Coverage, 2570,
3796 /* 7790 */ GIR_Done,
3797 /* 7791 */ // Label 330: @7791
3798 /* 7791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 331*/ GIMT_Encode4(7805), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2572 //
3799 /* 7798 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3800 /* 7798 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBBrr),
3801 /* 7803 */ GIR_RootConstrainSelectedInstOperands,
3802 /* 7804 */ // GIR_Coverage, 2572,
3803 /* 7804 */ GIR_Done,
3804 /* 7805 */ // Label 331: @7805
3805 /* 7805 */ GIM_Reject,
3806 /* 7806 */ // Label 329: @7806
3807 /* 7806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 332*/ GIMT_Encode4(7832), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4808 //
3808 /* 7813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3809 /* 7817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3810 /* 7821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3811 /* 7825 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
3812 /* 7825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rr),
3813 /* 7830 */ GIR_RootConstrainSelectedInstOperands,
3814 /* 7831 */ // GIR_Coverage, 4808,
3815 /* 7831 */ GIR_Done,
3816 /* 7832 */ // Label 332: @7832
3817 /* 7832 */ GIM_Reject,
3818 /* 7833 */ // Label 326: @7833
3819 /* 7833 */ GIM_Reject,
3820 /* 7834 */ // Label 266: @7834
3821 /* 7834 */ GIM_Try, /*On fail goto*//*Label 333*/ GIMT_Encode4(8020),
3822 /* 7839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
3823 /* 7842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
3824 /* 7845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 334*/ GIMT_Encode4(7906), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2575 //
3825 /* 7852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3826 /* 7856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3827 /* 7860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3828 /* 7864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3829 /* 7868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3830 /* 7871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3831 /* 7875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3832 /* 7879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3833 /* 7881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3834 /* 7888 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3835 /* 7888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrm),
3836 /* 7891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3837 /* 7893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3838 /* 7895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3839 /* 7899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3840 /* 7904 */ GIR_RootConstrainSelectedInstOperands,
3841 /* 7905 */ // GIR_Coverage, 2575,
3842 /* 7905 */ GIR_EraseRootFromParent_Done,
3843 /* 7906 */ // Label 334: @7906
3844 /* 7906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 335*/ GIMT_Encode4(7967), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4805 //
3845 /* 7913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3846 /* 7917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3847 /* 7921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3848 /* 7925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3849 /* 7929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3850 /* 7932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3851 /* 7936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3852 /* 7940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3853 /* 7942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3854 /* 7949 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3855 /* 7949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rm),
3856 /* 7952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3857 /* 7954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3858 /* 7956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3859 /* 7960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3860 /* 7965 */ GIR_RootConstrainSelectedInstOperands,
3861 /* 7966 */ // GIR_Coverage, 4805,
3862 /* 7966 */ GIR_EraseRootFromParent_Done,
3863 /* 7967 */ // Label 335: @7967
3864 /* 7967 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 336*/ GIMT_Encode4(7993), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2574 //
3865 /* 7974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3866 /* 7978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3867 /* 7982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3868 /* 7986 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
3869 /* 7986 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrr),
3870 /* 7991 */ GIR_RootConstrainSelectedInstOperands,
3871 /* 7992 */ // GIR_Coverage, 2574,
3872 /* 7992 */ GIR_Done,
3873 /* 7993 */ // Label 336: @7993
3874 /* 7993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 337*/ GIMT_Encode4(8019), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4802 //
3875 /* 8000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3876 /* 8004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3877 /* 8008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3878 /* 8012 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
3879 /* 8012 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rr),
3880 /* 8017 */ GIR_RootConstrainSelectedInstOperands,
3881 /* 8018 */ // GIR_Coverage, 4802,
3882 /* 8018 */ GIR_Done,
3883 /* 8019 */ // Label 337: @8019
3884 /* 8019 */ GIM_Reject,
3885 /* 8020 */ // Label 333: @8020
3886 /* 8020 */ GIM_Reject,
3887 /* 8021 */ // Label 267: @8021
3888 /* 8021 */ GIM_Try, /*On fail goto*//*Label 338*/ GIMT_Encode4(8112),
3889 /* 8026 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
3890 /* 8029 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
3891 /* 8032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3892 /* 8036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3893 /* 8040 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 339*/ GIMT_Encode4(8093), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4799 //
3894 /* 8047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3895 /* 8051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3896 /* 8055 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3897 /* 8058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3898 /* 8062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3899 /* 8066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3900 /* 8068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3901 /* 8075 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3902 /* 8075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrm),
3903 /* 8078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3904 /* 8080 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3905 /* 8082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3906 /* 8086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3907 /* 8091 */ GIR_RootConstrainSelectedInstOperands,
3908 /* 8092 */ // GIR_Coverage, 4799,
3909 /* 8092 */ GIR_EraseRootFromParent_Done,
3910 /* 8093 */ // Label 339: @8093
3911 /* 8093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 340*/ GIMT_Encode4(8111), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4796 //
3912 /* 8100 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3913 /* 8104 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
3914 /* 8104 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrr),
3915 /* 8109 */ GIR_RootConstrainSelectedInstOperands,
3916 /* 8110 */ // GIR_Coverage, 4796,
3917 /* 8110 */ GIR_Done,
3918 /* 8111 */ // Label 340: @8111
3919 /* 8111 */ GIM_Reject,
3920 /* 8112 */ // Label 338: @8112
3921 /* 8112 */ GIM_Reject,
3922 /* 8113 */ // Label 268: @8113
3923 /* 8113 */ GIM_Try, /*On fail goto*//*Label 341*/ GIMT_Encode4(8319),
3924 /* 8118 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3925 /* 8121 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
3926 /* 8124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 342*/ GIMT_Encode4(8185), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2577 //
3927 /* 8131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3928 /* 8135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3929 /* 8139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3930 /* 8143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3931 /* 8147 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3932 /* 8150 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3933 /* 8154 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3934 /* 8158 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3935 /* 8160 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3936 /* 8167 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3937 /* 8167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWrm),
3938 /* 8170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3939 /* 8172 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3940 /* 8174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3941 /* 8178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3942 /* 8183 */ GIR_RootConstrainSelectedInstOperands,
3943 /* 8184 */ // GIR_Coverage, 2577,
3944 /* 8184 */ GIR_EraseRootFromParent_Done,
3945 /* 8185 */ // Label 342: @8185
3946 /* 8185 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 343*/ GIMT_Encode4(8246), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4793 //
3947 /* 8192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3948 /* 8196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3949 /* 8200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3950 /* 8204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3951 /* 8208 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3952 /* 8211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3953 /* 8215 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3954 /* 8219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3955 /* 8221 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3956 /* 8228 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3957 /* 8228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rm),
3958 /* 8231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3959 /* 8233 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3960 /* 8235 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3961 /* 8239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3962 /* 8244 */ GIR_RootConstrainSelectedInstOperands,
3963 /* 8245 */ // GIR_Coverage, 4793,
3964 /* 8245 */ GIR_EraseRootFromParent_Done,
3965 /* 8246 */ // Label 343: @8246
3966 /* 8246 */ GIM_Try, /*On fail goto*//*Label 344*/ GIMT_Encode4(8292),
3967 /* 8251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3968 /* 8255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3969 /* 8259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3970 /* 8263 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 345*/ GIMT_Encode4(8277), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2576 //
3971 /* 8270 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
3972 /* 8270 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWrr),
3973 /* 8275 */ GIR_RootConstrainSelectedInstOperands,
3974 /* 8276 */ // GIR_Coverage, 2576,
3975 /* 8276 */ GIR_Done,
3976 /* 8277 */ // Label 345: @8277
3977 /* 8277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 346*/ GIMT_Encode4(8291), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2578 //
3978 /* 8284 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
3979 /* 8284 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBWrr),
3980 /* 8289 */ GIR_RootConstrainSelectedInstOperands,
3981 /* 8290 */ // GIR_Coverage, 2578,
3982 /* 8290 */ GIR_Done,
3983 /* 8291 */ // Label 346: @8291
3984 /* 8291 */ GIM_Reject,
3985 /* 8292 */ // Label 344: @8292
3986 /* 8292 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 347*/ GIMT_Encode4(8318), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4790 //
3987 /* 8299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3988 /* 8303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3989 /* 8307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3990 /* 8311 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
3991 /* 8311 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rr),
3992 /* 8316 */ GIR_RootConstrainSelectedInstOperands,
3993 /* 8317 */ // GIR_Coverage, 4790,
3994 /* 8317 */ GIR_Done,
3995 /* 8318 */ // Label 347: @8318
3996 /* 8318 */ GIM_Reject,
3997 /* 8319 */ // Label 341: @8319
3998 /* 8319 */ GIM_Reject,
3999 /* 8320 */ // Label 269: @8320
4000 /* 8320 */ GIM_Try, /*On fail goto*//*Label 348*/ GIMT_Encode4(8506),
4001 /* 8325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
4002 /* 8328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
4003 /* 8331 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 349*/ GIMT_Encode4(8392), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2581 //
4004 /* 8338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4005 /* 8342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4006 /* 8346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4007 /* 8350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4008 /* 8354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4009 /* 8357 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4010 /* 8361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4011 /* 8365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4012 /* 8367 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4013 /* 8374 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4014 /* 8374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrm),
4015 /* 8377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4016 /* 8379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4017 /* 8381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4018 /* 8385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4019 /* 8390 */ GIR_RootConstrainSelectedInstOperands,
4020 /* 8391 */ // GIR_Coverage, 2581,
4021 /* 8391 */ GIR_EraseRootFromParent_Done,
4022 /* 8392 */ // Label 349: @8392
4023 /* 8392 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 350*/ GIMT_Encode4(8453), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4787 //
4024 /* 8399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4025 /* 8403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4026 /* 8407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4027 /* 8411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4028 /* 8415 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4029 /* 8418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4030 /* 8422 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4031 /* 8426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4032 /* 8428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4033 /* 8435 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4034 /* 8435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rm),
4035 /* 8438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4036 /* 8440 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4037 /* 8442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4038 /* 8446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4039 /* 8451 */ GIR_RootConstrainSelectedInstOperands,
4040 /* 8452 */ // GIR_Coverage, 4787,
4041 /* 8452 */ GIR_EraseRootFromParent_Done,
4042 /* 8453 */ // Label 350: @8453
4043 /* 8453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 351*/ GIMT_Encode4(8479), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2580 //
4044 /* 8460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4045 /* 8464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4046 /* 8468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4047 /* 8472 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
4048 /* 8472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrr),
4049 /* 8477 */ GIR_RootConstrainSelectedInstOperands,
4050 /* 8478 */ // GIR_Coverage, 2580,
4051 /* 8478 */ GIR_Done,
4052 /* 8479 */ // Label 351: @8479
4053 /* 8479 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 352*/ GIMT_Encode4(8505), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4784 //
4054 /* 8486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4055 /* 8490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4056 /* 8494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4057 /* 8498 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
4058 /* 8498 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rr),
4059 /* 8503 */ GIR_RootConstrainSelectedInstOperands,
4060 /* 8504 */ // GIR_Coverage, 4784,
4061 /* 8504 */ GIR_Done,
4062 /* 8505 */ // Label 352: @8505
4063 /* 8505 */ GIM_Reject,
4064 /* 8506 */ // Label 348: @8506
4065 /* 8506 */ GIM_Reject,
4066 /* 8507 */ // Label 270: @8507
4067 /* 8507 */ GIM_Try, /*On fail goto*//*Label 353*/ GIMT_Encode4(8598),
4068 /* 8512 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
4069 /* 8515 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
4070 /* 8518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4071 /* 8522 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4072 /* 8526 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 354*/ GIMT_Encode4(8579), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4781 //
4073 /* 8533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4074 /* 8537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4075 /* 8541 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4076 /* 8544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4077 /* 8548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4078 /* 8552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4079 /* 8554 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4080 /* 8561 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4081 /* 8561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrm),
4082 /* 8564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4083 /* 8566 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4084 /* 8568 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4085 /* 8572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4086 /* 8577 */ GIR_RootConstrainSelectedInstOperands,
4087 /* 8578 */ // GIR_Coverage, 4781,
4088 /* 8578 */ GIR_EraseRootFromParent_Done,
4089 /* 8579 */ // Label 354: @8579
4090 /* 8579 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 355*/ GIMT_Encode4(8597), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4778 //
4091 /* 8586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4092 /* 8590 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
4093 /* 8590 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrr),
4094 /* 8595 */ GIR_RootConstrainSelectedInstOperands,
4095 /* 8596 */ // GIR_Coverage, 4778,
4096 /* 8596 */ GIR_Done,
4097 /* 8597 */ // Label 355: @8597
4098 /* 8597 */ GIM_Reject,
4099 /* 8598 */ // Label 353: @8598
4100 /* 8598 */ GIM_Reject,
4101 /* 8599 */ // Label 271: @8599
4102 /* 8599 */ GIM_Try, /*On fail goto*//*Label 356*/ GIMT_Encode4(8805),
4103 /* 8604 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4104 /* 8607 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
4105 /* 8610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 357*/ GIMT_Encode4(8671), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2583 //
4106 /* 8617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4107 /* 8621 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4108 /* 8625 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4109 /* 8629 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4110 /* 8633 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4111 /* 8636 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4112 /* 8640 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4113 /* 8644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4114 /* 8646 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4115 /* 8653 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4116 /* 8653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDrm),
4117 /* 8656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4118 /* 8658 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4119 /* 8660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4120 /* 8664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4121 /* 8669 */ GIR_RootConstrainSelectedInstOperands,
4122 /* 8670 */ // GIR_Coverage, 2583,
4123 /* 8670 */ GIR_EraseRootFromParent_Done,
4124 /* 8671 */ // Label 357: @8671
4125 /* 8671 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 358*/ GIMT_Encode4(8732), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4772 //
4126 /* 8678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4127 /* 8682 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4128 /* 8686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4129 /* 8690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4130 /* 8694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4131 /* 8697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4132 /* 8701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4133 /* 8705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4134 /* 8707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4135 /* 8714 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4136 /* 8714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rm),
4137 /* 8717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4138 /* 8719 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4139 /* 8721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4140 /* 8725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4141 /* 8730 */ GIR_RootConstrainSelectedInstOperands,
4142 /* 8731 */ // GIR_Coverage, 4772,
4143 /* 8731 */ GIR_EraseRootFromParent_Done,
4144 /* 8732 */ // Label 358: @8732
4145 /* 8732 */ GIM_Try, /*On fail goto*//*Label 359*/ GIMT_Encode4(8778),
4146 /* 8737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4147 /* 8741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4148 /* 8745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4149 /* 8749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 360*/ GIMT_Encode4(8763), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2582 //
4150 /* 8756 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4151 /* 8756 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDrr),
4152 /* 8761 */ GIR_RootConstrainSelectedInstOperands,
4153 /* 8762 */ // GIR_Coverage, 2582,
4154 /* 8762 */ GIR_Done,
4155 /* 8763 */ // Label 360: @8763
4156 /* 8763 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 361*/ GIMT_Encode4(8777), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2584 //
4157 /* 8770 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4158 /* 8770 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBDrr),
4159 /* 8775 */ GIR_RootConstrainSelectedInstOperands,
4160 /* 8776 */ // GIR_Coverage, 2584,
4161 /* 8776 */ GIR_Done,
4162 /* 8777 */ // Label 361: @8777
4163 /* 8777 */ GIM_Reject,
4164 /* 8778 */ // Label 359: @8778
4165 /* 8778 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 362*/ GIMT_Encode4(8804), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4769 //
4166 /* 8785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4167 /* 8789 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4168 /* 8793 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4169 /* 8797 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPSUBDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
4170 /* 8797 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rr),
4171 /* 8802 */ GIR_RootConstrainSelectedInstOperands,
4172 /* 8803 */ // GIR_Coverage, 4769,
4173 /* 8803 */ GIR_Done,
4174 /* 8804 */ // Label 362: @8804
4175 /* 8804 */ GIM_Reject,
4176 /* 8805 */ // Label 356: @8805
4177 /* 8805 */ GIM_Reject,
4178 /* 8806 */ // Label 272: @8806
4179 /* 8806 */ GIM_Try, /*On fail goto*//*Label 363*/ GIMT_Encode4(8992),
4180 /* 8811 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
4181 /* 8814 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
4182 /* 8817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 364*/ GIMT_Encode4(8878), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2587 //
4183 /* 8824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4184 /* 8828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4185 /* 8832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4186 /* 8836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4187 /* 8840 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4188 /* 8843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4189 /* 8847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4190 /* 8851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4191 /* 8853 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4192 /* 8860 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4193 /* 8860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrm),
4194 /* 8863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4195 /* 8865 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4196 /* 8867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4197 /* 8871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4198 /* 8876 */ GIR_RootConstrainSelectedInstOperands,
4199 /* 8877 */ // GIR_Coverage, 2587,
4200 /* 8877 */ GIR_EraseRootFromParent_Done,
4201 /* 8878 */ // Label 364: @8878
4202 /* 8878 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 365*/ GIMT_Encode4(8939), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4763 //
4203 /* 8885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4204 /* 8889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4205 /* 8893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4206 /* 8897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4207 /* 8901 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4208 /* 8904 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4209 /* 8908 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4210 /* 8912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4211 /* 8914 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4212 /* 8921 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4213 /* 8921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rm),
4214 /* 8924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4215 /* 8926 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4216 /* 8928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4217 /* 8932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4218 /* 8937 */ GIR_RootConstrainSelectedInstOperands,
4219 /* 8938 */ // GIR_Coverage, 4763,
4220 /* 8938 */ GIR_EraseRootFromParent_Done,
4221 /* 8939 */ // Label 365: @8939
4222 /* 8939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 366*/ GIMT_Encode4(8965), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2586 //
4223 /* 8946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4224 /* 8950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4225 /* 8954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4226 /* 8958 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSUBDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
4227 /* 8958 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrr),
4228 /* 8963 */ GIR_RootConstrainSelectedInstOperands,
4229 /* 8964 */ // GIR_Coverage, 2586,
4230 /* 8964 */ GIR_Done,
4231 /* 8965 */ // Label 366: @8965
4232 /* 8965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 367*/ GIMT_Encode4(8991), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4760 //
4233 /* 8972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4234 /* 8976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4235 /* 8980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4236 /* 8984 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPSUBDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
4237 /* 8984 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rr),
4238 /* 8989 */ GIR_RootConstrainSelectedInstOperands,
4239 /* 8990 */ // GIR_Coverage, 4760,
4240 /* 8990 */ GIR_Done,
4241 /* 8991 */ // Label 367: @8991
4242 /* 8991 */ GIM_Reject,
4243 /* 8992 */ // Label 363: @8992
4244 /* 8992 */ GIM_Reject,
4245 /* 8993 */ // Label 273: @8993
4246 /* 8993 */ GIM_Try, /*On fail goto*//*Label 368*/ GIMT_Encode4(9084),
4247 /* 8998 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
4248 /* 9001 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
4249 /* 9004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4250 /* 9008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4251 /* 9012 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 369*/ GIMT_Encode4(9065), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4754 //
4252 /* 9019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4253 /* 9023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4254 /* 9027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4255 /* 9030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4256 /* 9034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4257 /* 9038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4258 /* 9040 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4259 /* 9047 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4260 /* 9047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrm),
4261 /* 9050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4262 /* 9052 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4263 /* 9054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4264 /* 9058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4265 /* 9063 */ GIR_RootConstrainSelectedInstOperands,
4266 /* 9064 */ // GIR_Coverage, 4754,
4267 /* 9064 */ GIR_EraseRootFromParent_Done,
4268 /* 9065 */ // Label 369: @9065
4269 /* 9065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 370*/ GIMT_Encode4(9083), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4751 //
4270 /* 9072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4271 /* 9076 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPSUBDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
4272 /* 9076 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrr),
4273 /* 9081 */ GIR_RootConstrainSelectedInstOperands,
4274 /* 9082 */ // GIR_Coverage, 4751,
4275 /* 9082 */ GIR_Done,
4276 /* 9083 */ // Label 370: @9083
4277 /* 9083 */ GIM_Reject,
4278 /* 9084 */ // Label 368: @9084
4279 /* 9084 */ GIM_Reject,
4280 /* 9085 */ // Label 274: @9085
4281 /* 9085 */ GIM_Try, /*On fail goto*//*Label 371*/ GIMT_Encode4(9291),
4282 /* 9090 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4283 /* 9093 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
4284 /* 9096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 372*/ GIMT_Encode4(9157), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2589 //
4285 /* 9103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4286 /* 9107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4287 /* 9111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4288 /* 9115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4289 /* 9119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4290 /* 9122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4291 /* 9126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4292 /* 9130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4293 /* 9132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4294 /* 9139 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4295 /* 9139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQrm),
4296 /* 9142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4297 /* 9144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4298 /* 9146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4299 /* 9150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4300 /* 9155 */ GIR_RootConstrainSelectedInstOperands,
4301 /* 9156 */ // GIR_Coverage, 2589,
4302 /* 9156 */ GIR_EraseRootFromParent_Done,
4303 /* 9157 */ // Label 372: @9157
4304 /* 9157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 373*/ GIMT_Encode4(9218), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4745 //
4305 /* 9164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4306 /* 9168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4307 /* 9172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4308 /* 9176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4309 /* 9180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4310 /* 9183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4311 /* 9187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4312 /* 9191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4313 /* 9193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4314 /* 9200 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4315 /* 9200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rm),
4316 /* 9203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4317 /* 9205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4318 /* 9207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4319 /* 9211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4320 /* 9216 */ GIR_RootConstrainSelectedInstOperands,
4321 /* 9217 */ // GIR_Coverage, 4745,
4322 /* 9217 */ GIR_EraseRootFromParent_Done,
4323 /* 9218 */ // Label 373: @9218
4324 /* 9218 */ GIM_Try, /*On fail goto*//*Label 374*/ GIMT_Encode4(9264),
4325 /* 9223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4326 /* 9227 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4327 /* 9231 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4328 /* 9235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 375*/ GIMT_Encode4(9249), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2588 //
4329 /* 9242 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4330 /* 9242 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQrr),
4331 /* 9247 */ GIR_RootConstrainSelectedInstOperands,
4332 /* 9248 */ // GIR_Coverage, 2588,
4333 /* 9248 */ GIR_Done,
4334 /* 9249 */ // Label 375: @9249
4335 /* 9249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 376*/ GIMT_Encode4(9263), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2590 //
4336 /* 9256 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4337 /* 9256 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBQrr),
4338 /* 9261 */ GIR_RootConstrainSelectedInstOperands,
4339 /* 9262 */ // GIR_Coverage, 2590,
4340 /* 9262 */ GIR_Done,
4341 /* 9263 */ // Label 376: @9263
4342 /* 9263 */ GIM_Reject,
4343 /* 9264 */ // Label 374: @9264
4344 /* 9264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 377*/ GIMT_Encode4(9290), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4742 //
4345 /* 9271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4346 /* 9275 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4347 /* 9279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4348 /* 9283 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPSUBQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
4349 /* 9283 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rr),
4350 /* 9288 */ GIR_RootConstrainSelectedInstOperands,
4351 /* 9289 */ // GIR_Coverage, 4742,
4352 /* 9289 */ GIR_Done,
4353 /* 9290 */ // Label 377: @9290
4354 /* 9290 */ GIM_Reject,
4355 /* 9291 */ // Label 371: @9291
4356 /* 9291 */ GIM_Reject,
4357 /* 9292 */ // Label 275: @9292
4358 /* 9292 */ GIM_Try, /*On fail goto*//*Label 378*/ GIMT_Encode4(9478),
4359 /* 9297 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
4360 /* 9300 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
4361 /* 9303 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 379*/ GIMT_Encode4(9364), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2593 //
4362 /* 9310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4363 /* 9314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4364 /* 9318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4365 /* 9322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4366 /* 9326 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4367 /* 9329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4368 /* 9333 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4369 /* 9337 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4370 /* 9339 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4371 /* 9346 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4372 /* 9346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrm),
4373 /* 9349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4374 /* 9351 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4375 /* 9353 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4376 /* 9357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4377 /* 9362 */ GIR_RootConstrainSelectedInstOperands,
4378 /* 9363 */ // GIR_Coverage, 2593,
4379 /* 9363 */ GIR_EraseRootFromParent_Done,
4380 /* 9364 */ // Label 379: @9364
4381 /* 9364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 380*/ GIMT_Encode4(9425), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4736 //
4382 /* 9371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4383 /* 9375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4384 /* 9379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4385 /* 9383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4386 /* 9387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4387 /* 9390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4388 /* 9394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4389 /* 9398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4390 /* 9400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4391 /* 9407 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4392 /* 9407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rm),
4393 /* 9410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4394 /* 9412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4395 /* 9414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4396 /* 9418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4397 /* 9423 */ GIR_RootConstrainSelectedInstOperands,
4398 /* 9424 */ // GIR_Coverage, 4736,
4399 /* 9424 */ GIR_EraseRootFromParent_Done,
4400 /* 9425 */ // Label 380: @9425
4401 /* 9425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 381*/ GIMT_Encode4(9451), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2592 //
4402 /* 9432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4403 /* 9436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4404 /* 9440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4405 /* 9444 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPSUBQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
4406 /* 9444 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrr),
4407 /* 9449 */ GIR_RootConstrainSelectedInstOperands,
4408 /* 9450 */ // GIR_Coverage, 2592,
4409 /* 9450 */ GIR_Done,
4410 /* 9451 */ // Label 381: @9451
4411 /* 9451 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 382*/ GIMT_Encode4(9477), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4733 //
4412 /* 9458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4413 /* 9462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4414 /* 9466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4415 /* 9470 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPSUBQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
4416 /* 9470 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rr),
4417 /* 9475 */ GIR_RootConstrainSelectedInstOperands,
4418 /* 9476 */ // GIR_Coverage, 4733,
4419 /* 9476 */ GIR_Done,
4420 /* 9477 */ // Label 382: @9477
4421 /* 9477 */ GIM_Reject,
4422 /* 9478 */ // Label 378: @9478
4423 /* 9478 */ GIM_Reject,
4424 /* 9479 */ // Label 276: @9479
4425 /* 9479 */ GIM_Try, /*On fail goto*//*Label 383*/ GIMT_Encode4(9570),
4426 /* 9484 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
4427 /* 9487 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
4428 /* 9490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4429 /* 9494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4430 /* 9498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 384*/ GIMT_Encode4(9551), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4727 //
4431 /* 9505 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4432 /* 9509 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4433 /* 9513 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4434 /* 9516 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4435 /* 9520 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4436 /* 9524 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4437 /* 9526 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4438 /* 9533 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4439 /* 9533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrm),
4440 /* 9536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4441 /* 9538 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4442 /* 9540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4443 /* 9544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4444 /* 9549 */ GIR_RootConstrainSelectedInstOperands,
4445 /* 9550 */ // GIR_Coverage, 4727,
4446 /* 9550 */ GIR_EraseRootFromParent_Done,
4447 /* 9551 */ // Label 384: @9551
4448 /* 9551 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 385*/ GIMT_Encode4(9569), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4724 //
4449 /* 9558 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4450 /* 9562 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPSUBQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
4451 /* 9562 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrr),
4452 /* 9567 */ GIR_RootConstrainSelectedInstOperands,
4453 /* 9568 */ // GIR_Coverage, 4724,
4454 /* 9568 */ GIR_Done,
4455 /* 9569 */ // Label 385: @9569
4456 /* 9569 */ GIM_Reject,
4457 /* 9570 */ // Label 383: @9570
4458 /* 9570 */ GIM_Reject,
4459 /* 9571 */ // Label 277: @9571
4460 /* 9571 */ GIM_Reject,
4461 /* 9572 */ // Label 2: @9572
4462 /* 9572 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 398*/ GIMT_Encode4(12923),
4463 /* 9583 */ /*GILLT_s16*//*Label 386*/ GIMT_Encode4(9675),
4464 /* 9587 */ /*GILLT_s32*//*Label 387*/ GIMT_Encode4(9962),
4465 /* 9591 */ /*GILLT_s64*//*Label 388*/ GIMT_Encode4(10249), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
4466 /* 9639 */ /*GILLT_v8s16*//*Label 389*/ GIMT_Encode4(10544),
4467 /* 9643 */ /*GILLT_v16s16*//*Label 390*/ GIMT_Encode4(10873),
4468 /* 9647 */ /*GILLT_v32s16*//*Label 391*/ GIMT_Encode4(11182),
4469 /* 9651 */ /*GILLT_v4s32*//*Label 392*/ GIMT_Encode4(11337),
4470 /* 9655 */ /*GILLT_v8s32*//*Label 393*/ GIMT_Encode4(11666),
4471 /* 9659 */ /*GILLT_v16s32*//*Label 394*/ GIMT_Encode4(11975),
4472 /* 9663 */ /*GILLT_v2s64*//*Label 395*/ GIMT_Encode4(12130),
4473 /* 9667 */ /*GILLT_v4s64*//*Label 396*/ GIMT_Encode4(12455),
4474 /* 9671 */ /*GILLT_v8s64*//*Label 397*/ GIMT_Encode4(12768),
4475 /* 9675 */ // Label 386: @9675
4476 /* 9675 */ GIM_Try, /*On fail goto*//*Label 399*/ GIMT_Encode4(9961),
4477 /* 9680 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
4478 /* 9683 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
4479 /* 9686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4480 /* 9690 */ GIM_Try, /*On fail goto*//*Label 400*/ GIMT_Encode4(9754), // Rule ID 23232 //
4481 /* 9695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4482 /* 9699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4483 /* 9703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4484 /* 9706 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4485 /* 9710 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4486 /* 9714 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4487 /* 9718 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4488 /* 9722 */ // MIs[2] Operand 1
4489 /* 9722 */ // No operand predicates
4490 /* 9722 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4491 /* 9724 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4492 /* 9731 */ // (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)
4493 /* 9731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rmi),
4494 /* 9734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4495 /* 9736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4496 /* 9740 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4497 /* 9743 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4498 /* 9746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4499 /* 9752 */ GIR_RootConstrainSelectedInstOperands,
4500 /* 9753 */ // GIR_Coverage, 23232,
4501 /* 9753 */ GIR_EraseRootFromParent_Done,
4502 /* 9754 */ // Label 400: @9754
4503 /* 9754 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 401*/ GIMT_Encode4(9814), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26322 //
4504 /* 9761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4505 /* 9765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4506 /* 9769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4507 /* 9772 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4508 /* 9776 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4509 /* 9780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4510 /* 9784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4511 /* 9786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4512 /* 9793 */ // (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)
4513 /* 9793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4514 /* 9796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4515 /* 9798 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4516 /* 9800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4517 /* 9804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4518 /* 9807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4519 /* 9812 */ GIR_RootConstrainSelectedInstOperands,
4520 /* 9813 */ // GIR_Coverage, 26322,
4521 /* 9813 */ GIR_EraseRootFromParent_Done,
4522 /* 9814 */ // Label 401: @9814
4523 /* 9814 */ GIM_Try, /*On fail goto*//*Label 402*/ GIMT_Encode4(9960),
4524 /* 9819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4525 /* 9823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 403*/ GIMT_Encode4(9879), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23074 //
4526 /* 9830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4527 /* 9834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4528 /* 9838 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4529 /* 9841 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4530 /* 9845 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4531 /* 9849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4532 /* 9851 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4533 /* 9858 */ // (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)
4534 /* 9858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4535 /* 9861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4536 /* 9863 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4537 /* 9865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4538 /* 9869 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4539 /* 9872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4540 /* 9877 */ GIR_RootConstrainSelectedInstOperands,
4541 /* 9878 */ // GIR_Coverage, 23074,
4542 /* 9878 */ GIR_EraseRootFromParent_Done,
4543 /* 9879 */ // Label 403: @9879
4544 /* 9879 */ GIM_Try, /*On fail goto*//*Label 404*/ GIMT_Encode4(9909), // Rule ID 23229 //
4545 /* 9884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4546 /* 9888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4547 /* 9892 */ // MIs[1] Operand 1
4548 /* 9892 */ // No operand predicates
4549 /* 9892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4550 /* 9894 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (IMUL16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
4551 /* 9894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rri),
4552 /* 9897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4553 /* 9899 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4554 /* 9901 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4555 /* 9904 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4556 /* 9907 */ GIR_RootConstrainSelectedInstOperands,
4557 /* 9908 */ // GIR_Coverage, 23229,
4558 /* 9908 */ GIR_EraseRootFromParent_Done,
4559 /* 9909 */ // Label 404: @9909
4560 /* 9909 */ GIM_Try, /*On fail goto*//*Label 405*/ GIMT_Encode4(9959),
4561 /* 9914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4562 /* 9918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 406*/ GIMT_Encode4(9938), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23071 //
4563 /* 9925 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
4564 /* 9925 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr),
4565 /* 9930 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4566 /* 9936 */ GIR_RootConstrainSelectedInstOperands,
4567 /* 9937 */ // GIR_Coverage, 23071,
4568 /* 9937 */ GIR_Done,
4569 /* 9938 */ // Label 406: @9938
4570 /* 9938 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 407*/ GIMT_Encode4(9958), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23161 //
4571 /* 9945 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
4572 /* 9945 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr_ND),
4573 /* 9950 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4574 /* 9956 */ GIR_RootConstrainSelectedInstOperands,
4575 /* 9957 */ // GIR_Coverage, 23161,
4576 /* 9957 */ GIR_Done,
4577 /* 9958 */ // Label 407: @9958
4578 /* 9958 */ GIM_Reject,
4579 /* 9959 */ // Label 405: @9959
4580 /* 9959 */ GIM_Reject,
4581 /* 9960 */ // Label 402: @9960
4582 /* 9960 */ GIM_Reject,
4583 /* 9961 */ // Label 399: @9961
4584 /* 9961 */ GIM_Reject,
4585 /* 9962 */ // Label 387: @9962
4586 /* 9962 */ GIM_Try, /*On fail goto*//*Label 408*/ GIMT_Encode4(10248),
4587 /* 9967 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
4588 /* 9970 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4589 /* 9973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4590 /* 9977 */ GIM_Try, /*On fail goto*//*Label 409*/ GIMT_Encode4(10041), // Rule ID 23233 //
4591 /* 9982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4592 /* 9986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4593 /* 9990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4594 /* 9993 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4595 /* 9997 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4596 /* 10001 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4597 /* 10005 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4598 /* 10009 */ // MIs[2] Operand 1
4599 /* 10009 */ // No operand predicates
4600 /* 10009 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4601 /* 10011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4602 /* 10018 */ // (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)
4603 /* 10018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rmi),
4604 /* 10021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4605 /* 10023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4606 /* 10027 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4607 /* 10030 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4608 /* 10033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4609 /* 10039 */ GIR_RootConstrainSelectedInstOperands,
4610 /* 10040 */ // GIR_Coverage, 23233,
4611 /* 10040 */ GIR_EraseRootFromParent_Done,
4612 /* 10041 */ // Label 409: @10041
4613 /* 10041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 410*/ GIMT_Encode4(10101), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26323 //
4614 /* 10048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4615 /* 10052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4616 /* 10056 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4617 /* 10059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4618 /* 10063 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4619 /* 10067 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4620 /* 10071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4621 /* 10073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4622 /* 10080 */ // (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)
4623 /* 10080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
4624 /* 10083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4625 /* 10085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4626 /* 10087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4627 /* 10091 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4628 /* 10094 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4629 /* 10099 */ GIR_RootConstrainSelectedInstOperands,
4630 /* 10100 */ // GIR_Coverage, 26323,
4631 /* 10100 */ GIR_EraseRootFromParent_Done,
4632 /* 10101 */ // Label 410: @10101
4633 /* 10101 */ GIM_Try, /*On fail goto*//*Label 411*/ GIMT_Encode4(10247),
4634 /* 10106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4635 /* 10110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 412*/ GIMT_Encode4(10166), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23075 //
4636 /* 10117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4637 /* 10121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4638 /* 10125 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4639 /* 10128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4640 /* 10132 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4641 /* 10136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4642 /* 10138 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4643 /* 10145 */ // (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)
4644 /* 10145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
4645 /* 10148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4646 /* 10150 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4647 /* 10152 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4648 /* 10156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4649 /* 10159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4650 /* 10164 */ GIR_RootConstrainSelectedInstOperands,
4651 /* 10165 */ // GIR_Coverage, 23075,
4652 /* 10165 */ GIR_EraseRootFromParent_Done,
4653 /* 10166 */ // Label 412: @10166
4654 /* 10166 */ GIM_Try, /*On fail goto*//*Label 413*/ GIMT_Encode4(10196), // Rule ID 23230 //
4655 /* 10171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4656 /* 10175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4657 /* 10179 */ // MIs[1] Operand 1
4658 /* 10179 */ // No operand predicates
4659 /* 10179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4660 /* 10181 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (IMUL32rri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
4661 /* 10181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rri),
4662 /* 10184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4663 /* 10186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4664 /* 10188 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4665 /* 10191 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4666 /* 10194 */ GIR_RootConstrainSelectedInstOperands,
4667 /* 10195 */ // GIR_Coverage, 23230,
4668 /* 10195 */ GIR_EraseRootFromParent_Done,
4669 /* 10196 */ // Label 413: @10196
4670 /* 10196 */ GIM_Try, /*On fail goto*//*Label 414*/ GIMT_Encode4(10246),
4671 /* 10201 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4672 /* 10205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 415*/ GIMT_Encode4(10225), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23072 //
4673 /* 10212 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
4674 /* 10212 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr),
4675 /* 10217 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4676 /* 10223 */ GIR_RootConstrainSelectedInstOperands,
4677 /* 10224 */ // GIR_Coverage, 23072,
4678 /* 10224 */ GIR_Done,
4679 /* 10225 */ // Label 415: @10225
4680 /* 10225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 416*/ GIMT_Encode4(10245), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23162 //
4681 /* 10232 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
4682 /* 10232 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr_ND),
4683 /* 10237 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4684 /* 10243 */ GIR_RootConstrainSelectedInstOperands,
4685 /* 10244 */ // GIR_Coverage, 23162,
4686 /* 10244 */ GIR_Done,
4687 /* 10245 */ // Label 416: @10245
4688 /* 10245 */ GIM_Reject,
4689 /* 10246 */ // Label 414: @10246
4690 /* 10246 */ GIM_Reject,
4691 /* 10247 */ // Label 411: @10247
4692 /* 10247 */ GIM_Reject,
4693 /* 10248 */ // Label 408: @10248
4694 /* 10248 */ GIM_Reject,
4695 /* 10249 */ // Label 388: @10249
4696 /* 10249 */ GIM_Try, /*On fail goto*//*Label 417*/ GIMT_Encode4(10543),
4697 /* 10254 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
4698 /* 10257 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4699 /* 10260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4700 /* 10264 */ GIM_Try, /*On fail goto*//*Label 418*/ GIMT_Encode4(10332), // Rule ID 23234 //
4701 /* 10269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4702 /* 10273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4703 /* 10277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4704 /* 10280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4705 /* 10284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4706 /* 10288 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4707 /* 10292 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4708 /* 10296 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4709 /* 10300 */ // MIs[2] Operand 1
4710 /* 10300 */ // No operand predicates
4711 /* 10300 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4712 /* 10302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4713 /* 10309 */ // (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)
4714 /* 10309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rmi32),
4715 /* 10312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4716 /* 10314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4717 /* 10318 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4718 /* 10321 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4719 /* 10324 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4720 /* 10330 */ GIR_RootConstrainSelectedInstOperands,
4721 /* 10331 */ // GIR_Coverage, 23234,
4722 /* 10331 */ GIR_EraseRootFromParent_Done,
4723 /* 10332 */ // Label 418: @10332
4724 /* 10332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 419*/ GIMT_Encode4(10392), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26324 //
4725 /* 10339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4726 /* 10343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4727 /* 10347 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4728 /* 10350 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4729 /* 10354 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4730 /* 10358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4731 /* 10362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4732 /* 10364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4733 /* 10371 */ // (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)
4734 /* 10371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
4735 /* 10374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4736 /* 10376 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4737 /* 10378 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4738 /* 10382 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4739 /* 10385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4740 /* 10390 */ GIR_RootConstrainSelectedInstOperands,
4741 /* 10391 */ // GIR_Coverage, 26324,
4742 /* 10391 */ GIR_EraseRootFromParent_Done,
4743 /* 10392 */ // Label 419: @10392
4744 /* 10392 */ GIM_Try, /*On fail goto*//*Label 420*/ GIMT_Encode4(10542),
4745 /* 10397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4746 /* 10401 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 421*/ GIMT_Encode4(10457), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23076 //
4747 /* 10408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4748 /* 10412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4749 /* 10416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4750 /* 10419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4751 /* 10423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4752 /* 10427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4753 /* 10429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4754 /* 10436 */ // (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)
4755 /* 10436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
4756 /* 10439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4757 /* 10441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4758 /* 10443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4759 /* 10447 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4760 /* 10450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4761 /* 10455 */ GIR_RootConstrainSelectedInstOperands,
4762 /* 10456 */ // GIR_Coverage, 23076,
4763 /* 10456 */ GIR_EraseRootFromParent_Done,
4764 /* 10457 */ // Label 421: @10457
4765 /* 10457 */ GIM_Try, /*On fail goto*//*Label 422*/ GIMT_Encode4(10491), // Rule ID 23231 //
4766 /* 10462 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4767 /* 10466 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4768 /* 10470 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4769 /* 10474 */ // MIs[1] Operand 1
4770 /* 10474 */ // No operand predicates
4771 /* 10474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4772 /* 10476 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (IMUL64rri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
4773 /* 10476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rri32),
4774 /* 10479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4775 /* 10481 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4776 /* 10483 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4777 /* 10486 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4778 /* 10489 */ GIR_RootConstrainSelectedInstOperands,
4779 /* 10490 */ // GIR_Coverage, 23231,
4780 /* 10490 */ GIR_EraseRootFromParent_Done,
4781 /* 10491 */ // Label 422: @10491
4782 /* 10491 */ GIM_Try, /*On fail goto*//*Label 423*/ GIMT_Encode4(10541),
4783 /* 10496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4784 /* 10500 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 424*/ GIMT_Encode4(10520), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23073 //
4785 /* 10507 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4786 /* 10507 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr),
4787 /* 10512 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4788 /* 10518 */ GIR_RootConstrainSelectedInstOperands,
4789 /* 10519 */ // GIR_Coverage, 23073,
4790 /* 10519 */ GIR_Done,
4791 /* 10520 */ // Label 424: @10520
4792 /* 10520 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 425*/ GIMT_Encode4(10540), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23163 //
4793 /* 10527 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4794 /* 10527 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr_ND),
4795 /* 10532 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4796 /* 10538 */ GIR_RootConstrainSelectedInstOperands,
4797 /* 10539 */ // GIR_Coverage, 23163,
4798 /* 10539 */ GIR_Done,
4799 /* 10540 */ // Label 425: @10540
4800 /* 10540 */ GIM_Reject,
4801 /* 10541 */ // Label 423: @10541
4802 /* 10541 */ GIM_Reject,
4803 /* 10542 */ // Label 420: @10542
4804 /* 10542 */ GIM_Reject,
4805 /* 10543 */ // Label 417: @10543
4806 /* 10543 */ GIM_Reject,
4807 /* 10544 */ // Label 389: @10544
4808 /* 10544 */ GIM_Try, /*On fail goto*//*Label 426*/ GIMT_Encode4(10872),
4809 /* 10549 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4810 /* 10552 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
4811 /* 10555 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 427*/ GIMT_Encode4(10616), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23709 //
4812 /* 10562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4813 /* 10566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4814 /* 10570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4815 /* 10574 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4816 /* 10577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4817 /* 10581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4818 /* 10585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4819 /* 10589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4820 /* 10591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4821 /* 10598 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4822 /* 10598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
4823 /* 10601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4824 /* 10603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4825 /* 10605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4826 /* 10609 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4827 /* 10614 */ GIR_RootConstrainSelectedInstOperands,
4828 /* 10615 */ // GIR_Coverage, 23709,
4829 /* 10615 */ GIR_EraseRootFromParent_Done,
4830 /* 10616 */ // Label 427: @10616
4831 /* 10616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 428*/ GIMT_Encode4(10677), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24066 //
4832 /* 10623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4833 /* 10627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4834 /* 10631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4835 /* 10635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4836 /* 10638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4837 /* 10642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4838 /* 10646 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4839 /* 10650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4840 /* 10652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4841 /* 10659 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4842 /* 10659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
4843 /* 10662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4844 /* 10664 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4845 /* 10666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4846 /* 10670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4847 /* 10675 */ GIR_RootConstrainSelectedInstOperands,
4848 /* 10676 */ // GIR_Coverage, 24066,
4849 /* 10676 */ GIR_EraseRootFromParent_Done,
4850 /* 10677 */ // Label 428: @10677
4851 /* 10677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 429*/ GIMT_Encode4(10738), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2553 //
4852 /* 10684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4853 /* 10688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4854 /* 10692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4855 /* 10696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4856 /* 10700 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4857 /* 10703 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4858 /* 10707 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4859 /* 10711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4860 /* 10713 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4861 /* 10720 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4862 /* 10720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
4863 /* 10723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4864 /* 10725 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4865 /* 10727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4866 /* 10731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4867 /* 10736 */ GIR_RootConstrainSelectedInstOperands,
4868 /* 10737 */ // GIR_Coverage, 2553,
4869 /* 10737 */ GIR_EraseRootFromParent_Done,
4870 /* 10738 */ // Label 429: @10738
4871 /* 10738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 430*/ GIMT_Encode4(10799), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5000 //
4872 /* 10745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4873 /* 10749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4874 /* 10753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4875 /* 10757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4876 /* 10761 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4877 /* 10764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4878 /* 10768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4879 /* 10772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4880 /* 10774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4881 /* 10781 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4882 /* 10781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
4883 /* 10784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4884 /* 10786 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4885 /* 10788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4886 /* 10792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4887 /* 10797 */ GIR_RootConstrainSelectedInstOperands,
4888 /* 10798 */ // GIR_Coverage, 5000,
4889 /* 10798 */ GIR_EraseRootFromParent_Done,
4890 /* 10799 */ // Label 430: @10799
4891 /* 10799 */ GIM_Try, /*On fail goto*//*Label 431*/ GIMT_Encode4(10845),
4892 /* 10804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4893 /* 10808 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4894 /* 10812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4895 /* 10816 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 432*/ GIMT_Encode4(10830), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2552 //
4896 /* 10823 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4897 /* 10823 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWrr),
4898 /* 10828 */ GIR_RootConstrainSelectedInstOperands,
4899 /* 10829 */ // GIR_Coverage, 2552,
4900 /* 10829 */ GIR_Done,
4901 /* 10830 */ // Label 432: @10830
4902 /* 10830 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 433*/ GIMT_Encode4(10844), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2554 //
4903 /* 10837 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4904 /* 10837 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLWrr),
4905 /* 10842 */ GIR_RootConstrainSelectedInstOperands,
4906 /* 10843 */ // GIR_Coverage, 2554,
4907 /* 10843 */ GIR_Done,
4908 /* 10844 */ // Label 433: @10844
4909 /* 10844 */ GIM_Reject,
4910 /* 10845 */ // Label 431: @10845
4911 /* 10845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 434*/ GIMT_Encode4(10871), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4997 //
4912 /* 10852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4913 /* 10856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4914 /* 10860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4915 /* 10864 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULLWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
4916 /* 10864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rr),
4917 /* 10869 */ GIR_RootConstrainSelectedInstOperands,
4918 /* 10870 */ // GIR_Coverage, 4997,
4919 /* 10870 */ GIR_Done,
4920 /* 10871 */ // Label 434: @10871
4921 /* 10871 */ GIM_Reject,
4922 /* 10872 */ // Label 426: @10872
4923 /* 10872 */ GIM_Reject,
4924 /* 10873 */ // Label 390: @10873
4925 /* 10873 */ GIM_Try, /*On fail goto*//*Label 435*/ GIMT_Encode4(11181),
4926 /* 10878 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
4927 /* 10881 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
4928 /* 10884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 436*/ GIMT_Encode4(10945), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23711 //
4929 /* 10891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4930 /* 10895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4931 /* 10899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4932 /* 10903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4933 /* 10906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4934 /* 10910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4935 /* 10914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4936 /* 10918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4937 /* 10920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4938 /* 10927 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4939 /* 10927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
4940 /* 10930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4941 /* 10932 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4942 /* 10934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4943 /* 10938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4944 /* 10943 */ GIR_RootConstrainSelectedInstOperands,
4945 /* 10944 */ // GIR_Coverage, 23711,
4946 /* 10944 */ GIR_EraseRootFromParent_Done,
4947 /* 10945 */ // Label 436: @10945
4948 /* 10945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 437*/ GIMT_Encode4(11006), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24063 //
4949 /* 10952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4950 /* 10956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4951 /* 10960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4952 /* 10964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4953 /* 10967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4954 /* 10971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4955 /* 10975 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4956 /* 10979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4957 /* 10981 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4958 /* 10988 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4959 /* 10988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
4960 /* 10991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4961 /* 10993 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4962 /* 10995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4963 /* 10999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4964 /* 11004 */ GIR_RootConstrainSelectedInstOperands,
4965 /* 11005 */ // GIR_Coverage, 24063,
4966 /* 11005 */ GIR_EraseRootFromParent_Done,
4967 /* 11006 */ // Label 437: @11006
4968 /* 11006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 438*/ GIMT_Encode4(11067), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2557 //
4969 /* 11013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4970 /* 11017 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4971 /* 11021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4972 /* 11025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4973 /* 11029 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4974 /* 11032 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4975 /* 11036 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4976 /* 11040 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4977 /* 11042 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4978 /* 11049 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4979 /* 11049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
4980 /* 11052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4981 /* 11054 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4982 /* 11056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4983 /* 11060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4984 /* 11065 */ GIR_RootConstrainSelectedInstOperands,
4985 /* 11066 */ // GIR_Coverage, 2557,
4986 /* 11066 */ GIR_EraseRootFromParent_Done,
4987 /* 11067 */ // Label 438: @11067
4988 /* 11067 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 439*/ GIMT_Encode4(11128), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4994 //
4989 /* 11074 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4990 /* 11078 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4991 /* 11082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4992 /* 11086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4993 /* 11090 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4994 /* 11093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4995 /* 11097 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4996 /* 11101 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4997 /* 11103 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4998 /* 11110 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4999 /* 11110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
5000 /* 11113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5001 /* 11115 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5002 /* 11117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5003 /* 11121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5004 /* 11126 */ GIR_RootConstrainSelectedInstOperands,
5005 /* 11127 */ // GIR_Coverage, 4994,
5006 /* 11127 */ GIR_EraseRootFromParent_Done,
5007 /* 11128 */ // Label 439: @11128
5008 /* 11128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 440*/ GIMT_Encode4(11154), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2556 //
5009 /* 11135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5010 /* 11139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5011 /* 11143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5012 /* 11147 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULLWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
5013 /* 11147 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrr),
5014 /* 11152 */ GIR_RootConstrainSelectedInstOperands,
5015 /* 11153 */ // GIR_Coverage, 2556,
5016 /* 11153 */ GIR_Done,
5017 /* 11154 */ // Label 440: @11154
5018 /* 11154 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 441*/ GIMT_Encode4(11180), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4991 //
5019 /* 11161 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5020 /* 11165 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5021 /* 11169 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5022 /* 11173 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULLWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
5023 /* 11173 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rr),
5024 /* 11178 */ GIR_RootConstrainSelectedInstOperands,
5025 /* 11179 */ // GIR_Coverage, 4991,
5026 /* 11179 */ GIR_Done,
5027 /* 11180 */ // Label 441: @11180
5028 /* 11180 */ GIM_Reject,
5029 /* 11181 */ // Label 435: @11181
5030 /* 11181 */ GIM_Reject,
5031 /* 11182 */ // Label 391: @11182
5032 /* 11182 */ GIM_Try, /*On fail goto*//*Label 442*/ GIMT_Encode4(11336),
5033 /* 11187 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
5034 /* 11190 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
5035 /* 11193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5036 /* 11197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 443*/ GIMT_Encode4(11254), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24060 //
5037 /* 11204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5038 /* 11208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5039 /* 11212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5040 /* 11215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5041 /* 11219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5042 /* 11223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5043 /* 11227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5044 /* 11229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5045 /* 11236 */ // (mul:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5046 /* 11236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
5047 /* 11239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5048 /* 11241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5049 /* 11243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5050 /* 11247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5051 /* 11252 */ GIR_RootConstrainSelectedInstOperands,
5052 /* 11253 */ // GIR_Coverage, 24060,
5053 /* 11253 */ GIR_EraseRootFromParent_Done,
5054 /* 11254 */ // Label 443: @11254
5055 /* 11254 */ GIM_Try, /*On fail goto*//*Label 444*/ GIMT_Encode4(11335),
5056 /* 11259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5057 /* 11263 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 445*/ GIMT_Encode4(11316), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4988 //
5058 /* 11270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5059 /* 11274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5060 /* 11278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5061 /* 11281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5062 /* 11285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5063 /* 11289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5064 /* 11291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5065 /* 11298 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5066 /* 11298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
5067 /* 11301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5068 /* 11303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5069 /* 11305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5070 /* 11309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5071 /* 11314 */ GIR_RootConstrainSelectedInstOperands,
5072 /* 11315 */ // GIR_Coverage, 4988,
5073 /* 11315 */ GIR_EraseRootFromParent_Done,
5074 /* 11316 */ // Label 445: @11316
5075 /* 11316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 446*/ GIMT_Encode4(11334), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4985 //
5076 /* 11323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5077 /* 11327 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULLWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
5078 /* 11327 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrr),
5079 /* 11332 */ GIR_RootConstrainSelectedInstOperands,
5080 /* 11333 */ // GIR_Coverage, 4985,
5081 /* 11333 */ GIR_Done,
5082 /* 11334 */ // Label 446: @11334
5083 /* 11334 */ GIM_Reject,
5084 /* 11335 */ // Label 444: @11335
5085 /* 11335 */ GIM_Reject,
5086 /* 11336 */ // Label 442: @11336
5087 /* 11336 */ GIM_Reject,
5088 /* 11337 */ // Label 392: @11337
5089 /* 11337 */ GIM_Try, /*On fail goto*//*Label 447*/ GIMT_Encode4(11665),
5090 /* 11342 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
5091 /* 11345 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
5092 /* 11348 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 448*/ GIMT_Encode4(11409), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23784 //
5093 /* 11355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5094 /* 11359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5095 /* 11363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5096 /* 11367 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5097 /* 11370 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5098 /* 11374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5099 /* 11378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5100 /* 11382 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5101 /* 11384 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5102 /* 11391 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5103 /* 11391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5104 /* 11394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5105 /* 11396 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5106 /* 11398 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5107 /* 11402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5108 /* 11407 */ GIR_RootConstrainSelectedInstOperands,
5109 /* 11408 */ // GIR_Coverage, 23784,
5110 /* 11408 */ GIR_EraseRootFromParent_Done,
5111 /* 11409 */ // Label 448: @11409
5112 /* 11409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 449*/ GIMT_Encode4(11470), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24054 //
5113 /* 11416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5114 /* 11420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5115 /* 11424 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5116 /* 11428 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5117 /* 11431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5118 /* 11435 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5119 /* 11439 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5120 /* 11443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5121 /* 11445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5122 /* 11452 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5123 /* 11452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5124 /* 11455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5125 /* 11457 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5126 /* 11459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5127 /* 11463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5128 /* 11468 */ GIR_RootConstrainSelectedInstOperands,
5129 /* 11469 */ // GIR_Coverage, 24054,
5130 /* 11469 */ GIR_EraseRootFromParent_Done,
5131 /* 11470 */ // Label 449: @11470
5132 /* 11470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 450*/ GIMT_Encode4(11531), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3228 //
5133 /* 11477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5134 /* 11481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5135 /* 11485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5136 /* 11489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5137 /* 11493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5138 /* 11496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5139 /* 11500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5140 /* 11504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5141 /* 11506 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5142 /* 11513 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5143 /* 11513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5144 /* 11516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5145 /* 11518 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5146 /* 11520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5147 /* 11524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5148 /* 11529 */ GIR_RootConstrainSelectedInstOperands,
5149 /* 11530 */ // GIR_Coverage, 3228,
5150 /* 11530 */ GIR_EraseRootFromParent_Done,
5151 /* 11531 */ // Label 450: @11531
5152 /* 11531 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 451*/ GIMT_Encode4(11592), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4979 //
5153 /* 11538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5154 /* 11542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5155 /* 11546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5156 /* 11550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5157 /* 11554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5158 /* 11557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5159 /* 11561 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5160 /* 11565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5161 /* 11567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5162 /* 11574 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5163 /* 11574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5164 /* 11577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5165 /* 11579 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5166 /* 11581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5167 /* 11585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5168 /* 11590 */ GIR_RootConstrainSelectedInstOperands,
5169 /* 11591 */ // GIR_Coverage, 4979,
5170 /* 11591 */ GIR_EraseRootFromParent_Done,
5171 /* 11592 */ // Label 451: @11592
5172 /* 11592 */ GIM_Try, /*On fail goto*//*Label 452*/ GIMT_Encode4(11638),
5173 /* 11597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5174 /* 11601 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5175 /* 11605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5176 /* 11609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 453*/ GIMT_Encode4(11623), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3227 //
5177 /* 11616 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5178 /* 11616 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDrr),
5179 /* 11621 */ GIR_RootConstrainSelectedInstOperands,
5180 /* 11622 */ // GIR_Coverage, 3227,
5181 /* 11622 */ GIR_Done,
5182 /* 11623 */ // Label 453: @11623
5183 /* 11623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 454*/ GIMT_Encode4(11637), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3235 //
5184 /* 11630 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5185 /* 11630 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLDrr),
5186 /* 11635 */ GIR_RootConstrainSelectedInstOperands,
5187 /* 11636 */ // GIR_Coverage, 3235,
5188 /* 11636 */ GIR_Done,
5189 /* 11637 */ // Label 454: @11637
5190 /* 11637 */ GIM_Reject,
5191 /* 11638 */ // Label 452: @11638
5192 /* 11638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 455*/ GIMT_Encode4(11664), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4976 //
5193 /* 11645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5194 /* 11649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5195 /* 11653 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5196 /* 11657 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMULLDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
5197 /* 11657 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rr),
5198 /* 11662 */ GIR_RootConstrainSelectedInstOperands,
5199 /* 11663 */ // GIR_Coverage, 4976,
5200 /* 11663 */ GIR_Done,
5201 /* 11664 */ // Label 455: @11664
5202 /* 11664 */ GIM_Reject,
5203 /* 11665 */ // Label 447: @11665
5204 /* 11665 */ GIM_Reject,
5205 /* 11666 */ // Label 393: @11666
5206 /* 11666 */ GIM_Try, /*On fail goto*//*Label 456*/ GIMT_Encode4(11974),
5207 /* 11671 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
5208 /* 11674 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
5209 /* 11677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 457*/ GIMT_Encode4(11738), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23786 //
5210 /* 11684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5211 /* 11688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5212 /* 11692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5213 /* 11696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5214 /* 11699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5215 /* 11703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5216 /* 11707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5217 /* 11711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5218 /* 11713 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5219 /* 11720 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5220 /* 11720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5221 /* 11723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5222 /* 11725 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5223 /* 11727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5224 /* 11731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5225 /* 11736 */ GIR_RootConstrainSelectedInstOperands,
5226 /* 11737 */ // GIR_Coverage, 23786,
5227 /* 11737 */ GIR_EraseRootFromParent_Done,
5228 /* 11738 */ // Label 457: @11738
5229 /* 11738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 458*/ GIMT_Encode4(11799), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24048 //
5230 /* 11745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5231 /* 11749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5232 /* 11753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5233 /* 11757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5234 /* 11760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5235 /* 11764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5236 /* 11768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5237 /* 11772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5238 /* 11774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5239 /* 11781 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5240 /* 11781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5241 /* 11784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5242 /* 11786 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5243 /* 11788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5244 /* 11792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5245 /* 11797 */ GIR_RootConstrainSelectedInstOperands,
5246 /* 11798 */ // GIR_Coverage, 24048,
5247 /* 11798 */ GIR_EraseRootFromParent_Done,
5248 /* 11799 */ // Label 458: @11799
5249 /* 11799 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 459*/ GIMT_Encode4(11860), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3232 //
5250 /* 11806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5251 /* 11810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5252 /* 11814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5253 /* 11818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5254 /* 11822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5255 /* 11825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5256 /* 11829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5257 /* 11833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5258 /* 11835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5259 /* 11842 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5260 /* 11842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5261 /* 11845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5262 /* 11847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5263 /* 11849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5264 /* 11853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5265 /* 11858 */ GIR_RootConstrainSelectedInstOperands,
5266 /* 11859 */ // GIR_Coverage, 3232,
5267 /* 11859 */ GIR_EraseRootFromParent_Done,
5268 /* 11860 */ // Label 459: @11860
5269 /* 11860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 460*/ GIMT_Encode4(11921), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4970 //
5270 /* 11867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5271 /* 11871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5272 /* 11875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5273 /* 11879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5274 /* 11883 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5275 /* 11886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5276 /* 11890 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5277 /* 11894 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5278 /* 11896 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5279 /* 11903 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5280 /* 11903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5281 /* 11906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5282 /* 11908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5283 /* 11910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5284 /* 11914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5285 /* 11919 */ GIR_RootConstrainSelectedInstOperands,
5286 /* 11920 */ // GIR_Coverage, 4970,
5287 /* 11920 */ GIR_EraseRootFromParent_Done,
5288 /* 11921 */ // Label 460: @11921
5289 /* 11921 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 461*/ GIMT_Encode4(11947), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3231 //
5290 /* 11928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5291 /* 11932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5292 /* 11936 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5293 /* 11940 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMULLDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
5294 /* 11940 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrr),
5295 /* 11945 */ GIR_RootConstrainSelectedInstOperands,
5296 /* 11946 */ // GIR_Coverage, 3231,
5297 /* 11946 */ GIR_Done,
5298 /* 11947 */ // Label 461: @11947
5299 /* 11947 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 462*/ GIMT_Encode4(11973), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4967 //
5300 /* 11954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5301 /* 11958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5302 /* 11962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5303 /* 11966 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMULLDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
5304 /* 11966 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rr),
5305 /* 11971 */ GIR_RootConstrainSelectedInstOperands,
5306 /* 11972 */ // GIR_Coverage, 4967,
5307 /* 11972 */ GIR_Done,
5308 /* 11973 */ // Label 462: @11973
5309 /* 11973 */ GIM_Reject,
5310 /* 11974 */ // Label 456: @11974
5311 /* 11974 */ GIM_Reject,
5312 /* 11975 */ // Label 394: @11975
5313 /* 11975 */ GIM_Try, /*On fail goto*//*Label 463*/ GIMT_Encode4(12129),
5314 /* 11980 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
5315 /* 11983 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
5316 /* 11986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5317 /* 11990 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 464*/ GIMT_Encode4(12047), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24042 //
5318 /* 11997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5319 /* 12001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5320 /* 12005 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5321 /* 12008 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5322 /* 12012 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5323 /* 12016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5324 /* 12020 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5325 /* 12022 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5326 /* 12029 */ // (mul:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5327 /* 12029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
5328 /* 12032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5329 /* 12034 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5330 /* 12036 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5331 /* 12040 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5332 /* 12045 */ GIR_RootConstrainSelectedInstOperands,
5333 /* 12046 */ // GIR_Coverage, 24042,
5334 /* 12046 */ GIR_EraseRootFromParent_Done,
5335 /* 12047 */ // Label 464: @12047
5336 /* 12047 */ GIM_Try, /*On fail goto*//*Label 465*/ GIMT_Encode4(12128),
5337 /* 12052 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5338 /* 12056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 466*/ GIMT_Encode4(12109), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4961 //
5339 /* 12063 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5340 /* 12067 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5341 /* 12071 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5342 /* 12074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5343 /* 12078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5344 /* 12082 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5345 /* 12084 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5346 /* 12091 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5347 /* 12091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
5348 /* 12094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5349 /* 12096 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5350 /* 12098 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5351 /* 12102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5352 /* 12107 */ GIR_RootConstrainSelectedInstOperands,
5353 /* 12108 */ // GIR_Coverage, 4961,
5354 /* 12108 */ GIR_EraseRootFromParent_Done,
5355 /* 12109 */ // Label 466: @12109
5356 /* 12109 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 467*/ GIMT_Encode4(12127), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4958 //
5357 /* 12116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5358 /* 12120 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMULLDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
5359 /* 12120 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrr),
5360 /* 12125 */ GIR_RootConstrainSelectedInstOperands,
5361 /* 12126 */ // GIR_Coverage, 4958,
5362 /* 12126 */ GIR_Done,
5363 /* 12127 */ // Label 467: @12127
5364 /* 12127 */ GIM_Reject,
5365 /* 12128 */ // Label 465: @12128
5366 /* 12128 */ GIM_Reject,
5367 /* 12129 */ // Label 463: @12129
5368 /* 12129 */ GIM_Reject,
5369 /* 12130 */ // Label 395: @12130
5370 /* 12130 */ GIM_Try, /*On fail goto*//*Label 468*/ GIMT_Encode4(12454),
5371 /* 12135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
5372 /* 12138 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
5373 /* 12141 */ GIM_Try, /*On fail goto*//*Label 469*/ GIMT_Encode4(12289),
5374 /* 12146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5375 /* 12150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 470*/ GIMT_Encode4(12207), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 24081 //
5376 /* 12157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5377 /* 12161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5378 /* 12165 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5379 /* 12168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5380 /* 12172 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5381 /* 12176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5382 /* 12180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5383 /* 12182 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5384 /* 12189 */ // (mul:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5385 /* 12189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5386 /* 12192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5387 /* 12194 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5388 /* 12196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5389 /* 12200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5390 /* 12205 */ GIR_RootConstrainSelectedInstOperands,
5391 /* 12206 */ // GIR_Coverage, 24081,
5392 /* 12206 */ GIR_EraseRootFromParent_Done,
5393 /* 12207 */ // Label 470: @12207
5394 /* 12207 */ GIM_Try, /*On fail goto*//*Label 471*/ GIMT_Encode4(12288),
5395 /* 12212 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5396 /* 12216 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 472*/ GIMT_Encode4(12269), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 5024 //
5397 /* 12223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5398 /* 12227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5399 /* 12231 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5400 /* 12234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5401 /* 12238 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5402 /* 12242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5403 /* 12244 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5404 /* 12251 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5405 /* 12251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5406 /* 12254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5407 /* 12256 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5408 /* 12258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5409 /* 12262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5410 /* 12267 */ GIR_RootConstrainSelectedInstOperands,
5411 /* 12268 */ // GIR_Coverage, 5024,
5412 /* 12268 */ GIR_EraseRootFromParent_Done,
5413 /* 12269 */ // Label 472: @12269
5414 /* 12269 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 473*/ GIMT_Encode4(12287), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 5021 //
5415 /* 12276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5416 /* 12280 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMULLQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
5417 /* 12280 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rr),
5418 /* 12285 */ GIR_RootConstrainSelectedInstOperands,
5419 /* 12286 */ // GIR_Coverage, 5021,
5420 /* 12286 */ GIR_Done,
5421 /* 12287 */ // Label 473: @12287
5422 /* 12287 */ GIM_Reject,
5423 /* 12288 */ // Label 471: @12288
5424 /* 12288 */ GIM_Reject,
5425 /* 12289 */ // Label 469: @12289
5426 /* 12289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 474*/ GIMT_Encode4(12453), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 20127 //
5427 /* 12296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
5428 /* 12300 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5429 /* 12304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5430 /* 12308 */ // (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] })
5431 /* 12308 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5432 /* 12311 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5433 /* 12315 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5434 /* 12320 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5435 /* 12322 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5436 /* 12325 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5437 /* 12329 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5438 /* 12334 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5439 /* 12337 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5440 /* 12341 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
5441 /* 12344 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5442 /* 12349 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5443 /* 12354 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5444 /* 12359 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5445 /* 12362 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5446 /* 12366 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5447 /* 12371 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5448 /* 12373 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5449 /* 12376 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5450 /* 12380 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5451 /* 12385 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5452 /* 12388 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5453 /* 12392 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
5454 /* 12395 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5455 /* 12400 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5456 /* 12405 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5457 /* 12410 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5458 /* 12413 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5459 /* 12417 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5460 /* 12422 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5461 /* 12425 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5462 /* 12428 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5463 /* 12430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5464 /* 12433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5465 /* 12435 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
5466 /* 12442 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
5467 /* 12447 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5468 /* 12452 */ // GIR_Coverage, 20127,
5469 /* 12452 */ GIR_EraseRootFromParent_Done,
5470 /* 12453 */ // Label 474: @12453
5471 /* 12453 */ GIM_Reject,
5472 /* 12454 */ // Label 468: @12454
5473 /* 12454 */ GIM_Reject,
5474 /* 12455 */ // Label 396: @12455
5475 /* 12455 */ GIM_Try, /*On fail goto*//*Label 475*/ GIMT_Encode4(12767),
5476 /* 12460 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
5477 /* 12463 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
5478 /* 12466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5479 /* 12470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 476*/ GIMT_Encode4(12527), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 24075 //
5480 /* 12477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5481 /* 12481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5482 /* 12485 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5483 /* 12488 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5484 /* 12492 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5485 /* 12496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5486 /* 12500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5487 /* 12502 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5488 /* 12509 */ // (mul:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5489 /* 12509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5490 /* 12512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5491 /* 12514 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5492 /* 12516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5493 /* 12520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5494 /* 12525 */ GIR_RootConstrainSelectedInstOperands,
5495 /* 12526 */ // GIR_Coverage, 24075,
5496 /* 12526 */ GIR_EraseRootFromParent_Done,
5497 /* 12527 */ // Label 476: @12527
5498 /* 12527 */ GIM_Try, /*On fail goto*//*Label 477*/ GIMT_Encode4(12766),
5499 /* 12532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5500 /* 12536 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 478*/ GIMT_Encode4(12589), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 5015 //
5501 /* 12543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5502 /* 12547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5503 /* 12551 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5504 /* 12554 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5505 /* 12558 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5506 /* 12562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5507 /* 12564 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5508 /* 12571 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5509 /* 12571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5510 /* 12574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5511 /* 12576 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5512 /* 12578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5513 /* 12582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5514 /* 12587 */ GIR_RootConstrainSelectedInstOperands,
5515 /* 12588 */ // GIR_Coverage, 5015,
5516 /* 12588 */ GIR_EraseRootFromParent_Done,
5517 /* 12589 */ // Label 478: @12589
5518 /* 12589 */ GIM_Try, /*On fail goto*//*Label 479*/ GIMT_Encode4(12765),
5519 /* 12594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5520 /* 12598 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 480*/ GIMT_Encode4(12612), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 5012 //
5521 /* 12605 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMULLQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
5522 /* 12605 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rr),
5523 /* 12610 */ GIR_RootConstrainSelectedInstOperands,
5524 /* 12611 */ // GIR_Coverage, 5012,
5525 /* 12611 */ GIR_Done,
5526 /* 12612 */ // Label 480: @12612
5527 /* 12612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 481*/ GIMT_Encode4(12764), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 20126 //
5528 /* 12619 */ // (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] })
5529 /* 12619 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5530 /* 12622 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5531 /* 12626 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5532 /* 12631 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5533 /* 12633 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5534 /* 12636 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5535 /* 12640 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5536 /* 12645 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5537 /* 12648 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5538 /* 12652 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
5539 /* 12655 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5540 /* 12660 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5541 /* 12665 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5542 /* 12670 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5543 /* 12673 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5544 /* 12677 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5545 /* 12682 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5546 /* 12684 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5547 /* 12687 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5548 /* 12691 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5549 /* 12696 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5550 /* 12699 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5551 /* 12703 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
5552 /* 12706 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5553 /* 12711 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5554 /* 12716 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5555 /* 12721 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5556 /* 12724 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5557 /* 12728 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5558 /* 12733 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5559 /* 12736 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5560 /* 12739 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5561 /* 12741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5562 /* 12744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5563 /* 12746 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
5564 /* 12753 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
5565 /* 12758 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5566 /* 12763 */ // GIR_Coverage, 20126,
5567 /* 12763 */ GIR_EraseRootFromParent_Done,
5568 /* 12764 */ // Label 481: @12764
5569 /* 12764 */ GIM_Reject,
5570 /* 12765 */ // Label 479: @12765
5571 /* 12765 */ GIM_Reject,
5572 /* 12766 */ // Label 477: @12766
5573 /* 12766 */ GIM_Reject,
5574 /* 12767 */ // Label 475: @12767
5575 /* 12767 */ GIM_Reject,
5576 /* 12768 */ // Label 397: @12768
5577 /* 12768 */ GIM_Try, /*On fail goto*//*Label 482*/ GIMT_Encode4(12922),
5578 /* 12773 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
5579 /* 12776 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
5580 /* 12779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5581 /* 12783 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 483*/ GIMT_Encode4(12840), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 24069 //
5582 /* 12790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5583 /* 12794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5584 /* 12798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5585 /* 12801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5586 /* 12805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5587 /* 12809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5588 /* 12813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5589 /* 12815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5590 /* 12822 */ // (mul:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5591 /* 12822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5592 /* 12825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5593 /* 12827 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5594 /* 12829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5595 /* 12833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5596 /* 12838 */ GIR_RootConstrainSelectedInstOperands,
5597 /* 12839 */ // GIR_Coverage, 24069,
5598 /* 12839 */ GIR_EraseRootFromParent_Done,
5599 /* 12840 */ // Label 483: @12840
5600 /* 12840 */ GIM_Try, /*On fail goto*//*Label 484*/ GIMT_Encode4(12921),
5601 /* 12845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5602 /* 12849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 485*/ GIMT_Encode4(12902), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 5006 //
5603 /* 12856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5604 /* 12860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5605 /* 12864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5606 /* 12867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5607 /* 12871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5608 /* 12875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5609 /* 12877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5610 /* 12884 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5611 /* 12884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5612 /* 12887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5613 /* 12889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5614 /* 12891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5615 /* 12895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5616 /* 12900 */ GIR_RootConstrainSelectedInstOperands,
5617 /* 12901 */ // GIR_Coverage, 5006,
5618 /* 12901 */ GIR_EraseRootFromParent_Done,
5619 /* 12902 */ // Label 485: @12902
5620 /* 12902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 486*/ GIMT_Encode4(12920), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 5003 //
5621 /* 12909 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5622 /* 12913 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMULLQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
5623 /* 12913 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5624 /* 12918 */ GIR_RootConstrainSelectedInstOperands,
5625 /* 12919 */ // GIR_Coverage, 5003,
5626 /* 12919 */ GIR_Done,
5627 /* 12920 */ // Label 486: @12920
5628 /* 12920 */ GIM_Reject,
5629 /* 12921 */ // Label 484: @12921
5630 /* 12921 */ GIM_Reject,
5631 /* 12922 */ // Label 482: @12922
5632 /* 12922 */ GIM_Reject,
5633 /* 12923 */ // Label 398: @12923
5634 /* 12923 */ GIM_Reject,
5635 /* 12924 */ // Label 3: @12924
5636 /* 12924 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 510*/ GIMT_Encode4(22520),
5637 /* 12935 */ /*GILLT_s1*//*Label 487*/ GIMT_Encode4(13035),
5638 /* 12939 */ /*GILLT_s8*//*Label 488*/ GIMT_Encode4(13383),
5639 /* 12943 */ /*GILLT_s16*//*Label 489*/ GIMT_Encode4(13640),
5640 /* 12947 */ /*GILLT_s32*//*Label 490*/ GIMT_Encode4(14185),
5641 /* 12951 */ /*GILLT_s64*//*Label 491*/ GIMT_Encode4(15704), GIMT_Encode4(0), GIMT_Encode4(0),
5642 /* 12963 */ /*GILLT_v2s1*//*Label 492*/ GIMT_Encode4(17123),
5643 /* 12967 */ /*GILLT_v4s1*//*Label 493*/ GIMT_Encode4(17471),
5644 /* 12971 */ /*GILLT_v8s1*//*Label 494*/ GIMT_Encode4(17819),
5645 /* 12975 */ /*GILLT_v16s1*//*Label 495*/ GIMT_Encode4(18309),
5646 /* 12979 */ /*GILLT_v32s1*//*Label 496*/ GIMT_Encode4(18468),
5647 /* 12983 */ /*GILLT_v64s1*//*Label 497*/ GIMT_Encode4(18627),
5648 /* 12987 */ /*GILLT_v16s8*//*Label 498*/ GIMT_Encode4(18786),
5649 /* 12991 */ /*GILLT_v32s8*//*Label 499*/ GIMT_Encode4(19115),
5650 /* 12995 */ /*GILLT_v64s8*//*Label 500*/ GIMT_Encode4(19562),
5651 /* 12999 */ /*GILLT_v8s16*//*Label 501*/ GIMT_Encode4(19717),
5652 /* 13003 */ /*GILLT_v16s16*//*Label 502*/ GIMT_Encode4(20046),
5653 /* 13007 */ /*GILLT_v32s16*//*Label 503*/ GIMT_Encode4(20493),
5654 /* 13011 */ /*GILLT_v4s32*//*Label 504*/ GIMT_Encode4(20648),
5655 /* 13015 */ /*GILLT_v8s32*//*Label 505*/ GIMT_Encode4(20977),
5656 /* 13019 */ /*GILLT_v16s32*//*Label 506*/ GIMT_Encode4(21424),
5657 /* 13023 */ /*GILLT_v2s64*//*Label 507*/ GIMT_Encode4(21579),
5658 /* 13027 */ /*GILLT_v4s64*//*Label 508*/ GIMT_Encode4(21908),
5659 /* 13031 */ /*GILLT_v8s64*//*Label 509*/ GIMT_Encode4(22365),
5660 /* 13035 */ // Label 487: @13035
5661 /* 13035 */ GIM_Try, /*On fail goto*//*Label 511*/ GIMT_Encode4(13382),
5662 /* 13040 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
5663 /* 13043 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
5664 /* 13046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5665 /* 13050 */ GIM_Try, /*On fail goto*//*Label 512*/ GIMT_Encode4(13170), // Rule ID 19592 //
5666 /* 13055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5667 /* 13059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
5668 /* 13063 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
5669 /* 13067 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
5670 /* 13071 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5671 /* 13076 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5672 /* 13080 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
5673 /* 13086 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
5674 /* 13088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5675 /* 13092 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5676 /* 13094 */ // (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] })
5677 /* 13094 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5678 /* 13097 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5679 /* 13101 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5680 /* 13106 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
5681 /* 13110 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5682 /* 13115 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5683 /* 13118 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5684 /* 13122 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5685 /* 13127 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
5686 /* 13131 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5687 /* 13136 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5688 /* 13139 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
5689 /* 13143 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5690 /* 13148 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5691 /* 13151 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5692 /* 13154 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5693 /* 13156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5694 /* 13159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5695 /* 13161 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5696 /* 13164 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5697 /* 13169 */ // GIR_Coverage, 19592,
5698 /* 13169 */ GIR_EraseRootFromParent_Done,
5699 /* 13170 */ // Label 512: @13170
5700 /* 13170 */ GIM_Try, /*On fail goto*//*Label 513*/ GIMT_Encode4(13381),
5701 /* 13175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5702 /* 13179 */ GIM_Try, /*On fail goto*//*Label 514*/ GIMT_Encode4(13295), // Rule ID 25627 //
5703 /* 13184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5704 /* 13188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
5705 /* 13192 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
5706 /* 13196 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
5707 /* 13200 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5708 /* 13205 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5709 /* 13209 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
5710 /* 13215 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
5711 /* 13217 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5712 /* 13219 */ // (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] })
5713 /* 13219 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5714 /* 13222 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5715 /* 13226 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5716 /* 13231 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
5717 /* 13235 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5718 /* 13240 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5719 /* 13243 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5720 /* 13247 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5721 /* 13252 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
5722 /* 13256 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5723 /* 13261 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5724 /* 13264 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
5725 /* 13268 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5726 /* 13273 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5727 /* 13276 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5728 /* 13279 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5729 /* 13281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5730 /* 13284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5731 /* 13286 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5732 /* 13289 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5733 /* 13294 */ // GIR_Coverage, 25627,
5734 /* 13294 */ GIR_EraseRootFromParent_Done,
5735 /* 13295 */ // Label 514: @13295
5736 /* 13295 */ GIM_Try, /*On fail goto*//*Label 515*/ GIMT_Encode4(13380), // Rule ID 19588 //
5737 /* 13300 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5738 /* 13304 */ // (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] })
5739 /* 13304 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5740 /* 13307 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5741 /* 13311 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5742 /* 13316 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
5743 /* 13320 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5744 /* 13325 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5745 /* 13328 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5746 /* 13332 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5747 /* 13337 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5748 /* 13341 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5749 /* 13346 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5750 /* 13349 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
5751 /* 13353 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5752 /* 13358 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5753 /* 13361 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5754 /* 13364 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5755 /* 13366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5756 /* 13369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5757 /* 13371 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5758 /* 13374 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5759 /* 13379 */ // GIR_Coverage, 19588,
5760 /* 13379 */ GIR_EraseRootFromParent_Done,
5761 /* 13380 */ // Label 515: @13380
5762 /* 13380 */ GIM_Reject,
5763 /* 13381 */ // Label 513: @13381
5764 /* 13381 */ GIM_Reject,
5765 /* 13382 */ // Label 511: @13382
5766 /* 13382 */ GIM_Reject,
5767 /* 13383 */ // Label 488: @13383
5768 /* 13383 */ GIM_Try, /*On fail goto*//*Label 516*/ GIMT_Encode4(13639),
5769 /* 13388 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
5770 /* 13391 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
5771 /* 13394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5772 /* 13398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 517*/ GIMT_Encode4(13458), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26333 //
5773 /* 13405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5774 /* 13409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5775 /* 13413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5776 /* 13416 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5777 /* 13420 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
5778 /* 13424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5779 /* 13428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5780 /* 13430 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5781 /* 13437 */ // (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)
5782 /* 13437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
5783 /* 13440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5784 /* 13442 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5785 /* 13444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5786 /* 13448 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5787 /* 13451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5788 /* 13456 */ GIR_RootConstrainSelectedInstOperands,
5789 /* 13457 */ // GIR_Coverage, 26333,
5790 /* 13457 */ GIR_EraseRootFromParent_Done,
5791 /* 13458 */ // Label 517: @13458
5792 /* 13458 */ GIM_Try, /*On fail goto*//*Label 518*/ GIMT_Encode4(13638),
5793 /* 13463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5794 /* 13467 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 519*/ GIMT_Encode4(13523), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23105 //
5795 /* 13474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5796 /* 13478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5797 /* 13482 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5798 /* 13485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5799 /* 13489 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
5800 /* 13493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5801 /* 13495 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5802 /* 13502 */ // (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)
5803 /* 13502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
5804 /* 13505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5805 /* 13507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5806 /* 13509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5807 /* 13513 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5808 /* 13516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5809 /* 13521 */ GIR_RootConstrainSelectedInstOperands,
5810 /* 13522 */ // GIR_Coverage, 23105,
5811 /* 13522 */ GIR_EraseRootFromParent_Done,
5812 /* 13523 */ // Label 519: @13523
5813 /* 13523 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 520*/ GIMT_Encode4(13555), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23109 //
5814 /* 13530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5815 /* 13534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5816 /* 13538 */ // MIs[1] Operand 1
5817 /* 13538 */ // No operand predicates
5818 /* 13538 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5819 /* 13540 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
5820 /* 13540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri),
5821 /* 13543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5822 /* 13545 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5823 /* 13547 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5824 /* 13550 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5825 /* 13553 */ GIR_RootConstrainSelectedInstOperands,
5826 /* 13554 */ // GIR_Coverage, 23109,
5827 /* 13554 */ GIR_EraseRootFromParent_Done,
5828 /* 13555 */ // Label 520: @13555
5829 /* 13555 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 521*/ GIMT_Encode4(13587), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23199 //
5830 /* 13562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5831 /* 13566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5832 /* 13570 */ // MIs[1] Operand 1
5833 /* 13570 */ // No operand predicates
5834 /* 13570 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5835 /* 13572 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
5836 /* 13572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri_ND),
5837 /* 13575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5838 /* 13577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5839 /* 13579 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5840 /* 13582 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5841 /* 13585 */ GIR_RootConstrainSelectedInstOperands,
5842 /* 13586 */ // GIR_Coverage, 23199,
5843 /* 13586 */ GIR_EraseRootFromParent_Done,
5844 /* 13587 */ // Label 521: @13587
5845 /* 13587 */ GIM_Try, /*On fail goto*//*Label 522*/ GIMT_Encode4(13637),
5846 /* 13592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5847 /* 13596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 523*/ GIMT_Encode4(13616), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23101 //
5848 /* 13603 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
5849 /* 13603 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr),
5850 /* 13608 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5851 /* 13614 */ GIR_RootConstrainSelectedInstOperands,
5852 /* 13615 */ // GIR_Coverage, 23101,
5853 /* 13615 */ GIR_Done,
5854 /* 13616 */ // Label 523: @13616
5855 /* 13616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 524*/ GIMT_Encode4(13636), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23191 //
5856 /* 13623 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
5857 /* 13623 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr_ND),
5858 /* 13628 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5859 /* 13634 */ GIR_RootConstrainSelectedInstOperands,
5860 /* 13635 */ // GIR_Coverage, 23191,
5861 /* 13635 */ GIR_Done,
5862 /* 13636 */ // Label 524: @13636
5863 /* 13636 */ GIM_Reject,
5864 /* 13637 */ // Label 522: @13637
5865 /* 13637 */ GIM_Reject,
5866 /* 13638 */ // Label 518: @13638
5867 /* 13638 */ GIM_Reject,
5868 /* 13639 */ // Label 516: @13639
5869 /* 13639 */ GIM_Reject,
5870 /* 13640 */ // Label 489: @13640
5871 /* 13640 */ GIM_Try, /*On fail goto*//*Label 525*/ GIMT_Encode4(14184),
5872 /* 13645 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
5873 /* 13648 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
5874 /* 13651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5875 /* 13655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 526*/ GIMT_Encode4(13715), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26334 //
5876 /* 13662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5877 /* 13666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5878 /* 13670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5879 /* 13673 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5880 /* 13677 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
5881 /* 13681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5882 /* 13685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5883 /* 13687 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5884 /* 13694 */ // (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)
5885 /* 13694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
5886 /* 13697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5887 /* 13699 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5888 /* 13701 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5889 /* 13705 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5890 /* 13708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5891 /* 13713 */ GIR_RootConstrainSelectedInstOperands,
5892 /* 13714 */ // GIR_Coverage, 26334,
5893 /* 13714 */ GIR_EraseRootFromParent_Done,
5894 /* 13715 */ // Label 526: @13715
5895 /* 13715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 527*/ GIMT_Encode4(13775), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23106 //
5896 /* 13722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5897 /* 13726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5898 /* 13730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5899 /* 13734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5900 /* 13737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5901 /* 13741 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
5902 /* 13745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5903 /* 13747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5904 /* 13754 */ // (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)
5905 /* 13754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
5906 /* 13757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5907 /* 13759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5908 /* 13761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5909 /* 13765 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5910 /* 13768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5911 /* 13773 */ GIR_RootConstrainSelectedInstOperands,
5912 /* 13774 */ // GIR_Coverage, 23106,
5913 /* 13774 */ GIR_EraseRootFromParent_Done,
5914 /* 13775 */ // Label 527: @13775
5915 /* 13775 */ GIM_Try, /*On fail goto*//*Label 528*/ GIMT_Encode4(13877), // Rule ID 26300 //
5916 /* 13780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5917 /* 13784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
5918 /* 13788 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
5919 /* 13792 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
5920 /* 13796 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
5921 /* 13800 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5922 /* 13805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5923 /* 13809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5924 /* 13811 */ // (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] }))
5925 /* 13811 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
5926 /* 13814 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5927 /* 13818 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5928 /* 13823 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
5929 /* 13825 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
5930 /* 13828 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5931 /* 13832 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5932 /* 13837 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5933 /* 13840 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
5934 /* 13844 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
5935 /* 13847 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
5936 /* 13852 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
5937 /* 13857 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
5938 /* 13862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
5939 /* 13865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5940 /* 13867 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5941 /* 13869 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5942 /* 13872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5943 /* 13875 */ GIR_RootConstrainSelectedInstOperands,
5944 /* 13876 */ // GIR_Coverage, 26300,
5945 /* 13876 */ GIR_EraseRootFromParent_Done,
5946 /* 13877 */ // Label 528: @13877
5947 /* 13877 */ GIM_Try, /*On fail goto*//*Label 529*/ GIMT_Encode4(14183),
5948 /* 13882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5949 /* 13886 */ GIM_Try, /*On fail goto*//*Label 530*/ GIMT_Encode4(13984), // Rule ID 23021 //
5950 /* 13891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5951 /* 13895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
5952 /* 13899 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
5953 /* 13903 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
5954 /* 13907 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
5955 /* 13911 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5956 /* 13916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5957 /* 13918 */ // (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] }))
5958 /* 13918 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
5959 /* 13921 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5960 /* 13925 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5961 /* 13930 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
5962 /* 13932 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
5963 /* 13935 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5964 /* 13939 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5965 /* 13944 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5966 /* 13947 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
5967 /* 13951 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
5968 /* 13954 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
5969 /* 13959 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
5970 /* 13964 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
5971 /* 13969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
5972 /* 13972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5973 /* 13974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5974 /* 13976 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5975 /* 13979 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5976 /* 13982 */ GIR_RootConstrainSelectedInstOperands,
5977 /* 13983 */ // GIR_Coverage, 23021,
5978 /* 13983 */ GIR_EraseRootFromParent_Done,
5979 /* 13984 */ // Label 530: @13984
5980 /* 13984 */ GIM_Try, /*On fail goto*//*Label 531*/ GIMT_Encode4(14068), // Rule ID 22881 //
5981 /* 13989 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
5982 /* 14000 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, 255:{ *:[i16] }) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src1, sub_8bit:{ *:[i32] })), sub_16bit:{ *:[i32] })
5983 /* 14000 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
5984 /* 14003 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5985 /* 14007 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5986 /* 14012 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
5987 /* 14018 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
5988 /* 14023 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
5989 /* 14028 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
5990 /* 14031 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
5991 /* 14035 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5992 /* 14040 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5993 /* 14043 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5994 /* 14045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5995 /* 14048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5996 /* 14050 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
5997 /* 14057 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
5998 /* 14062 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
5999 /* 14067 */ // GIR_Coverage, 22881,
6000 /* 14067 */ GIR_EraseRootFromParent_Done,
6001 /* 14068 */ // Label 531: @14068
6002 /* 14068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 532*/ GIMT_Encode4(14100), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23110 //
6003 /* 14075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6004 /* 14079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6005 /* 14083 */ // MIs[1] Operand 1
6006 /* 14083 */ // No operand predicates
6007 /* 14083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6008 /* 14085 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6009 /* 14085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri),
6010 /* 14088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6011 /* 14090 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6012 /* 14092 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6013 /* 14095 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6014 /* 14098 */ GIR_RootConstrainSelectedInstOperands,
6015 /* 14099 */ // GIR_Coverage, 23110,
6016 /* 14099 */ GIR_EraseRootFromParent_Done,
6017 /* 14100 */ // Label 532: @14100
6018 /* 14100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 533*/ GIMT_Encode4(14132), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23200 //
6019 /* 14107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6020 /* 14111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6021 /* 14115 */ // MIs[1] Operand 1
6022 /* 14115 */ // No operand predicates
6023 /* 14115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6024 /* 14117 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6025 /* 14117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri_ND),
6026 /* 14120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6027 /* 14122 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6028 /* 14124 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6029 /* 14127 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6030 /* 14130 */ GIR_RootConstrainSelectedInstOperands,
6031 /* 14131 */ // GIR_Coverage, 23200,
6032 /* 14131 */ GIR_EraseRootFromParent_Done,
6033 /* 14132 */ // Label 533: @14132
6034 /* 14132 */ GIM_Try, /*On fail goto*//*Label 534*/ GIMT_Encode4(14182),
6035 /* 14137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6036 /* 14141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 535*/ GIMT_Encode4(14161), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23102 //
6037 /* 14148 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6038 /* 14148 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr),
6039 /* 14153 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6040 /* 14159 */ GIR_RootConstrainSelectedInstOperands,
6041 /* 14160 */ // GIR_Coverage, 23102,
6042 /* 14160 */ GIR_Done,
6043 /* 14161 */ // Label 535: @14161
6044 /* 14161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 536*/ GIMT_Encode4(14181), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23192 //
6045 /* 14168 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6046 /* 14168 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr_ND),
6047 /* 14173 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6048 /* 14179 */ GIR_RootConstrainSelectedInstOperands,
6049 /* 14180 */ // GIR_Coverage, 23192,
6050 /* 14180 */ GIR_Done,
6051 /* 14181 */ // Label 536: @14181
6052 /* 14181 */ GIM_Reject,
6053 /* 14182 */ // Label 534: @14182
6054 /* 14182 */ GIM_Reject,
6055 /* 14183 */ // Label 529: @14183
6056 /* 14183 */ GIM_Reject,
6057 /* 14184 */ // Label 525: @14184
6058 /* 14184 */ GIM_Reject,
6059 /* 14185 */ // Label 490: @14185
6060 /* 14185 */ GIM_Try, /*On fail goto*//*Label 537*/ GIMT_Encode4(15703),
6061 /* 14190 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
6062 /* 14193 */ GIM_Try, /*On fail goto*//*Label 538*/ GIMT_Encode4(14938),
6063 /* 14198 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6064 /* 14201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6065 /* 14205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 539*/ GIMT_Encode4(14289), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 17591 //
6066 /* 14212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6067 /* 14216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6068 /* 14220 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6069 /* 14224 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6070 /* 14228 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6071 /* 14233 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6072 /* 14237 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6073 /* 14241 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6074 /* 14245 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6075 /* 14248 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6076 /* 14252 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6077 /* 14256 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6078 /* 14258 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6079 /* 14265 */ // (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)
6080 /* 14265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6081 /* 14268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6082 /* 14270 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6083 /* 14274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6084 /* 14278 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6085 /* 14281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6086 /* 14287 */ GIR_RootConstrainSelectedInstOperands,
6087 /* 14288 */ // GIR_Coverage, 17591,
6088 /* 14288 */ GIR_EraseRootFromParent_Done,
6089 /* 14289 */ // Label 539: @14289
6090 /* 14289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 540*/ GIMT_Encode4(14373), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 17595 //
6091 /* 14296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6092 /* 14300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6093 /* 14304 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6094 /* 14308 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6095 /* 14312 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6096 /* 14317 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6097 /* 14321 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6098 /* 14325 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6099 /* 14329 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6100 /* 14332 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6101 /* 14336 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6102 /* 14340 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6103 /* 14342 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6104 /* 14349 */ // (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)
6105 /* 14349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6106 /* 14352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6107 /* 14354 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6108 /* 14358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6109 /* 14362 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6110 /* 14365 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6111 /* 14371 */ GIR_RootConstrainSelectedInstOperands,
6112 /* 14372 */ // GIR_Coverage, 17595,
6113 /* 14372 */ GIR_EraseRootFromParent_Done,
6114 /* 14373 */ // Label 540: @14373
6115 /* 14373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 541*/ GIMT_Encode4(14457), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 25363 //
6116 /* 14380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6117 /* 14384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6118 /* 14388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6119 /* 14391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6120 /* 14395 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6121 /* 14399 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6122 /* 14403 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6123 /* 14407 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6124 /* 14411 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6125 /* 14415 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6126 /* 14420 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6127 /* 14424 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6128 /* 14426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6129 /* 14433 */ // (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)
6130 /* 14433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6131 /* 14436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6132 /* 14438 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6133 /* 14442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6134 /* 14446 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6135 /* 14449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6136 /* 14455 */ GIR_RootConstrainSelectedInstOperands,
6137 /* 14456 */ // GIR_Coverage, 25363,
6138 /* 14456 */ GIR_EraseRootFromParent_Done,
6139 /* 14457 */ // Label 541: @14457
6140 /* 14457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 542*/ GIMT_Encode4(14541), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 25367 //
6141 /* 14464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6142 /* 14468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6143 /* 14472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6144 /* 14475 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6145 /* 14479 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6146 /* 14483 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6147 /* 14487 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6148 /* 14491 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6149 /* 14495 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6150 /* 14499 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6151 /* 14504 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6152 /* 14508 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6153 /* 14510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6154 /* 14517 */ // (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)
6155 /* 14517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6156 /* 14520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6157 /* 14522 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6158 /* 14526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6159 /* 14530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6160 /* 14533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6161 /* 14539 */ GIR_RootConstrainSelectedInstOperands,
6162 /* 14540 */ // GIR_Coverage, 25367,
6163 /* 14540 */ GIR_EraseRootFromParent_Done,
6164 /* 14541 */ // Label 542: @14541
6165 /* 14541 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 543*/ GIMT_Encode4(14601), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26335 //
6166 /* 14548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6167 /* 14552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6168 /* 14556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6169 /* 14559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6170 /* 14563 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6171 /* 14567 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6172 /* 14571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6173 /* 14573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6174 /* 14580 */ // (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)
6175 /* 14580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6176 /* 14583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6177 /* 14585 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6178 /* 14587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6179 /* 14591 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6180 /* 14594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6181 /* 14599 */ GIR_RootConstrainSelectedInstOperands,
6182 /* 14600 */ // GIR_Coverage, 26335,
6183 /* 14600 */ GIR_EraseRootFromParent_Done,
6184 /* 14601 */ // Label 543: @14601
6185 /* 14601 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 544*/ GIMT_Encode4(14661), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23107 //
6186 /* 14608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6187 /* 14612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6188 /* 14616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6189 /* 14620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6190 /* 14623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6191 /* 14627 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6192 /* 14631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6193 /* 14633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6194 /* 14640 */ // (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)
6195 /* 14640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6196 /* 14643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6197 /* 14645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6198 /* 14647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6199 /* 14651 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6200 /* 14654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6201 /* 14659 */ GIR_RootConstrainSelectedInstOperands,
6202 /* 14660 */ // GIR_Coverage, 23107,
6203 /* 14660 */ GIR_EraseRootFromParent_Done,
6204 /* 14661 */ // Label 544: @14661
6205 /* 14661 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 545*/ GIMT_Encode4(14730), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25253 //
6206 /* 14668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6207 /* 14672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6208 /* 14676 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6209 /* 14680 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6210 /* 14684 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6211 /* 14689 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6212 /* 14693 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6213 /* 14697 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6214 /* 14701 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6215 /* 14705 */ // MIs[2] src
6216 /* 14705 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6217 /* 14710 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6218 /* 14714 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6219 /* 14716 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6220 /* 14716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
6221 /* 14719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6222 /* 14721 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6223 /* 14725 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6224 /* 14728 */ GIR_RootConstrainSelectedInstOperands,
6225 /* 14729 */ // GIR_Coverage, 25253,
6226 /* 14729 */ GIR_EraseRootFromParent_Done,
6227 /* 14730 */ // Label 545: @14730
6228 /* 14730 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 546*/ GIMT_Encode4(14799), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25267 //
6229 /* 14737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6230 /* 14741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6231 /* 14745 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6232 /* 14749 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6233 /* 14753 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6234 /* 14758 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6235 /* 14762 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6236 /* 14766 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6237 /* 14770 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6238 /* 14774 */ // MIs[2] src
6239 /* 14774 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6240 /* 14779 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6241 /* 14783 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6242 /* 14785 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6243 /* 14785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
6244 /* 14788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6245 /* 14790 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6246 /* 14794 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6247 /* 14797 */ GIR_RootConstrainSelectedInstOperands,
6248 /* 14798 */ // GIR_Coverage, 25267,
6249 /* 14798 */ GIR_EraseRootFromParent_Done,
6250 /* 14799 */ // Label 546: @14799
6251 /* 14799 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 547*/ GIMT_Encode4(14868), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17397 //
6252 /* 14806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6253 /* 14810 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6254 /* 14814 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6255 /* 14818 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6256 /* 14822 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6257 /* 14827 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6258 /* 14831 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6259 /* 14835 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6260 /* 14839 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6261 /* 14843 */ // MIs[2] src
6262 /* 14843 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6263 /* 14848 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
6264 /* 14852 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6265 /* 14854 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6266 /* 14854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
6267 /* 14857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6268 /* 14859 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6269 /* 14863 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6270 /* 14866 */ GIR_RootConstrainSelectedInstOperands,
6271 /* 14867 */ // GIR_Coverage, 17397,
6272 /* 14867 */ GIR_EraseRootFromParent_Done,
6273 /* 14868 */ // Label 547: @14868
6274 /* 14868 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 548*/ GIMT_Encode4(14937), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17411 //
6275 /* 14875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6276 /* 14879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6277 /* 14883 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6278 /* 14887 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6279 /* 14891 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6280 /* 14896 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6281 /* 14900 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6282 /* 14904 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6283 /* 14908 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6284 /* 14912 */ // MIs[2] src
6285 /* 14912 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6286 /* 14917 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6287 /* 14921 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6288 /* 14923 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6289 /* 14923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
6290 /* 14926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6291 /* 14928 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6292 /* 14932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6293 /* 14935 */ GIR_RootConstrainSelectedInstOperands,
6294 /* 14936 */ // GIR_Coverage, 17411,
6295 /* 14936 */ GIR_EraseRootFromParent_Done,
6296 /* 14937 */ // Label 548: @14937
6297 /* 14937 */ GIM_Reject,
6298 /* 14938 */ // Label 538: @14938
6299 /* 14938 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 549*/ GIMT_Encode4(14995), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25247 //
6300 /* 14945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6301 /* 14949 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6302 /* 14953 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6303 /* 14957 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6304 /* 14961 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6305 /* 14965 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6306 /* 14970 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6307 /* 14974 */ // MIs[0] src
6308 /* 14974 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
6309 /* 14979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6310 /* 14981 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6311 /* 14981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
6312 /* 14984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6313 /* 14986 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6314 /* 14990 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6315 /* 14993 */ GIR_RootConstrainSelectedInstOperands,
6316 /* 14994 */ // GIR_Coverage, 25247,
6317 /* 14994 */ GIR_EraseRootFromParent_Done,
6318 /* 14995 */ // Label 549: @14995
6319 /* 14995 */ GIM_Try, /*On fail goto*//*Label 550*/ GIMT_Encode4(15702),
6320 /* 15000 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6321 /* 15003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6322 /* 15007 */ GIM_Try, /*On fail goto*//*Label 551*/ GIMT_Encode4(15109), // Rule ID 26306 //
6323 /* 15012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6324 /* 15016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6325 /* 15020 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6326 /* 15024 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6327 /* 15028 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6328 /* 15032 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6329 /* 15037 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6330 /* 15041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6331 /* 15043 */ // (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] }))
6332 /* 15043 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
6333 /* 15046 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6334 /* 15050 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6335 /* 15055 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6336 /* 15057 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6337 /* 15060 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6338 /* 15064 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6339 /* 15069 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6340 /* 15072 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6341 /* 15076 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6342 /* 15079 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6343 /* 15084 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6344 /* 15089 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6345 /* 15094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
6346 /* 15097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6347 /* 15099 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6348 /* 15101 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6349 /* 15104 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6350 /* 15107 */ GIR_RootConstrainSelectedInstOperands,
6351 /* 15108 */ // GIR_Coverage, 26306,
6352 /* 15108 */ GIR_EraseRootFromParent_Done,
6353 /* 15109 */ // Label 551: @15109
6354 /* 15109 */ GIM_Try, /*On fail goto*//*Label 552*/ GIMT_Encode4(15431),
6355 /* 15114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6356 /* 15118 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 553*/ GIMT_Encode4(15160), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17391 //
6357 /* 15125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6358 /* 15129 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6359 /* 15133 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6360 /* 15137 */ // MIs[1] src
6361 /* 15137 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
6362 /* 15142 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6363 /* 15146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6364 /* 15148 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6365 /* 15148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
6366 /* 15151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6367 /* 15153 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
6368 /* 15155 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6369 /* 15158 */ GIR_RootConstrainSelectedInstOperands,
6370 /* 15159 */ // GIR_Coverage, 17391,
6371 /* 15159 */ GIR_EraseRootFromParent_Done,
6372 /* 15160 */ // Label 553: @15160
6373 /* 15160 */ GIM_Try, /*On fail goto*//*Label 554*/ GIMT_Encode4(15258), // Rule ID 23027 //
6374 /* 15165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6375 /* 15169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6376 /* 15173 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6377 /* 15177 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6378 /* 15181 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6379 /* 15185 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6380 /* 15190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6381 /* 15192 */ // (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] }))
6382 /* 15192 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
6383 /* 15195 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6384 /* 15199 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6385 /* 15204 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6386 /* 15206 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6387 /* 15209 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6388 /* 15213 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6389 /* 15218 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6390 /* 15221 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6391 /* 15225 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6392 /* 15228 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6393 /* 15233 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6394 /* 15238 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6395 /* 15243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
6396 /* 15246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6397 /* 15248 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6398 /* 15250 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6399 /* 15253 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6400 /* 15256 */ GIR_RootConstrainSelectedInstOperands,
6401 /* 15257 */ // GIR_Coverage, 23027,
6402 /* 15257 */ GIR_EraseRootFromParent_Done,
6403 /* 15258 */ // Label 554: @15258
6404 /* 15258 */ GIM_Try, /*On fail goto*//*Label 555*/ GIMT_Encode4(15312), // Rule ID 22879 //
6405 /* 15263 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(65535),
6406 /* 15274 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 65535:{ *:[i32] }) => (MOVZX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src1, sub_16bit:{ *:[i32] }))
6407 /* 15274 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6408 /* 15277 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6409 /* 15281 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6410 /* 15286 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src1
6411 /* 15292 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6412 /* 15297 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6413 /* 15302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
6414 /* 15305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6415 /* 15307 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6416 /* 15310 */ GIR_RootConstrainSelectedInstOperands,
6417 /* 15311 */ // GIR_Coverage, 22879,
6418 /* 15311 */ GIR_EraseRootFromParent_Done,
6419 /* 15312 */ // Label 555: @15312
6420 /* 15312 */ GIM_Try, /*On fail goto*//*Label 556*/ GIMT_Encode4(15366), // Rule ID 22880 //
6421 /* 15317 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
6422 /* 15328 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 255:{ *:[i32] }) => (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src1, sub_8bit:{ *:[i32] }))
6423 /* 15328 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
6424 /* 15331 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6425 /* 15335 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6426 /* 15340 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
6427 /* 15346 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
6428 /* 15351 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6429 /* 15356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
6430 /* 15359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6431 /* 15361 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6432 /* 15364 */ GIR_RootConstrainSelectedInstOperands,
6433 /* 15365 */ // GIR_Coverage, 22880,
6434 /* 15365 */ GIR_EraseRootFromParent_Done,
6435 /* 15366 */ // Label 556: @15366
6436 /* 15366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 557*/ GIMT_Encode4(15398), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23111 //
6437 /* 15373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6438 /* 15377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6439 /* 15381 */ // MIs[1] Operand 1
6440 /* 15381 */ // No operand predicates
6441 /* 15381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6442 /* 15383 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
6443 /* 15383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri),
6444 /* 15386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6445 /* 15388 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6446 /* 15390 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6447 /* 15393 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6448 /* 15396 */ GIR_RootConstrainSelectedInstOperands,
6449 /* 15397 */ // GIR_Coverage, 23111,
6450 /* 15397 */ GIR_EraseRootFromParent_Done,
6451 /* 15398 */ // Label 557: @15398
6452 /* 15398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 558*/ GIMT_Encode4(15430), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23201 //
6453 /* 15405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6454 /* 15409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6455 /* 15413 */ // MIs[1] Operand 1
6456 /* 15413 */ // No operand predicates
6457 /* 15413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6458 /* 15415 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
6459 /* 15415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri_ND),
6460 /* 15418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6461 /* 15420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6462 /* 15422 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6463 /* 15425 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6464 /* 15428 */ GIR_RootConstrainSelectedInstOperands,
6465 /* 15429 */ // GIR_Coverage, 23201,
6466 /* 15429 */ GIR_EraseRootFromParent_Done,
6467 /* 15430 */ // Label 558: @15430
6468 /* 15430 */ GIM_Reject,
6469 /* 15431 */ // Label 552: @15431
6470 /* 15431 */ GIM_Try, /*On fail goto*//*Label 559*/ GIMT_Encode4(15541),
6471 /* 15436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6472 /* 15440 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 560*/ GIMT_Encode4(15490), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 17589 //
6473 /* 15447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6474 /* 15451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6475 /* 15455 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6476 /* 15459 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6477 /* 15463 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6478 /* 15468 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6479 /* 15472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6480 /* 15474 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6481 /* 15474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
6482 /* 15477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6483 /* 15479 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6484 /* 15483 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6485 /* 15485 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6486 /* 15488 */ GIR_RootConstrainSelectedInstOperands,
6487 /* 15489 */ // GIR_Coverage, 17589,
6488 /* 15489 */ GIR_EraseRootFromParent_Done,
6489 /* 15490 */ // Label 560: @15490
6490 /* 15490 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 561*/ GIMT_Encode4(15540), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 17593 //
6491 /* 15497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6492 /* 15501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6493 /* 15505 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6494 /* 15509 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6495 /* 15513 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6496 /* 15518 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6497 /* 15522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6498 /* 15524 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6499 /* 15524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
6500 /* 15527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6501 /* 15529 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6502 /* 15533 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6503 /* 15535 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6504 /* 15538 */ GIR_RootConstrainSelectedInstOperands,
6505 /* 15539 */ // GIR_Coverage, 17593,
6506 /* 15539 */ GIR_EraseRootFromParent_Done,
6507 /* 15540 */ // Label 561: @15540
6508 /* 15540 */ GIM_Reject,
6509 /* 15541 */ // Label 559: @15541
6510 /* 15541 */ GIM_Try, /*On fail goto*//*Label 562*/ GIMT_Encode4(15701),
6511 /* 15546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6512 /* 15550 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 563*/ GIMT_Encode4(15600), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 25361 //
6513 /* 15557 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6514 /* 15561 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6515 /* 15565 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6516 /* 15569 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6517 /* 15573 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6518 /* 15578 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6519 /* 15582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6520 /* 15584 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6521 /* 15584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
6522 /* 15587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6523 /* 15589 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6524 /* 15593 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
6525 /* 15595 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6526 /* 15598 */ GIR_RootConstrainSelectedInstOperands,
6527 /* 15599 */ // GIR_Coverage, 25361,
6528 /* 15599 */ GIR_EraseRootFromParent_Done,
6529 /* 15600 */ // Label 563: @15600
6530 /* 15600 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 564*/ GIMT_Encode4(15650), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 25365 //
6531 /* 15607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6532 /* 15611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6533 /* 15615 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6534 /* 15619 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6535 /* 15623 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6536 /* 15628 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6537 /* 15632 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6538 /* 15634 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6539 /* 15634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
6540 /* 15637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6541 /* 15639 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6542 /* 15643 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
6543 /* 15645 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6544 /* 15648 */ GIR_RootConstrainSelectedInstOperands,
6545 /* 15649 */ // GIR_Coverage, 25365,
6546 /* 15649 */ GIR_EraseRootFromParent_Done,
6547 /* 15650 */ // Label 564: @15650
6548 /* 15650 */ GIM_Try, /*On fail goto*//*Label 565*/ GIMT_Encode4(15700),
6549 /* 15655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6550 /* 15659 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 566*/ GIMT_Encode4(15679), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23103 //
6551 /* 15666 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6552 /* 15666 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr),
6553 /* 15671 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6554 /* 15677 */ GIR_RootConstrainSelectedInstOperands,
6555 /* 15678 */ // GIR_Coverage, 23103,
6556 /* 15678 */ GIR_Done,
6557 /* 15679 */ // Label 566: @15679
6558 /* 15679 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 567*/ GIMT_Encode4(15699), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23193 //
6559 /* 15686 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6560 /* 15686 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr_ND),
6561 /* 15691 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6562 /* 15697 */ GIR_RootConstrainSelectedInstOperands,
6563 /* 15698 */ // GIR_Coverage, 23193,
6564 /* 15698 */ GIR_Done,
6565 /* 15699 */ // Label 567: @15699
6566 /* 15699 */ GIM_Reject,
6567 /* 15700 */ // Label 565: @15700
6568 /* 15700 */ GIM_Reject,
6569 /* 15701 */ // Label 562: @15701
6570 /* 15701 */ GIM_Reject,
6571 /* 15702 */ // Label 550: @15702
6572 /* 15702 */ GIM_Reject,
6573 /* 15703 */ // Label 537: @15703
6574 /* 15703 */ GIM_Reject,
6575 /* 15704 */ // Label 491: @15704
6576 /* 15704 */ GIM_Try, /*On fail goto*//*Label 568*/ GIMT_Encode4(17122),
6577 /* 15709 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
6578 /* 15712 */ GIM_Try, /*On fail goto*//*Label 569*/ GIMT_Encode4(16457),
6579 /* 15717 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6580 /* 15720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6581 /* 15724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 570*/ GIMT_Encode4(15808), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 17592 //
6582 /* 15731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6583 /* 15735 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6584 /* 15739 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6585 /* 15743 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6586 /* 15747 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6587 /* 15752 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6588 /* 15756 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6589 /* 15760 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6590 /* 15764 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6591 /* 15767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
6592 /* 15771 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6593 /* 15775 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6594 /* 15777 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6595 /* 15784 */ // (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)
6596 /* 15784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
6597 /* 15787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6598 /* 15789 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6599 /* 15793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6600 /* 15797 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6601 /* 15800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6602 /* 15806 */ GIR_RootConstrainSelectedInstOperands,
6603 /* 15807 */ // GIR_Coverage, 17592,
6604 /* 15807 */ GIR_EraseRootFromParent_Done,
6605 /* 15808 */ // Label 570: @15808
6606 /* 15808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 571*/ GIMT_Encode4(15892), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 17596 //
6607 /* 15815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6608 /* 15819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6609 /* 15823 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6610 /* 15827 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6611 /* 15831 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6612 /* 15836 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6613 /* 15840 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6614 /* 15844 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6615 /* 15848 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6616 /* 15851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
6617 /* 15855 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6618 /* 15859 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6619 /* 15861 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6620 /* 15868 */ // (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)
6621 /* 15868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
6622 /* 15871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6623 /* 15873 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6624 /* 15877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6625 /* 15881 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6626 /* 15884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6627 /* 15890 */ GIR_RootConstrainSelectedInstOperands,
6628 /* 15891 */ // GIR_Coverage, 17596,
6629 /* 15891 */ GIR_EraseRootFromParent_Done,
6630 /* 15892 */ // Label 571: @15892
6631 /* 15892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 572*/ GIMT_Encode4(15976), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 25364 //
6632 /* 15899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6633 /* 15903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6634 /* 15907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6635 /* 15910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6636 /* 15914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6637 /* 15918 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6638 /* 15922 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6639 /* 15926 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
6640 /* 15930 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6641 /* 15934 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6642 /* 15939 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6643 /* 15943 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6644 /* 15945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6645 /* 15952 */ // (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)
6646 /* 15952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
6647 /* 15955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6648 /* 15957 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6649 /* 15961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6650 /* 15965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6651 /* 15968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6652 /* 15974 */ GIR_RootConstrainSelectedInstOperands,
6653 /* 15975 */ // GIR_Coverage, 25364,
6654 /* 15975 */ GIR_EraseRootFromParent_Done,
6655 /* 15976 */ // Label 572: @15976
6656 /* 15976 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 573*/ GIMT_Encode4(16060), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 25368 //
6657 /* 15983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6658 /* 15987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6659 /* 15991 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6660 /* 15994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6661 /* 15998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6662 /* 16002 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6663 /* 16006 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6664 /* 16010 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
6665 /* 16014 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6666 /* 16018 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6667 /* 16023 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6668 /* 16027 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6669 /* 16029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6670 /* 16036 */ // (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)
6671 /* 16036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
6672 /* 16039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6673 /* 16041 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6674 /* 16045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6675 /* 16049 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6676 /* 16052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6677 /* 16058 */ GIR_RootConstrainSelectedInstOperands,
6678 /* 16059 */ // GIR_Coverage, 25368,
6679 /* 16059 */ GIR_EraseRootFromParent_Done,
6680 /* 16060 */ // Label 573: @16060
6681 /* 16060 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 574*/ GIMT_Encode4(16120), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26336 //
6682 /* 16067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6683 /* 16071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6684 /* 16075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6685 /* 16078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6686 /* 16082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6687 /* 16086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6688 /* 16090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6689 /* 16092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6690 /* 16099 */ // (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)
6691 /* 16099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
6692 /* 16102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6693 /* 16104 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6694 /* 16106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6695 /* 16110 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6696 /* 16113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6697 /* 16118 */ GIR_RootConstrainSelectedInstOperands,
6698 /* 16119 */ // GIR_Coverage, 26336,
6699 /* 16119 */ GIR_EraseRootFromParent_Done,
6700 /* 16120 */ // Label 574: @16120
6701 /* 16120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 575*/ GIMT_Encode4(16180), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23108 //
6702 /* 16127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6703 /* 16131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6704 /* 16135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6705 /* 16139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6706 /* 16142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6707 /* 16146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6708 /* 16150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6709 /* 16152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6710 /* 16159 */ // (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)
6711 /* 16159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
6712 /* 16162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6713 /* 16164 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6714 /* 16166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6715 /* 16170 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6716 /* 16173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6717 /* 16178 */ GIR_RootConstrainSelectedInstOperands,
6718 /* 16179 */ // GIR_Coverage, 23108,
6719 /* 16179 */ GIR_EraseRootFromParent_Done,
6720 /* 16180 */ // Label 575: @16180
6721 /* 16180 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 576*/ GIMT_Encode4(16249), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25254 //
6722 /* 16187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6723 /* 16191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6724 /* 16195 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6725 /* 16199 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6726 /* 16203 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6727 /* 16208 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6728 /* 16212 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6729 /* 16216 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6730 /* 16220 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6731 /* 16224 */ // MIs[2] src
6732 /* 16224 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6733 /* 16229 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6734 /* 16233 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6735 /* 16235 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6736 /* 16235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
6737 /* 16238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6738 /* 16240 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6739 /* 16244 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6740 /* 16247 */ GIR_RootConstrainSelectedInstOperands,
6741 /* 16248 */ // GIR_Coverage, 25254,
6742 /* 16248 */ GIR_EraseRootFromParent_Done,
6743 /* 16249 */ // Label 576: @16249
6744 /* 16249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 577*/ GIMT_Encode4(16318), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25268 //
6745 /* 16256 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6746 /* 16260 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6747 /* 16264 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6748 /* 16268 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6749 /* 16272 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6750 /* 16277 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6751 /* 16281 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6752 /* 16285 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6753 /* 16289 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6754 /* 16293 */ // MIs[2] src
6755 /* 16293 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6756 /* 16298 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6757 /* 16302 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6758 /* 16304 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6759 /* 16304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
6760 /* 16307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6761 /* 16309 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6762 /* 16313 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6763 /* 16316 */ GIR_RootConstrainSelectedInstOperands,
6764 /* 16317 */ // GIR_Coverage, 25268,
6765 /* 16317 */ GIR_EraseRootFromParent_Done,
6766 /* 16318 */ // Label 577: @16318
6767 /* 16318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 578*/ GIMT_Encode4(16387), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17398 //
6768 /* 16325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6769 /* 16329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6770 /* 16333 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6771 /* 16337 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6772 /* 16341 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6773 /* 16346 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6774 /* 16350 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6775 /* 16354 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6776 /* 16358 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6777 /* 16362 */ // MIs[2] src
6778 /* 16362 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6779 /* 16367 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
6780 /* 16371 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6781 /* 16373 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6782 /* 16373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
6783 /* 16376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6784 /* 16378 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6785 /* 16382 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6786 /* 16385 */ GIR_RootConstrainSelectedInstOperands,
6787 /* 16386 */ // GIR_Coverage, 17398,
6788 /* 16386 */ GIR_EraseRootFromParent_Done,
6789 /* 16387 */ // Label 578: @16387
6790 /* 16387 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 579*/ GIMT_Encode4(16456), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17412 //
6791 /* 16394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6792 /* 16398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6793 /* 16402 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6794 /* 16406 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6795 /* 16410 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6796 /* 16415 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6797 /* 16419 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6798 /* 16423 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6799 /* 16427 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6800 /* 16431 */ // MIs[2] src
6801 /* 16431 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6802 /* 16436 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6803 /* 16440 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6804 /* 16442 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6805 /* 16442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
6806 /* 16445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6807 /* 16447 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6808 /* 16451 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6809 /* 16454 */ GIR_RootConstrainSelectedInstOperands,
6810 /* 16455 */ // GIR_Coverage, 17412,
6811 /* 16455 */ GIR_EraseRootFromParent_Done,
6812 /* 16456 */ // Label 579: @16456
6813 /* 16456 */ GIM_Reject,
6814 /* 16457 */ // Label 569: @16457
6815 /* 16457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 580*/ GIMT_Encode4(16514), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25248 //
6816 /* 16464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6817 /* 16468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6818 /* 16472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6819 /* 16476 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6820 /* 16480 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6821 /* 16484 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6822 /* 16489 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6823 /* 16493 */ // MIs[0] src
6824 /* 16493 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
6825 /* 16498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6826 /* 16500 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6827 /* 16500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
6828 /* 16503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6829 /* 16505 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6830 /* 16509 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6831 /* 16512 */ GIR_RootConstrainSelectedInstOperands,
6832 /* 16513 */ // GIR_Coverage, 25248,
6833 /* 16513 */ GIR_EraseRootFromParent_Done,
6834 /* 16514 */ // Label 580: @16514
6835 /* 16514 */ GIM_Try, /*On fail goto*//*Label 581*/ GIMT_Encode4(17121),
6836 /* 16519 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6837 /* 16522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6838 /* 16526 */ GIM_Try, /*On fail goto*//*Label 582*/ GIMT_Encode4(16628), // Rule ID 26312 //
6839 /* 16531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6840 /* 16535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6841 /* 16539 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6842 /* 16543 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6843 /* 16547 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6844 /* 16551 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6845 /* 16556 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6846 /* 16560 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6847 /* 16562 */ // (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] }))
6848 /* 16562 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
6849 /* 16565 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6850 /* 16569 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6851 /* 16574 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6852 /* 16576 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
6853 /* 16579 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6854 /* 16583 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6855 /* 16588 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6856 /* 16591 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6857 /* 16595 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6858 /* 16598 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
6859 /* 16603 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
6860 /* 16608 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6861 /* 16613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
6862 /* 16616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6863 /* 16618 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6864 /* 16620 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6865 /* 16623 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6866 /* 16626 */ GIR_RootConstrainSelectedInstOperands,
6867 /* 16627 */ // GIR_Coverage, 26312,
6868 /* 16627 */ GIR_EraseRootFromParent_Done,
6869 /* 16628 */ // Label 582: @16628
6870 /* 16628 */ GIM_Try, /*On fail goto*//*Label 583*/ GIMT_Encode4(16850),
6871 /* 16633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6872 /* 16637 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 584*/ GIMT_Encode4(16679), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17392 //
6873 /* 16644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6874 /* 16648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6875 /* 16652 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6876 /* 16656 */ // MIs[1] src
6877 /* 16656 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
6878 /* 16661 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6879 /* 16665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6880 /* 16667 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6881 /* 16667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
6882 /* 16670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6883 /* 16672 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
6884 /* 16674 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6885 /* 16677 */ GIR_RootConstrainSelectedInstOperands,
6886 /* 16678 */ // GIR_Coverage, 17392,
6887 /* 16678 */ GIR_EraseRootFromParent_Done,
6888 /* 16679 */ // Label 584: @16679
6889 /* 16679 */ GIM_Try, /*On fail goto*//*Label 585*/ GIMT_Encode4(16777), // Rule ID 23033 //
6890 /* 16684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6891 /* 16688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6892 /* 16692 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6893 /* 16696 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6894 /* 16700 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6895 /* 16704 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6896 /* 16709 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6897 /* 16711 */ // (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] }))
6898 /* 16711 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
6899 /* 16714 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6900 /* 16718 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6901 /* 16723 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6902 /* 16725 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
6903 /* 16728 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6904 /* 16732 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6905 /* 16737 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6906 /* 16740 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6907 /* 16744 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6908 /* 16747 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
6909 /* 16752 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
6910 /* 16757 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6911 /* 16762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
6912 /* 16765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6913 /* 16767 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6914 /* 16769 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6915 /* 16772 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6916 /* 16775 */ GIR_RootConstrainSelectedInstOperands,
6917 /* 16776 */ // GIR_Coverage, 23033,
6918 /* 16776 */ GIR_EraseRootFromParent_Done,
6919 /* 16777 */ // Label 585: @16777
6920 /* 16777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 586*/ GIMT_Encode4(16813), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23112 //
6921 /* 16784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6922 /* 16788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6923 /* 16792 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
6924 /* 16796 */ // MIs[1] Operand 1
6925 /* 16796 */ // No operand predicates
6926 /* 16796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6927 /* 16798 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
6928 /* 16798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32),
6929 /* 16801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6930 /* 16803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6931 /* 16805 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6932 /* 16808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6933 /* 16811 */ GIR_RootConstrainSelectedInstOperands,
6934 /* 16812 */ // GIR_Coverage, 23112,
6935 /* 16812 */ GIR_EraseRootFromParent_Done,
6936 /* 16813 */ // Label 586: @16813
6937 /* 16813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 587*/ GIMT_Encode4(16849), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23202 //
6938 /* 16820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6939 /* 16824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6940 /* 16828 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
6941 /* 16832 */ // MIs[1] Operand 1
6942 /* 16832 */ // No operand predicates
6943 /* 16832 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6944 /* 16834 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
6945 /* 16834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32_ND),
6946 /* 16837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6947 /* 16839 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6948 /* 16841 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6949 /* 16844 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6950 /* 16847 */ GIR_RootConstrainSelectedInstOperands,
6951 /* 16848 */ // GIR_Coverage, 23202,
6952 /* 16848 */ GIR_EraseRootFromParent_Done,
6953 /* 16849 */ // Label 587: @16849
6954 /* 16849 */ GIM_Reject,
6955 /* 16850 */ // Label 583: @16850
6956 /* 16850 */ GIM_Try, /*On fail goto*//*Label 588*/ GIMT_Encode4(16960),
6957 /* 16855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6958 /* 16859 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 589*/ GIMT_Encode4(16909), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 17590 //
6959 /* 16866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6960 /* 16870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6961 /* 16874 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6962 /* 16878 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6963 /* 16882 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6964 /* 16887 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6965 /* 16891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6966 /* 16893 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
6967 /* 16893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
6968 /* 16896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6969 /* 16898 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6970 /* 16902 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6971 /* 16904 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6972 /* 16907 */ GIR_RootConstrainSelectedInstOperands,
6973 /* 16908 */ // GIR_Coverage, 17590,
6974 /* 16908 */ GIR_EraseRootFromParent_Done,
6975 /* 16909 */ // Label 589: @16909
6976 /* 16909 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 590*/ GIMT_Encode4(16959), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 17594 //
6977 /* 16916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6978 /* 16920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6979 /* 16924 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6980 /* 16928 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6981 /* 16932 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6982 /* 16937 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6983 /* 16941 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6984 /* 16943 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
6985 /* 16943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
6986 /* 16946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6987 /* 16948 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6988 /* 16952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6989 /* 16954 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6990 /* 16957 */ GIR_RootConstrainSelectedInstOperands,
6991 /* 16958 */ // GIR_Coverage, 17594,
6992 /* 16958 */ GIR_EraseRootFromParent_Done,
6993 /* 16959 */ // Label 590: @16959
6994 /* 16959 */ GIM_Reject,
6995 /* 16960 */ // Label 588: @16960
6996 /* 16960 */ GIM_Try, /*On fail goto*//*Label 591*/ GIMT_Encode4(17120),
6997 /* 16965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6998 /* 16969 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 592*/ GIMT_Encode4(17019), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 25362 //
6999 /* 16976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7000 /* 16980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7001 /* 16984 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7002 /* 16988 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7003 /* 16992 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7004 /* 16997 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7005 /* 17001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7006 /* 17003 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7007 /* 17003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
7008 /* 17006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7009 /* 17008 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7010 /* 17012 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7011 /* 17014 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7012 /* 17017 */ GIR_RootConstrainSelectedInstOperands,
7013 /* 17018 */ // GIR_Coverage, 25362,
7014 /* 17018 */ GIR_EraseRootFromParent_Done,
7015 /* 17019 */ // Label 592: @17019
7016 /* 17019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 593*/ GIMT_Encode4(17069), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 25366 //
7017 /* 17026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7018 /* 17030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7019 /* 17034 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7020 /* 17038 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7021 /* 17042 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7022 /* 17047 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7023 /* 17051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7024 /* 17053 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7025 /* 17053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7026 /* 17056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7027 /* 17058 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7028 /* 17062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7029 /* 17064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7030 /* 17067 */ GIR_RootConstrainSelectedInstOperands,
7031 /* 17068 */ // GIR_Coverage, 25366,
7032 /* 17068 */ GIR_EraseRootFromParent_Done,
7033 /* 17069 */ // Label 593: @17069
7034 /* 17069 */ GIM_Try, /*On fail goto*//*Label 594*/ GIMT_Encode4(17119),
7035 /* 17074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7036 /* 17078 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 595*/ GIMT_Encode4(17098), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23104 //
7037 /* 17085 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7038 /* 17085 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr),
7039 /* 17090 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7040 /* 17096 */ GIR_RootConstrainSelectedInstOperands,
7041 /* 17097 */ // GIR_Coverage, 23104,
7042 /* 17097 */ GIR_Done,
7043 /* 17098 */ // Label 595: @17098
7044 /* 17098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 596*/ GIMT_Encode4(17118), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23194 //
7045 /* 17105 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7046 /* 17105 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr_ND),
7047 /* 17110 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7048 /* 17116 */ GIR_RootConstrainSelectedInstOperands,
7049 /* 17117 */ // GIR_Coverage, 23194,
7050 /* 17117 */ GIR_Done,
7051 /* 17118 */ // Label 596: @17118
7052 /* 17118 */ GIM_Reject,
7053 /* 17119 */ // Label 594: @17119
7054 /* 17119 */ GIM_Reject,
7055 /* 17120 */ // Label 591: @17120
7056 /* 17120 */ GIM_Reject,
7057 /* 17121 */ // Label 581: @17121
7058 /* 17121 */ GIM_Reject,
7059 /* 17122 */ // Label 568: @17122
7060 /* 17122 */ GIM_Reject,
7061 /* 17123 */ // Label 492: @17123
7062 /* 17123 */ GIM_Try, /*On fail goto*//*Label 597*/ GIMT_Encode4(17470),
7063 /* 17128 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
7064 /* 17131 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
7065 /* 17134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7066 /* 17138 */ GIM_Try, /*On fail goto*//*Label 598*/ GIMT_Encode4(17258), // Rule ID 19593 //
7067 /* 17143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7068 /* 17147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7069 /* 17151 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7070 /* 17155 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7071 /* 17159 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7072 /* 17164 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7073 /* 17168 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7074 /* 17174 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7075 /* 17176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7076 /* 17180 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7077 /* 17182 */ // (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] })
7078 /* 17182 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7079 /* 17185 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7080 /* 17189 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7081 /* 17194 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7082 /* 17198 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7083 /* 17203 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7084 /* 17206 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7085 /* 17210 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7086 /* 17215 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7087 /* 17219 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7088 /* 17224 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7089 /* 17227 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7090 /* 17231 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7091 /* 17236 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7092 /* 17239 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7093 /* 17242 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7094 /* 17244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7095 /* 17247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7096 /* 17249 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7097 /* 17252 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7098 /* 17257 */ // GIR_Coverage, 19593,
7099 /* 17257 */ GIR_EraseRootFromParent_Done,
7100 /* 17258 */ // Label 598: @17258
7101 /* 17258 */ GIM_Try, /*On fail goto*//*Label 599*/ GIMT_Encode4(17469),
7102 /* 17263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7103 /* 17267 */ GIM_Try, /*On fail goto*//*Label 600*/ GIMT_Encode4(17383), // Rule ID 25628 //
7104 /* 17272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7105 /* 17276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7106 /* 17280 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7107 /* 17284 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7108 /* 17288 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7109 /* 17293 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7110 /* 17297 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7111 /* 17303 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7112 /* 17305 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7113 /* 17307 */ // (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] })
7114 /* 17307 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7115 /* 17310 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7116 /* 17314 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7117 /* 17319 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7118 /* 17323 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7119 /* 17328 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7120 /* 17331 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7121 /* 17335 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7122 /* 17340 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7123 /* 17344 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7124 /* 17349 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7125 /* 17352 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7126 /* 17356 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7127 /* 17361 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7128 /* 17364 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7129 /* 17367 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7130 /* 17369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7131 /* 17372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7132 /* 17374 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7133 /* 17377 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7134 /* 17382 */ // GIR_Coverage, 25628,
7135 /* 17382 */ GIR_EraseRootFromParent_Done,
7136 /* 17383 */ // Label 600: @17383
7137 /* 17383 */ GIM_Try, /*On fail goto*//*Label 601*/ GIMT_Encode4(17468), // Rule ID 19589 //
7138 /* 17388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7139 /* 17392 */ // (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] })
7140 /* 17392 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7141 /* 17395 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7142 /* 17399 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7143 /* 17404 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7144 /* 17408 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7145 /* 17413 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7146 /* 17416 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7147 /* 17420 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7148 /* 17425 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7149 /* 17429 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7150 /* 17434 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7151 /* 17437 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7152 /* 17441 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7153 /* 17446 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7154 /* 17449 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7155 /* 17452 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7156 /* 17454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7157 /* 17457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7158 /* 17459 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7159 /* 17462 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7160 /* 17467 */ // GIR_Coverage, 19589,
7161 /* 17467 */ GIR_EraseRootFromParent_Done,
7162 /* 17468 */ // Label 601: @17468
7163 /* 17468 */ GIM_Reject,
7164 /* 17469 */ // Label 599: @17469
7165 /* 17469 */ GIM_Reject,
7166 /* 17470 */ // Label 597: @17470
7167 /* 17470 */ GIM_Reject,
7168 /* 17471 */ // Label 493: @17471
7169 /* 17471 */ GIM_Try, /*On fail goto*//*Label 602*/ GIMT_Encode4(17818),
7170 /* 17476 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
7171 /* 17479 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
7172 /* 17482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7173 /* 17486 */ GIM_Try, /*On fail goto*//*Label 603*/ GIMT_Encode4(17606), // Rule ID 19594 //
7174 /* 17491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7175 /* 17495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7176 /* 17499 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
7177 /* 17503 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
7178 /* 17507 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7179 /* 17512 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7180 /* 17516 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7181 /* 17522 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7182 /* 17524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7183 /* 17528 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7184 /* 17530 */ // (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] })
7185 /* 17530 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7186 /* 17533 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7187 /* 17537 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7188 /* 17542 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7189 /* 17546 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7190 /* 17551 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7191 /* 17554 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7192 /* 17558 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7193 /* 17563 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7194 /* 17567 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7195 /* 17572 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7196 /* 17575 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7197 /* 17579 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7198 /* 17584 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7199 /* 17587 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7200 /* 17590 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7201 /* 17592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7202 /* 17595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7203 /* 17597 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7204 /* 17600 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7205 /* 17605 */ // GIR_Coverage, 19594,
7206 /* 17605 */ GIR_EraseRootFromParent_Done,
7207 /* 17606 */ // Label 603: @17606
7208 /* 17606 */ GIM_Try, /*On fail goto*//*Label 604*/ GIMT_Encode4(17817),
7209 /* 17611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7210 /* 17615 */ GIM_Try, /*On fail goto*//*Label 605*/ GIMT_Encode4(17731), // Rule ID 25629 //
7211 /* 17620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7212 /* 17624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7213 /* 17628 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
7214 /* 17632 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
7215 /* 17636 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7216 /* 17641 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7217 /* 17645 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7218 /* 17651 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7219 /* 17653 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7220 /* 17655 */ // (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] })
7221 /* 17655 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7222 /* 17658 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7223 /* 17662 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7224 /* 17667 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7225 /* 17671 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7226 /* 17676 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7227 /* 17679 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7228 /* 17683 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7229 /* 17688 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7230 /* 17692 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7231 /* 17697 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7232 /* 17700 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7233 /* 17704 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7234 /* 17709 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7235 /* 17712 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7236 /* 17715 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7237 /* 17717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7238 /* 17720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7239 /* 17722 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7240 /* 17725 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7241 /* 17730 */ // GIR_Coverage, 25629,
7242 /* 17730 */ GIR_EraseRootFromParent_Done,
7243 /* 17731 */ // Label 605: @17731
7244 /* 17731 */ GIM_Try, /*On fail goto*//*Label 606*/ GIMT_Encode4(17816), // Rule ID 19590 //
7245 /* 17736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7246 /* 17740 */ // (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] })
7247 /* 17740 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7248 /* 17743 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7249 /* 17747 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7250 /* 17752 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7251 /* 17756 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7252 /* 17761 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7253 /* 17764 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7254 /* 17768 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7255 /* 17773 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7256 /* 17777 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7257 /* 17782 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7258 /* 17785 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7259 /* 17789 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7260 /* 17794 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7261 /* 17797 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7262 /* 17800 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7263 /* 17802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7264 /* 17805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7265 /* 17807 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7266 /* 17810 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7267 /* 17815 */ // GIR_Coverage, 19590,
7268 /* 17815 */ GIR_EraseRootFromParent_Done,
7269 /* 17816 */ // Label 606: @17816
7270 /* 17816 */ GIM_Reject,
7271 /* 17817 */ // Label 604: @17817
7272 /* 17817 */ GIM_Reject,
7273 /* 17818 */ // Label 602: @17818
7274 /* 17818 */ GIM_Reject,
7275 /* 17819 */ // Label 494: @17819
7276 /* 17819 */ GIM_Try, /*On fail goto*//*Label 607*/ GIMT_Encode4(18308),
7277 /* 17824 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
7278 /* 17827 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
7279 /* 17830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7280 /* 17834 */ GIM_Try, /*On fail goto*//*Label 608*/ GIMT_Encode4(18017),
7281 /* 17839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7282 /* 17843 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 609*/ GIMT_Encode4(17898), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4419 //
7283 /* 17850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7284 /* 17854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7285 /* 17858 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7286 /* 17862 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7287 /* 17866 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7288 /* 17871 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7289 /* 17875 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7290 /* 17881 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7291 /* 17883 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7292 /* 17885 */ // (and:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
7293 /* 17885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
7294 /* 17888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7295 /* 17890 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7296 /* 17894 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7297 /* 17896 */ GIR_RootConstrainSelectedInstOperands,
7298 /* 17897 */ // GIR_Coverage, 4419,
7299 /* 17897 */ GIR_EraseRootFromParent_Done,
7300 /* 17898 */ // Label 609: @17898
7301 /* 17898 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 610*/ GIMT_Encode4(18016), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19591 //
7302 /* 17905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7303 /* 17909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7304 /* 17913 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7305 /* 17917 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7306 /* 17921 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7307 /* 17926 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7308 /* 17930 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7309 /* 17936 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7310 /* 17938 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7311 /* 17940 */ // (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] })
7312 /* 17940 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7313 /* 17943 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7314 /* 17947 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7315 /* 17952 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7316 /* 17956 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7317 /* 17961 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7318 /* 17964 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7319 /* 17968 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7320 /* 17973 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7321 /* 17977 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7322 /* 17982 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7323 /* 17985 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7324 /* 17989 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7325 /* 17994 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7326 /* 17997 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7327 /* 18000 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7328 /* 18002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7329 /* 18005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7330 /* 18007 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7331 /* 18010 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
7332 /* 18015 */ // GIR_Coverage, 19591,
7333 /* 18015 */ GIR_EraseRootFromParent_Done,
7334 /* 18016 */ // Label 610: @18016
7335 /* 18016 */ GIM_Reject,
7336 /* 18017 */ // Label 608: @18017
7337 /* 18017 */ GIM_Try, /*On fail goto*//*Label 611*/ GIMT_Encode4(18307),
7338 /* 18022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7339 /* 18026 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 612*/ GIMT_Encode4(18081), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 23948 //
7340 /* 18033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7341 /* 18037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7342 /* 18041 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7343 /* 18045 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7344 /* 18049 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7345 /* 18054 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7346 /* 18058 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7347 /* 18064 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7348 /* 18066 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7349 /* 18068 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
7350 /* 18068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
7351 /* 18071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7352 /* 18073 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7353 /* 18077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7354 /* 18079 */ GIR_RootConstrainSelectedInstOperands,
7355 /* 18080 */ // GIR_Coverage, 23948,
7356 /* 18080 */ GIR_EraseRootFromParent_Done,
7357 /* 18081 */ // Label 612: @18081
7358 /* 18081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 613*/ GIMT_Encode4(18199), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 25626 //
7359 /* 18088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7360 /* 18092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7361 /* 18096 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7362 /* 18100 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7363 /* 18104 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7364 /* 18109 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7365 /* 18113 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7366 /* 18119 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7367 /* 18121 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7368 /* 18123 */ // (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] })
7369 /* 18123 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7370 /* 18126 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7371 /* 18130 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7372 /* 18135 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7373 /* 18139 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7374 /* 18144 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7375 /* 18147 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7376 /* 18151 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7377 /* 18156 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7378 /* 18160 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7379 /* 18165 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7380 /* 18168 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7381 /* 18172 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7382 /* 18177 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7383 /* 18180 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7384 /* 18183 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7385 /* 18185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7386 /* 18188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7387 /* 18190 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7388 /* 18193 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
7389 /* 18198 */ // GIR_Coverage, 25626,
7390 /* 18198 */ GIR_EraseRootFromParent_Done,
7391 /* 18199 */ // Label 613: @18199
7392 /* 18199 */ GIM_Try, /*On fail goto*//*Label 614*/ GIMT_Encode4(18306),
7393 /* 18204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7394 /* 18208 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 615*/ GIMT_Encode4(18222), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4403 //
7395 /* 18215 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KANDBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
7396 /* 18215 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDBkk),
7397 /* 18220 */ GIR_RootConstrainSelectedInstOperands,
7398 /* 18221 */ // GIR_Coverage, 4403,
7399 /* 18221 */ GIR_Done,
7400 /* 18222 */ // Label 615: @18222
7401 /* 18222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 616*/ GIMT_Encode4(18305), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19587 //
7402 /* 18229 */ // (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] })
7403 /* 18229 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7404 /* 18232 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7405 /* 18236 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7406 /* 18241 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7407 /* 18245 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7408 /* 18250 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7409 /* 18253 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7410 /* 18257 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7411 /* 18262 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7412 /* 18266 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7413 /* 18271 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7414 /* 18274 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7415 /* 18278 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7416 /* 18283 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7417 /* 18286 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7418 /* 18289 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7419 /* 18291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7420 /* 18294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7421 /* 18296 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7422 /* 18299 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
7423 /* 18304 */ // GIR_Coverage, 19587,
7424 /* 18304 */ GIR_EraseRootFromParent_Done,
7425 /* 18305 */ // Label 616: @18305
7426 /* 18305 */ GIM_Reject,
7427 /* 18306 */ // Label 614: @18306
7428 /* 18306 */ GIM_Reject,
7429 /* 18307 */ // Label 611: @18307
7430 /* 18307 */ GIM_Reject,
7431 /* 18308 */ // Label 607: @18308
7432 /* 18308 */ GIM_Reject,
7433 /* 18309 */ // Label 495: @18309
7434 /* 18309 */ GIM_Try, /*On fail goto*//*Label 617*/ GIMT_Encode4(18467),
7435 /* 18314 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
7436 /* 18317 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
7437 /* 18320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7438 /* 18324 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 618*/ GIMT_Encode4(18383), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4420 //
7439 /* 18331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7440 /* 18335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7441 /* 18339 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
7442 /* 18343 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
7443 /* 18347 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7444 /* 18352 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7445 /* 18356 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7446 /* 18362 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7447 /* 18364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7448 /* 18368 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7449 /* 18370 */ // (and:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
7450 /* 18370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7451 /* 18373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7452 /* 18375 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7453 /* 18379 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7454 /* 18381 */ GIR_RootConstrainSelectedInstOperands,
7455 /* 18382 */ // GIR_Coverage, 4420,
7456 /* 18382 */ GIR_EraseRootFromParent_Done,
7457 /* 18383 */ // Label 618: @18383
7458 /* 18383 */ GIM_Try, /*On fail goto*//*Label 619*/ GIMT_Encode4(18466),
7459 /* 18388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7460 /* 18392 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 620*/ GIMT_Encode4(18447), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23949 //
7461 /* 18399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7462 /* 18403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7463 /* 18407 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
7464 /* 18411 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
7465 /* 18415 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7466 /* 18420 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7467 /* 18424 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7468 /* 18430 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7469 /* 18432 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7470 /* 18434 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
7471 /* 18434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7472 /* 18437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7473 /* 18439 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7474 /* 18443 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7475 /* 18445 */ GIR_RootConstrainSelectedInstOperands,
7476 /* 18446 */ // GIR_Coverage, 23949,
7477 /* 18446 */ GIR_EraseRootFromParent_Done,
7478 /* 18447 */ // Label 620: @18447
7479 /* 18447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 621*/ GIMT_Encode4(18465), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4404 //
7480 /* 18454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7481 /* 18458 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KANDWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
7482 /* 18458 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7483 /* 18463 */ GIR_RootConstrainSelectedInstOperands,
7484 /* 18464 */ // GIR_Coverage, 4404,
7485 /* 18464 */ GIR_Done,
7486 /* 18465 */ // Label 621: @18465
7487 /* 18465 */ GIM_Reject,
7488 /* 18466 */ // Label 619: @18466
7489 /* 18466 */ GIM_Reject,
7490 /* 18467 */ // Label 617: @18467
7491 /* 18467 */ GIM_Reject,
7492 /* 18468 */ // Label 496: @18468
7493 /* 18468 */ GIM_Try, /*On fail goto*//*Label 622*/ GIMT_Encode4(18626),
7494 /* 18473 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
7495 /* 18476 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
7496 /* 18479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7497 /* 18483 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 623*/ GIMT_Encode4(18542), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4421 //
7498 /* 18490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7499 /* 18494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7500 /* 18498 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
7501 /* 18502 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
7502 /* 18506 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7503 /* 18511 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7504 /* 18515 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7505 /* 18521 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7506 /* 18523 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7507 /* 18527 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7508 /* 18529 */ // (and:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
7509 /* 18529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
7510 /* 18532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7511 /* 18534 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7512 /* 18538 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7513 /* 18540 */ GIR_RootConstrainSelectedInstOperands,
7514 /* 18541 */ // GIR_Coverage, 4421,
7515 /* 18541 */ GIR_EraseRootFromParent_Done,
7516 /* 18542 */ // Label 623: @18542
7517 /* 18542 */ GIM_Try, /*On fail goto*//*Label 624*/ GIMT_Encode4(18625),
7518 /* 18547 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7519 /* 18551 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 625*/ GIMT_Encode4(18606), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23950 //
7520 /* 18558 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7521 /* 18562 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7522 /* 18566 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
7523 /* 18570 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
7524 /* 18574 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7525 /* 18579 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7526 /* 18583 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7527 /* 18589 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7528 /* 18591 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7529 /* 18593 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
7530 /* 18593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
7531 /* 18596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7532 /* 18598 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7533 /* 18602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7534 /* 18604 */ GIR_RootConstrainSelectedInstOperands,
7535 /* 18605 */ // GIR_Coverage, 23950,
7536 /* 18605 */ GIR_EraseRootFromParent_Done,
7537 /* 18606 */ // Label 625: @18606
7538 /* 18606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 626*/ GIMT_Encode4(18624), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4405 //
7539 /* 18613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7540 /* 18617 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KANDDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
7541 /* 18617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDDkk),
7542 /* 18622 */ GIR_RootConstrainSelectedInstOperands,
7543 /* 18623 */ // GIR_Coverage, 4405,
7544 /* 18623 */ GIR_Done,
7545 /* 18624 */ // Label 626: @18624
7546 /* 18624 */ GIM_Reject,
7547 /* 18625 */ // Label 624: @18625
7548 /* 18625 */ GIM_Reject,
7549 /* 18626 */ // Label 622: @18626
7550 /* 18626 */ GIM_Reject,
7551 /* 18627 */ // Label 497: @18627
7552 /* 18627 */ GIM_Try, /*On fail goto*//*Label 627*/ GIMT_Encode4(18785),
7553 /* 18632 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
7554 /* 18635 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
7555 /* 18638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7556 /* 18642 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 628*/ GIMT_Encode4(18701), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4422 //
7557 /* 18649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7558 /* 18653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7559 /* 18657 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
7560 /* 18661 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
7561 /* 18665 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7562 /* 18670 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7563 /* 18674 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7564 /* 18680 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7565 /* 18682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7566 /* 18686 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7567 /* 18688 */ // (and:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
7568 /* 18688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
7569 /* 18691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7570 /* 18693 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7571 /* 18697 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7572 /* 18699 */ GIR_RootConstrainSelectedInstOperands,
7573 /* 18700 */ // GIR_Coverage, 4422,
7574 /* 18700 */ GIR_EraseRootFromParent_Done,
7575 /* 18701 */ // Label 628: @18701
7576 /* 18701 */ GIM_Try, /*On fail goto*//*Label 629*/ GIMT_Encode4(18784),
7577 /* 18706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7578 /* 18710 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 630*/ GIMT_Encode4(18765), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23951 //
7579 /* 18717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7580 /* 18721 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7581 /* 18725 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
7582 /* 18729 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
7583 /* 18733 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7584 /* 18738 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7585 /* 18742 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7586 /* 18748 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7587 /* 18750 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7588 /* 18752 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
7589 /* 18752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
7590 /* 18755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7591 /* 18757 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7592 /* 18761 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7593 /* 18763 */ GIR_RootConstrainSelectedInstOperands,
7594 /* 18764 */ // GIR_Coverage, 23951,
7595 /* 18764 */ GIR_EraseRootFromParent_Done,
7596 /* 18765 */ // Label 630: @18765
7597 /* 18765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 631*/ GIMT_Encode4(18783), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4406 //
7598 /* 18772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7599 /* 18776 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KANDQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
7600 /* 18776 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDQkk),
7601 /* 18781 */ GIR_RootConstrainSelectedInstOperands,
7602 /* 18782 */ // GIR_Coverage, 4406,
7603 /* 18782 */ GIR_Done,
7604 /* 18783 */ // Label 631: @18783
7605 /* 18783 */ GIM_Reject,
7606 /* 18784 */ // Label 629: @18784
7607 /* 18784 */ GIM_Reject,
7608 /* 18785 */ // Label 627: @18785
7609 /* 18785 */ GIM_Reject,
7610 /* 18786 */ // Label 498: @18786
7611 /* 18786 */ GIM_Try, /*On fail goto*//*Label 632*/ GIMT_Encode4(19114),
7612 /* 18791 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
7613 /* 18794 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
7614 /* 18797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 633*/ GIMT_Encode4(18858), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25511 //
7615 /* 18804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7616 /* 18808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7617 /* 18812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7618 /* 18816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7619 /* 18819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7620 /* 18823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7621 /* 18827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7622 /* 18831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7623 /* 18833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7624 /* 18840 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7625 /* 18840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7626 /* 18843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7627 /* 18845 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7628 /* 18847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7629 /* 18851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7630 /* 18856 */ GIR_RootConstrainSelectedInstOperands,
7631 /* 18857 */ // GIR_Coverage, 25511,
7632 /* 18857 */ GIR_EraseRootFromParent_Done,
7633 /* 18858 */ // Label 633: @18858
7634 /* 18858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 634*/ GIMT_Encode4(18919), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25692 //
7635 /* 18865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7636 /* 18869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7637 /* 18873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7638 /* 18877 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7639 /* 18880 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7640 /* 18884 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7641 /* 18888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7642 /* 18892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7643 /* 18894 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7644 /* 18901 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7645 /* 18901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7646 /* 18904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7647 /* 18906 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7648 /* 18908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7649 /* 18912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7650 /* 18917 */ GIR_RootConstrainSelectedInstOperands,
7651 /* 18918 */ // GIR_Coverage, 25692,
7652 /* 18918 */ GIR_EraseRootFromParent_Done,
7653 /* 18919 */ // Label 634: @18919
7654 /* 18919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 635*/ GIMT_Encode4(18980), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18251 //
7655 /* 18926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7656 /* 18930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7657 /* 18934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7658 /* 18938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7659 /* 18942 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7660 /* 18945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7661 /* 18949 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7662 /* 18953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7663 /* 18955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7664 /* 18962 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7665 /* 18962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7666 /* 18965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7667 /* 18967 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7668 /* 18969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7669 /* 18973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7670 /* 18978 */ GIR_RootConstrainSelectedInstOperands,
7671 /* 18979 */ // GIR_Coverage, 18251,
7672 /* 18979 */ GIR_EraseRootFromParent_Done,
7673 /* 18980 */ // Label 635: @18980
7674 /* 18980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 636*/ GIMT_Encode4(19041), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20154 //
7675 /* 18987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7676 /* 18991 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7677 /* 18995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7678 /* 18999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7679 /* 19003 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7680 /* 19006 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7681 /* 19010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7682 /* 19014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7683 /* 19016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7684 /* 19023 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7685 /* 19023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7686 /* 19026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7687 /* 19028 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7688 /* 19030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7689 /* 19034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7690 /* 19039 */ GIR_RootConstrainSelectedInstOperands,
7691 /* 19040 */ // GIR_Coverage, 20154,
7692 /* 19040 */ GIR_EraseRootFromParent_Done,
7693 /* 19041 */ // Label 636: @19041
7694 /* 19041 */ GIM_Try, /*On fail goto*//*Label 637*/ GIMT_Encode4(19087),
7695 /* 19046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7696 /* 19050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7697 /* 19054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7698 /* 19058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 638*/ GIMT_Encode4(19072), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18239 //
7699 /* 19065 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
7700 /* 19065 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
7701 /* 19070 */ GIR_RootConstrainSelectedInstOperands,
7702 /* 19071 */ // GIR_Coverage, 18239,
7703 /* 19071 */ GIR_Done,
7704 /* 19072 */ // Label 638: @19072
7705 /* 19072 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 639*/ GIMT_Encode4(19086), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18263 //
7706 /* 19079 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
7707 /* 19079 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
7708 /* 19084 */ GIR_RootConstrainSelectedInstOperands,
7709 /* 19085 */ // GIR_Coverage, 18263,
7710 /* 19085 */ GIR_Done,
7711 /* 19086 */ // Label 639: @19086
7712 /* 19086 */ GIM_Reject,
7713 /* 19087 */ // Label 637: @19087
7714 /* 19087 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 640*/ GIMT_Encode4(19113), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20146 //
7715 /* 19094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7716 /* 19098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7717 /* 19102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7718 /* 19106 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPANDQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
7719 /* 19106 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
7720 /* 19111 */ GIR_RootConstrainSelectedInstOperands,
7721 /* 19112 */ // GIR_Coverage, 20146,
7722 /* 19112 */ GIR_Done,
7723 /* 19113 */ // Label 640: @19113
7724 /* 19113 */ GIM_Reject,
7725 /* 19114 */ // Label 632: @19114
7726 /* 19114 */ GIM_Reject,
7727 /* 19115 */ // Label 499: @19115
7728 /* 19115 */ GIM_Try, /*On fail goto*//*Label 641*/ GIMT_Encode4(19561),
7729 /* 19120 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
7730 /* 19123 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
7731 /* 19126 */ GIM_Try, /*On fail goto*//*Label 642*/ GIMT_Encode4(19246),
7732 /* 19131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7733 /* 19135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7734 /* 19139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 643*/ GIMT_Encode4(19192), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25490 //
7735 /* 19146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7736 /* 19150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7737 /* 19154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7738 /* 19157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7739 /* 19161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7740 /* 19165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7741 /* 19167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7742 /* 19174 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7743 /* 19174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
7744 /* 19177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7745 /* 19179 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7746 /* 19181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7747 /* 19185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7748 /* 19190 */ GIR_RootConstrainSelectedInstOperands,
7749 /* 19191 */ // GIR_Coverage, 25490,
7750 /* 19191 */ GIR_EraseRootFromParent_Done,
7751 /* 19192 */ // Label 643: @19192
7752 /* 19192 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 644*/ GIMT_Encode4(19245), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25499 //
7753 /* 19199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7754 /* 19203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7755 /* 19207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7756 /* 19210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7757 /* 19214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7758 /* 19218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7759 /* 19220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7760 /* 19227 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7761 /* 19227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
7762 /* 19230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7763 /* 19232 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7764 /* 19234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7765 /* 19238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7766 /* 19243 */ GIR_RootConstrainSelectedInstOperands,
7767 /* 19244 */ // GIR_Coverage, 25499,
7768 /* 19244 */ GIR_EraseRootFromParent_Done,
7769 /* 19245 */ // Label 644: @19245
7770 /* 19245 */ GIM_Reject,
7771 /* 19246 */ // Label 642: @19246
7772 /* 19246 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 645*/ GIMT_Encode4(19307), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25698 //
7773 /* 19253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7774 /* 19257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7775 /* 19261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7776 /* 19265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7777 /* 19268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7778 /* 19272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7779 /* 19276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7780 /* 19280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7781 /* 19282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7782 /* 19289 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7783 /* 19289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
7784 /* 19292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7785 /* 19294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7786 /* 19296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7787 /* 19300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7788 /* 19305 */ GIR_RootConstrainSelectedInstOperands,
7789 /* 19306 */ // GIR_Coverage, 25698,
7790 /* 19306 */ GIR_EraseRootFromParent_Done,
7791 /* 19307 */ // Label 645: @19307
7792 /* 19307 */ GIM_Try, /*On fail goto*//*Label 646*/ GIMT_Encode4(19427),
7793 /* 19312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7794 /* 19316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7795 /* 19320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 647*/ GIMT_Encode4(19373), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18195 //
7796 /* 19327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7797 /* 19331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7798 /* 19335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7799 /* 19338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7800 /* 19342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7801 /* 19346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7802 /* 19348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7803 /* 19355 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7804 /* 19355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
7805 /* 19358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7806 /* 19360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7807 /* 19362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7808 /* 19366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7809 /* 19371 */ GIR_RootConstrainSelectedInstOperands,
7810 /* 19372 */ // GIR_Coverage, 18195,
7811 /* 19372 */ GIR_EraseRootFromParent_Done,
7812 /* 19373 */ // Label 647: @19373
7813 /* 19373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 648*/ GIMT_Encode4(19426), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18223 //
7814 /* 19380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7815 /* 19384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7816 /* 19388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7817 /* 19391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7818 /* 19395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7819 /* 19399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7820 /* 19401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7821 /* 19408 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7822 /* 19408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
7823 /* 19411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7824 /* 19413 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7825 /* 19415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7826 /* 19419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7827 /* 19424 */ GIR_RootConstrainSelectedInstOperands,
7828 /* 19425 */ // GIR_Coverage, 18223,
7829 /* 19425 */ GIR_EraseRootFromParent_Done,
7830 /* 19426 */ // Label 648: @19426
7831 /* 19426 */ GIM_Reject,
7832 /* 19427 */ // Label 646: @19427
7833 /* 19427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 649*/ GIMT_Encode4(19488), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20170 //
7834 /* 19434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7835 /* 19438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7836 /* 19442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7837 /* 19446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7838 /* 19450 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7839 /* 19453 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7840 /* 19457 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7841 /* 19461 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7842 /* 19463 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7843 /* 19470 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7844 /* 19470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
7845 /* 19473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7846 /* 19475 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7847 /* 19477 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7848 /* 19481 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7849 /* 19486 */ GIR_RootConstrainSelectedInstOperands,
7850 /* 19487 */ // GIR_Coverage, 20170,
7851 /* 19487 */ GIR_EraseRootFromParent_Done,
7852 /* 19488 */ // Label 649: @19488
7853 /* 19488 */ GIM_Try, /*On fail goto*//*Label 650*/ GIMT_Encode4(19534),
7854 /* 19493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7855 /* 19497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7856 /* 19501 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7857 /* 19505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 651*/ GIMT_Encode4(19519), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18183 //
7858 /* 19512 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPANDYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
7859 /* 19512 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
7860 /* 19517 */ GIR_RootConstrainSelectedInstOperands,
7861 /* 19518 */ // GIR_Coverage, 18183,
7862 /* 19518 */ GIR_Done,
7863 /* 19519 */ // Label 651: @19519
7864 /* 19519 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 652*/ GIMT_Encode4(19533), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18207 //
7865 /* 19526 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VANDPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
7866 /* 19526 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
7867 /* 19531 */ GIR_RootConstrainSelectedInstOperands,
7868 /* 19532 */ // GIR_Coverage, 18207,
7869 /* 19532 */ GIR_Done,
7870 /* 19533 */ // Label 652: @19533
7871 /* 19533 */ GIM_Reject,
7872 /* 19534 */ // Label 650: @19534
7873 /* 19534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 653*/ GIMT_Encode4(19560), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20162 //
7874 /* 19541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7875 /* 19545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7876 /* 19549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7877 /* 19553 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPANDQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
7878 /* 19553 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
7879 /* 19558 */ GIR_RootConstrainSelectedInstOperands,
7880 /* 19559 */ // GIR_Coverage, 20162,
7881 /* 19559 */ GIR_Done,
7882 /* 19560 */ // Label 653: @19560
7883 /* 19560 */ GIM_Reject,
7884 /* 19561 */ // Label 641: @19561
7885 /* 19561 */ GIM_Reject,
7886 /* 19562 */ // Label 500: @19562
7887 /* 19562 */ GIM_Try, /*On fail goto*//*Label 654*/ GIMT_Encode4(19716),
7888 /* 19567 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
7889 /* 19570 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
7890 /* 19573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
7891 /* 19577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 655*/ GIMT_Encode4(19634), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25704 //
7892 /* 19584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7893 /* 19588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7894 /* 19592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7895 /* 19595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7896 /* 19599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7897 /* 19603 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
7898 /* 19607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7899 /* 19609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7900 /* 19616 */ // (and:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7901 /* 19616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
7902 /* 19619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7903 /* 19621 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7904 /* 19623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7905 /* 19627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7906 /* 19632 */ GIR_RootConstrainSelectedInstOperands,
7907 /* 19633 */ // GIR_Coverage, 25704,
7908 /* 19633 */ GIR_EraseRootFromParent_Done,
7909 /* 19634 */ // Label 655: @19634
7910 /* 19634 */ GIM_Try, /*On fail goto*//*Label 656*/ GIMT_Encode4(19715),
7911 /* 19639 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
7912 /* 19643 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 657*/ GIMT_Encode4(19696), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20186 //
7913 /* 19650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7914 /* 19654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7915 /* 19658 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7916 /* 19661 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7917 /* 19665 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7918 /* 19669 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7919 /* 19671 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7920 /* 19678 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7921 /* 19678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
7922 /* 19681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7923 /* 19683 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7924 /* 19685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7925 /* 19689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7926 /* 19694 */ GIR_RootConstrainSelectedInstOperands,
7927 /* 19695 */ // GIR_Coverage, 20186,
7928 /* 19695 */ GIR_EraseRootFromParent_Done,
7929 /* 19696 */ // Label 657: @19696
7930 /* 19696 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 658*/ GIMT_Encode4(19714), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20178 //
7931 /* 19703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
7932 /* 19707 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPANDQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
7933 /* 19707 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
7934 /* 19712 */ GIR_RootConstrainSelectedInstOperands,
7935 /* 19713 */ // GIR_Coverage, 20178,
7936 /* 19713 */ GIR_Done,
7937 /* 19714 */ // Label 658: @19714
7938 /* 19714 */ GIM_Reject,
7939 /* 19715 */ // Label 656: @19715
7940 /* 19715 */ GIM_Reject,
7941 /* 19716 */ // Label 654: @19716
7942 /* 19716 */ GIM_Reject,
7943 /* 19717 */ // Label 501: @19717
7944 /* 19717 */ GIM_Try, /*On fail goto*//*Label 659*/ GIMT_Encode4(20045),
7945 /* 19722 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
7946 /* 19725 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
7947 /* 19728 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 660*/ GIMT_Encode4(19789), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25512 //
7948 /* 19735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7949 /* 19739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7950 /* 19743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7951 /* 19747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7952 /* 19750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7953 /* 19754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7954 /* 19758 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7955 /* 19762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7956 /* 19764 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7957 /* 19771 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
7958 /* 19771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7959 /* 19774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7960 /* 19776 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7961 /* 19778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7962 /* 19782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7963 /* 19787 */ GIR_RootConstrainSelectedInstOperands,
7964 /* 19788 */ // GIR_Coverage, 25512,
7965 /* 19788 */ GIR_EraseRootFromParent_Done,
7966 /* 19789 */ // Label 660: @19789
7967 /* 19789 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 661*/ GIMT_Encode4(19850), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25693 //
7968 /* 19796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7969 /* 19800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7970 /* 19804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7971 /* 19808 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7972 /* 19811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7973 /* 19815 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7974 /* 19819 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7975 /* 19823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7976 /* 19825 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7977 /* 19832 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
7978 /* 19832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7979 /* 19835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7980 /* 19837 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7981 /* 19839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7982 /* 19843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7983 /* 19848 */ GIR_RootConstrainSelectedInstOperands,
7984 /* 19849 */ // GIR_Coverage, 25693,
7985 /* 19849 */ GIR_EraseRootFromParent_Done,
7986 /* 19850 */ // Label 661: @19850
7987 /* 19850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 662*/ GIMT_Encode4(19911), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18252 //
7988 /* 19857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7989 /* 19861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7990 /* 19865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7991 /* 19869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7992 /* 19873 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7993 /* 19876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7994 /* 19880 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7995 /* 19884 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7996 /* 19886 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7997 /* 19893 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
7998 /* 19893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7999 /* 19896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8000 /* 19898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8001 /* 19900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8002 /* 19904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8003 /* 19909 */ GIR_RootConstrainSelectedInstOperands,
8004 /* 19910 */ // GIR_Coverage, 18252,
8005 /* 19910 */ GIR_EraseRootFromParent_Done,
8006 /* 19911 */ // Label 662: @19911
8007 /* 19911 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 663*/ GIMT_Encode4(19972), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20155 //
8008 /* 19918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8009 /* 19922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8010 /* 19926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8011 /* 19930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8012 /* 19934 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8013 /* 19937 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8014 /* 19941 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8015 /* 19945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8016 /* 19947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8017 /* 19954 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8018 /* 19954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8019 /* 19957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8020 /* 19959 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8021 /* 19961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8022 /* 19965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8023 /* 19970 */ GIR_RootConstrainSelectedInstOperands,
8024 /* 19971 */ // GIR_Coverage, 20155,
8025 /* 19971 */ GIR_EraseRootFromParent_Done,
8026 /* 19972 */ // Label 663: @19972
8027 /* 19972 */ GIM_Try, /*On fail goto*//*Label 664*/ GIMT_Encode4(20018),
8028 /* 19977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8029 /* 19981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8030 /* 19985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8031 /* 19989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 665*/ GIMT_Encode4(20003), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18240 //
8032 /* 19996 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8033 /* 19996 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8034 /* 20001 */ GIR_RootConstrainSelectedInstOperands,
8035 /* 20002 */ // GIR_Coverage, 18240,
8036 /* 20002 */ GIR_Done,
8037 /* 20003 */ // Label 665: @20003
8038 /* 20003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 666*/ GIMT_Encode4(20017), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18264 //
8039 /* 20010 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8040 /* 20010 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8041 /* 20015 */ GIR_RootConstrainSelectedInstOperands,
8042 /* 20016 */ // GIR_Coverage, 18264,
8043 /* 20016 */ GIR_Done,
8044 /* 20017 */ // Label 666: @20017
8045 /* 20017 */ GIM_Reject,
8046 /* 20018 */ // Label 664: @20018
8047 /* 20018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 667*/ GIMT_Encode4(20044), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20147 //
8048 /* 20025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8049 /* 20029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8050 /* 20033 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8051 /* 20037 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPANDQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
8052 /* 20037 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8053 /* 20042 */ GIR_RootConstrainSelectedInstOperands,
8054 /* 20043 */ // GIR_Coverage, 20147,
8055 /* 20043 */ GIR_Done,
8056 /* 20044 */ // Label 667: @20044
8057 /* 20044 */ GIM_Reject,
8058 /* 20045 */ // Label 659: @20045
8059 /* 20045 */ GIM_Reject,
8060 /* 20046 */ // Label 502: @20046
8061 /* 20046 */ GIM_Try, /*On fail goto*//*Label 668*/ GIMT_Encode4(20492),
8062 /* 20051 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
8063 /* 20054 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
8064 /* 20057 */ GIM_Try, /*On fail goto*//*Label 669*/ GIMT_Encode4(20177),
8065 /* 20062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8066 /* 20066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8067 /* 20070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 670*/ GIMT_Encode4(20123), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25491 //
8068 /* 20077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8069 /* 20081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8070 /* 20085 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8071 /* 20088 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8072 /* 20092 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8073 /* 20096 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8074 /* 20098 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8075 /* 20105 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8076 /* 20105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8077 /* 20108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8078 /* 20110 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8079 /* 20112 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8080 /* 20116 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8081 /* 20121 */ GIR_RootConstrainSelectedInstOperands,
8082 /* 20122 */ // GIR_Coverage, 25491,
8083 /* 20122 */ GIR_EraseRootFromParent_Done,
8084 /* 20123 */ // Label 670: @20123
8085 /* 20123 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 671*/ GIMT_Encode4(20176), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25500 //
8086 /* 20130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8087 /* 20134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8088 /* 20138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8089 /* 20141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8090 /* 20145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8091 /* 20149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8092 /* 20151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8093 /* 20158 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8094 /* 20158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8095 /* 20161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8096 /* 20163 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8097 /* 20165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8098 /* 20169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8099 /* 20174 */ GIR_RootConstrainSelectedInstOperands,
8100 /* 20175 */ // GIR_Coverage, 25500,
8101 /* 20175 */ GIR_EraseRootFromParent_Done,
8102 /* 20176 */ // Label 671: @20176
8103 /* 20176 */ GIM_Reject,
8104 /* 20177 */ // Label 669: @20177
8105 /* 20177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 672*/ GIMT_Encode4(20238), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25699 //
8106 /* 20184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8107 /* 20188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8108 /* 20192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8109 /* 20196 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8110 /* 20199 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8111 /* 20203 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8112 /* 20207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8113 /* 20211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8114 /* 20213 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8115 /* 20220 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8116 /* 20220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8117 /* 20223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8118 /* 20225 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8119 /* 20227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8120 /* 20231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8121 /* 20236 */ GIR_RootConstrainSelectedInstOperands,
8122 /* 20237 */ // GIR_Coverage, 25699,
8123 /* 20237 */ GIR_EraseRootFromParent_Done,
8124 /* 20238 */ // Label 672: @20238
8125 /* 20238 */ GIM_Try, /*On fail goto*//*Label 673*/ GIMT_Encode4(20358),
8126 /* 20243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8127 /* 20247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8128 /* 20251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 674*/ GIMT_Encode4(20304), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18196 //
8129 /* 20258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8130 /* 20262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8131 /* 20266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8132 /* 20269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8133 /* 20273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8134 /* 20277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8135 /* 20279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8136 /* 20286 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8137 /* 20286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8138 /* 20289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8139 /* 20291 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8140 /* 20293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8141 /* 20297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8142 /* 20302 */ GIR_RootConstrainSelectedInstOperands,
8143 /* 20303 */ // GIR_Coverage, 18196,
8144 /* 20303 */ GIR_EraseRootFromParent_Done,
8145 /* 20304 */ // Label 674: @20304
8146 /* 20304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 675*/ GIMT_Encode4(20357), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18224 //
8147 /* 20311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8148 /* 20315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8149 /* 20319 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8150 /* 20322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8151 /* 20326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8152 /* 20330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8153 /* 20332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8154 /* 20339 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8155 /* 20339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8156 /* 20342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8157 /* 20344 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8158 /* 20346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8159 /* 20350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8160 /* 20355 */ GIR_RootConstrainSelectedInstOperands,
8161 /* 20356 */ // GIR_Coverage, 18224,
8162 /* 20356 */ GIR_EraseRootFromParent_Done,
8163 /* 20357 */ // Label 675: @20357
8164 /* 20357 */ GIM_Reject,
8165 /* 20358 */ // Label 673: @20358
8166 /* 20358 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 676*/ GIMT_Encode4(20419), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20171 //
8167 /* 20365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8168 /* 20369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8169 /* 20373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8170 /* 20377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8171 /* 20381 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8172 /* 20384 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8173 /* 20388 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8174 /* 20392 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8175 /* 20394 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8176 /* 20401 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8177 /* 20401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8178 /* 20404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8179 /* 20406 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8180 /* 20408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8181 /* 20412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8182 /* 20417 */ GIR_RootConstrainSelectedInstOperands,
8183 /* 20418 */ // GIR_Coverage, 20171,
8184 /* 20418 */ GIR_EraseRootFromParent_Done,
8185 /* 20419 */ // Label 676: @20419
8186 /* 20419 */ GIM_Try, /*On fail goto*//*Label 677*/ GIMT_Encode4(20465),
8187 /* 20424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8188 /* 20428 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8189 /* 20432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8190 /* 20436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 678*/ GIMT_Encode4(20450), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18184 //
8191 /* 20443 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPANDYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
8192 /* 20443 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8193 /* 20448 */ GIR_RootConstrainSelectedInstOperands,
8194 /* 20449 */ // GIR_Coverage, 18184,
8195 /* 20449 */ GIR_Done,
8196 /* 20450 */ // Label 678: @20450
8197 /* 20450 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 679*/ GIMT_Encode4(20464), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18208 //
8198 /* 20457 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VANDPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
8199 /* 20457 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8200 /* 20462 */ GIR_RootConstrainSelectedInstOperands,
8201 /* 20463 */ // GIR_Coverage, 18208,
8202 /* 20463 */ GIR_Done,
8203 /* 20464 */ // Label 679: @20464
8204 /* 20464 */ GIM_Reject,
8205 /* 20465 */ // Label 677: @20465
8206 /* 20465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 680*/ GIMT_Encode4(20491), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20163 //
8207 /* 20472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8208 /* 20476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8209 /* 20480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8210 /* 20484 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPANDQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
8211 /* 20484 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
8212 /* 20489 */ GIR_RootConstrainSelectedInstOperands,
8213 /* 20490 */ // GIR_Coverage, 20163,
8214 /* 20490 */ GIR_Done,
8215 /* 20491 */ // Label 680: @20491
8216 /* 20491 */ GIM_Reject,
8217 /* 20492 */ // Label 668: @20492
8218 /* 20492 */ GIM_Reject,
8219 /* 20493 */ // Label 503: @20493
8220 /* 20493 */ GIM_Try, /*On fail goto*//*Label 681*/ GIMT_Encode4(20647),
8221 /* 20498 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
8222 /* 20501 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
8223 /* 20504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8224 /* 20508 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 682*/ GIMT_Encode4(20565), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25705 //
8225 /* 20515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8226 /* 20519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8227 /* 20523 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8228 /* 20526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8229 /* 20530 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8230 /* 20534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8231 /* 20538 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8232 /* 20540 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8233 /* 20547 */ // (and:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8234 /* 20547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8235 /* 20550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8236 /* 20552 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8237 /* 20554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8238 /* 20558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8239 /* 20563 */ GIR_RootConstrainSelectedInstOperands,
8240 /* 20564 */ // GIR_Coverage, 25705,
8241 /* 20564 */ GIR_EraseRootFromParent_Done,
8242 /* 20565 */ // Label 682: @20565
8243 /* 20565 */ GIM_Try, /*On fail goto*//*Label 683*/ GIMT_Encode4(20646),
8244 /* 20570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8245 /* 20574 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 684*/ GIMT_Encode4(20627), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20187 //
8246 /* 20581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8247 /* 20585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8248 /* 20589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8249 /* 20592 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8250 /* 20596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8251 /* 20600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8252 /* 20602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8253 /* 20609 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8254 /* 20609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8255 /* 20612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8256 /* 20614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8257 /* 20616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8258 /* 20620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8259 /* 20625 */ GIR_RootConstrainSelectedInstOperands,
8260 /* 20626 */ // GIR_Coverage, 20187,
8261 /* 20626 */ GIR_EraseRootFromParent_Done,
8262 /* 20627 */ // Label 684: @20627
8263 /* 20627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 685*/ GIMT_Encode4(20645), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20179 //
8264 /* 20634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8265 /* 20638 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPANDQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
8266 /* 20638 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
8267 /* 20643 */ GIR_RootConstrainSelectedInstOperands,
8268 /* 20644 */ // GIR_Coverage, 20179,
8269 /* 20644 */ GIR_Done,
8270 /* 20645 */ // Label 685: @20645
8271 /* 20645 */ GIM_Reject,
8272 /* 20646 */ // Label 683: @20646
8273 /* 20646 */ GIM_Reject,
8274 /* 20647 */ // Label 681: @20647
8275 /* 20647 */ GIM_Reject,
8276 /* 20648 */ // Label 504: @20648
8277 /* 20648 */ GIM_Try, /*On fail goto*//*Label 686*/ GIMT_Encode4(20976),
8278 /* 20653 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
8279 /* 20656 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8280 /* 20659 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 687*/ GIMT_Encode4(20720), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24423 //
8281 /* 20666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8282 /* 20670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8283 /* 20674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8284 /* 20678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8285 /* 20681 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8286 /* 20685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8287 /* 20689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8288 /* 20693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8289 /* 20695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8290 /* 20702 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8291 /* 20702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8292 /* 20705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8293 /* 20707 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8294 /* 20709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8295 /* 20713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8296 /* 20718 */ GIR_RootConstrainSelectedInstOperands,
8297 /* 20719 */ // GIR_Coverage, 24423,
8298 /* 20719 */ GIR_EraseRootFromParent_Done,
8299 /* 20720 */ // Label 687: @20720
8300 /* 20720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 688*/ GIMT_Encode4(20781), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25513 //
8301 /* 20727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8302 /* 20731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8303 /* 20735 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8304 /* 20739 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8305 /* 20742 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8306 /* 20746 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8307 /* 20750 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8308 /* 20754 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8309 /* 20756 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8310 /* 20763 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8311 /* 20763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8312 /* 20766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8313 /* 20768 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8314 /* 20770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8315 /* 20774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8316 /* 20779 */ GIR_RootConstrainSelectedInstOperands,
8317 /* 20780 */ // GIR_Coverage, 25513,
8318 /* 20780 */ GIR_EraseRootFromParent_Done,
8319 /* 20781 */ // Label 688: @20781
8320 /* 20781 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 689*/ GIMT_Encode4(20842), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5735 //
8321 /* 20788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8322 /* 20792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8323 /* 20796 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8324 /* 20800 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8325 /* 20804 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8326 /* 20807 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8327 /* 20811 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8328 /* 20815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8329 /* 20817 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8330 /* 20824 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8331 /* 20824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8332 /* 20827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8333 /* 20829 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8334 /* 20831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8335 /* 20835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8336 /* 20840 */ GIR_RootConstrainSelectedInstOperands,
8337 /* 20841 */ // GIR_Coverage, 5735,
8338 /* 20841 */ GIR_EraseRootFromParent_Done,
8339 /* 20842 */ // Label 689: @20842
8340 /* 20842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 690*/ GIMT_Encode4(20903), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18253 //
8341 /* 20849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8342 /* 20853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8343 /* 20857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8344 /* 20861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8345 /* 20865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8346 /* 20868 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8347 /* 20872 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8348 /* 20876 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8349 /* 20878 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8350 /* 20885 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8351 /* 20885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8352 /* 20888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8353 /* 20890 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8354 /* 20892 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8355 /* 20896 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8356 /* 20901 */ GIR_RootConstrainSelectedInstOperands,
8357 /* 20902 */ // GIR_Coverage, 18253,
8358 /* 20902 */ GIR_EraseRootFromParent_Done,
8359 /* 20903 */ // Label 690: @20903
8360 /* 20903 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 691*/ GIMT_Encode4(20929), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5732 //
8361 /* 20910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8362 /* 20914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8363 /* 20918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8364 /* 20922 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPANDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
8365 /* 20922 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rr),
8366 /* 20927 */ GIR_RootConstrainSelectedInstOperands,
8367 /* 20928 */ // GIR_Coverage, 5732,
8368 /* 20928 */ GIR_Done,
8369 /* 20929 */ // Label 691: @20929
8370 /* 20929 */ GIM_Try, /*On fail goto*//*Label 692*/ GIMT_Encode4(20975),
8371 /* 20934 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8372 /* 20938 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8373 /* 20942 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8374 /* 20946 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 693*/ GIMT_Encode4(20960), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18241 //
8375 /* 20953 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8376 /* 20953 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8377 /* 20958 */ GIR_RootConstrainSelectedInstOperands,
8378 /* 20959 */ // GIR_Coverage, 18241,
8379 /* 20959 */ GIR_Done,
8380 /* 20960 */ // Label 693: @20960
8381 /* 20960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 694*/ GIMT_Encode4(20974), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18265 //
8382 /* 20967 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8383 /* 20967 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8384 /* 20972 */ GIR_RootConstrainSelectedInstOperands,
8385 /* 20973 */ // GIR_Coverage, 18265,
8386 /* 20973 */ GIR_Done,
8387 /* 20974 */ // Label 694: @20974
8388 /* 20974 */ GIM_Reject,
8389 /* 20975 */ // Label 692: @20975
8390 /* 20975 */ GIM_Reject,
8391 /* 20976 */ // Label 686: @20976
8392 /* 20976 */ GIM_Reject,
8393 /* 20977 */ // Label 505: @20977
8394 /* 20977 */ GIM_Try, /*On fail goto*//*Label 695*/ GIMT_Encode4(21423),
8395 /* 20982 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
8396 /* 20985 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
8397 /* 20988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 696*/ GIMT_Encode4(21049), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24417 //
8398 /* 20995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8399 /* 20999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8400 /* 21003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8401 /* 21007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8402 /* 21010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8403 /* 21014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8404 /* 21018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8405 /* 21022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8406 /* 21024 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8407 /* 21031 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8408 /* 21031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8409 /* 21034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8410 /* 21036 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8411 /* 21038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8412 /* 21042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8413 /* 21047 */ GIR_RootConstrainSelectedInstOperands,
8414 /* 21048 */ // GIR_Coverage, 24417,
8415 /* 21048 */ GIR_EraseRootFromParent_Done,
8416 /* 21049 */ // Label 696: @21049
8417 /* 21049 */ GIM_Try, /*On fail goto*//*Label 697*/ GIMT_Encode4(21169),
8418 /* 21054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8419 /* 21058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8420 /* 21062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 698*/ GIMT_Encode4(21115), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25492 //
8421 /* 21069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8422 /* 21073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8423 /* 21077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8424 /* 21080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8425 /* 21084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8426 /* 21088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8427 /* 21090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8428 /* 21097 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8429 /* 21097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8430 /* 21100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8431 /* 21102 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8432 /* 21104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8433 /* 21108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8434 /* 21113 */ GIR_RootConstrainSelectedInstOperands,
8435 /* 21114 */ // GIR_Coverage, 25492,
8436 /* 21114 */ GIR_EraseRootFromParent_Done,
8437 /* 21115 */ // Label 698: @21115
8438 /* 21115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 699*/ GIMT_Encode4(21168), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25501 //
8439 /* 21122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8440 /* 21126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8441 /* 21130 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8442 /* 21133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8443 /* 21137 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8444 /* 21141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8445 /* 21143 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8446 /* 21150 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8447 /* 21150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8448 /* 21153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8449 /* 21155 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8450 /* 21157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8451 /* 21161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8452 /* 21166 */ GIR_RootConstrainSelectedInstOperands,
8453 /* 21167 */ // GIR_Coverage, 25501,
8454 /* 21167 */ GIR_EraseRootFromParent_Done,
8455 /* 21168 */ // Label 699: @21168
8456 /* 21168 */ GIM_Reject,
8457 /* 21169 */ // Label 697: @21169
8458 /* 21169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 700*/ GIMT_Encode4(21230), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5726 //
8459 /* 21176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8460 /* 21180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8461 /* 21184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8462 /* 21188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8463 /* 21192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8464 /* 21195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8465 /* 21199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8466 /* 21203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8467 /* 21205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8468 /* 21212 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8469 /* 21212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8470 /* 21215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8471 /* 21217 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8472 /* 21219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8473 /* 21223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8474 /* 21228 */ GIR_RootConstrainSelectedInstOperands,
8475 /* 21229 */ // GIR_Coverage, 5726,
8476 /* 21229 */ GIR_EraseRootFromParent_Done,
8477 /* 21230 */ // Label 700: @21230
8478 /* 21230 */ GIM_Try, /*On fail goto*//*Label 701*/ GIMT_Encode4(21350),
8479 /* 21235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8480 /* 21239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8481 /* 21243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 702*/ GIMT_Encode4(21296), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18197 //
8482 /* 21250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8483 /* 21254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8484 /* 21258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8485 /* 21261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8486 /* 21265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8487 /* 21269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8488 /* 21271 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8489 /* 21278 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8490 /* 21278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8491 /* 21281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8492 /* 21283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8493 /* 21285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8494 /* 21289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8495 /* 21294 */ GIR_RootConstrainSelectedInstOperands,
8496 /* 21295 */ // GIR_Coverage, 18197,
8497 /* 21295 */ GIR_EraseRootFromParent_Done,
8498 /* 21296 */ // Label 702: @21296
8499 /* 21296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 703*/ GIMT_Encode4(21349), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18225 //
8500 /* 21303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8501 /* 21307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8502 /* 21311 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8503 /* 21314 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8504 /* 21318 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8505 /* 21322 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8506 /* 21324 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8507 /* 21331 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8508 /* 21331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8509 /* 21334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8510 /* 21336 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8511 /* 21338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8512 /* 21342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8513 /* 21347 */ GIR_RootConstrainSelectedInstOperands,
8514 /* 21348 */ // GIR_Coverage, 18225,
8515 /* 21348 */ GIR_EraseRootFromParent_Done,
8516 /* 21349 */ // Label 703: @21349
8517 /* 21349 */ GIM_Reject,
8518 /* 21350 */ // Label 701: @21350
8519 /* 21350 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 704*/ GIMT_Encode4(21376), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5723 //
8520 /* 21357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8521 /* 21361 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8522 /* 21365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8523 /* 21369 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPANDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
8524 /* 21369 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rr),
8525 /* 21374 */ GIR_RootConstrainSelectedInstOperands,
8526 /* 21375 */ // GIR_Coverage, 5723,
8527 /* 21375 */ GIR_Done,
8528 /* 21376 */ // Label 704: @21376
8529 /* 21376 */ GIM_Try, /*On fail goto*//*Label 705*/ GIMT_Encode4(21422),
8530 /* 21381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8531 /* 21385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8532 /* 21389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8533 /* 21393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 706*/ GIMT_Encode4(21407), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18185 //
8534 /* 21400 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPANDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
8535 /* 21400 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8536 /* 21405 */ GIR_RootConstrainSelectedInstOperands,
8537 /* 21406 */ // GIR_Coverage, 18185,
8538 /* 21406 */ GIR_Done,
8539 /* 21407 */ // Label 706: @21407
8540 /* 21407 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 707*/ GIMT_Encode4(21421), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18209 //
8541 /* 21414 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VANDPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
8542 /* 21414 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8543 /* 21419 */ GIR_RootConstrainSelectedInstOperands,
8544 /* 21420 */ // GIR_Coverage, 18209,
8545 /* 21420 */ GIR_Done,
8546 /* 21421 */ // Label 707: @21421
8547 /* 21421 */ GIM_Reject,
8548 /* 21422 */ // Label 705: @21422
8549 /* 21422 */ GIM_Reject,
8550 /* 21423 */ // Label 695: @21423
8551 /* 21423 */ GIM_Reject,
8552 /* 21424 */ // Label 506: @21424
8553 /* 21424 */ GIM_Try, /*On fail goto*//*Label 708*/ GIMT_Encode4(21578),
8554 /* 21429 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
8555 /* 21432 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
8556 /* 21435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8557 /* 21439 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 709*/ GIMT_Encode4(21496), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24411 //
8558 /* 21446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8559 /* 21450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8560 /* 21454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8561 /* 21457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8562 /* 21461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8563 /* 21465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8564 /* 21469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8565 /* 21471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8566 /* 21478 */ // (and:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8567 /* 21478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
8568 /* 21481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8569 /* 21483 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8570 /* 21485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8571 /* 21489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8572 /* 21494 */ GIR_RootConstrainSelectedInstOperands,
8573 /* 21495 */ // GIR_Coverage, 24411,
8574 /* 21495 */ GIR_EraseRootFromParent_Done,
8575 /* 21496 */ // Label 709: @21496
8576 /* 21496 */ GIM_Try, /*On fail goto*//*Label 710*/ GIMT_Encode4(21577),
8577 /* 21501 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8578 /* 21505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 711*/ GIMT_Encode4(21558), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5717 //
8579 /* 21512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8580 /* 21516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8581 /* 21520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8582 /* 21523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8583 /* 21527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8584 /* 21531 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8585 /* 21533 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8586 /* 21540 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8587 /* 21540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
8588 /* 21543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8589 /* 21545 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8590 /* 21547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8591 /* 21551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8592 /* 21556 */ GIR_RootConstrainSelectedInstOperands,
8593 /* 21557 */ // GIR_Coverage, 5717,
8594 /* 21557 */ GIR_EraseRootFromParent_Done,
8595 /* 21558 */ // Label 711: @21558
8596 /* 21558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 712*/ GIMT_Encode4(21576), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5714 //
8597 /* 21565 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8598 /* 21569 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPANDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
8599 /* 21569 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZrr),
8600 /* 21574 */ GIR_RootConstrainSelectedInstOperands,
8601 /* 21575 */ // GIR_Coverage, 5714,
8602 /* 21575 */ GIR_Done,
8603 /* 21576 */ // Label 712: @21576
8604 /* 21576 */ GIM_Reject,
8605 /* 21577 */ // Label 710: @21577
8606 /* 21577 */ GIM_Reject,
8607 /* 21578 */ // Label 708: @21578
8608 /* 21578 */ GIM_Reject,
8609 /* 21579 */ // Label 507: @21579
8610 /* 21579 */ GIM_Try, /*On fail goto*//*Label 713*/ GIMT_Encode4(21907),
8611 /* 21584 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
8612 /* 21587 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8613 /* 21590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 714*/ GIMT_Encode4(21651), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23616 //
8614 /* 21597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8615 /* 21601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8616 /* 21605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8617 /* 21609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8618 /* 21612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8619 /* 21616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8620 /* 21620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8621 /* 21624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8622 /* 21626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8623 /* 21633 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8624 /* 21633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8625 /* 21636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8626 /* 21638 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8627 /* 21640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8628 /* 21644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8629 /* 21649 */ GIR_RootConstrainSelectedInstOperands,
8630 /* 21650 */ // GIR_Coverage, 23616,
8631 /* 21650 */ GIR_EraseRootFromParent_Done,
8632 /* 21651 */ // Label 714: @21651
8633 /* 21651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 715*/ GIMT_Encode4(21712), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24405 //
8634 /* 21658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8635 /* 21662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8636 /* 21666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8637 /* 21670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8638 /* 21673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8639 /* 21677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8640 /* 21681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8641 /* 21685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8642 /* 21687 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8643 /* 21694 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8644 /* 21694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8645 /* 21697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8646 /* 21699 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8647 /* 21701 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8648 /* 21705 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8649 /* 21710 */ GIR_RootConstrainSelectedInstOperands,
8650 /* 21711 */ // GIR_Coverage, 24405,
8651 /* 21711 */ GIR_EraseRootFromParent_Done,
8652 /* 21712 */ // Label 715: @21712
8653 /* 21712 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 716*/ GIMT_Encode4(21773), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2092 //
8654 /* 21719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8655 /* 21723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8656 /* 21727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8657 /* 21731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8658 /* 21735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8659 /* 21738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8660 /* 21742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8661 /* 21746 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8662 /* 21748 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8663 /* 21755 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8664 /* 21755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8665 /* 21758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8666 /* 21760 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8667 /* 21762 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8668 /* 21766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8669 /* 21771 */ GIR_RootConstrainSelectedInstOperands,
8670 /* 21772 */ // GIR_Coverage, 2092,
8671 /* 21772 */ GIR_EraseRootFromParent_Done,
8672 /* 21773 */ // Label 716: @21773
8673 /* 21773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 717*/ GIMT_Encode4(21834), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5708 //
8674 /* 21780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8675 /* 21784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8676 /* 21788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8677 /* 21792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8678 /* 21796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8679 /* 21799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8680 /* 21803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8681 /* 21807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8682 /* 21809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8683 /* 21816 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8684 /* 21816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8685 /* 21819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8686 /* 21821 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8687 /* 21823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8688 /* 21827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8689 /* 21832 */ GIR_RootConstrainSelectedInstOperands,
8690 /* 21833 */ // GIR_Coverage, 5708,
8691 /* 21833 */ GIR_EraseRootFromParent_Done,
8692 /* 21834 */ // Label 717: @21834
8693 /* 21834 */ GIM_Try, /*On fail goto*//*Label 718*/ GIMT_Encode4(21880),
8694 /* 21839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8695 /* 21843 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8696 /* 21847 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8697 /* 21851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 719*/ GIMT_Encode4(21865), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2091 //
8698 /* 21858 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
8699 /* 21858 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8700 /* 21863 */ GIR_RootConstrainSelectedInstOperands,
8701 /* 21864 */ // GIR_Coverage, 2091,
8702 /* 21864 */ GIR_Done,
8703 /* 21865 */ // Label 719: @21865
8704 /* 21865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 720*/ GIMT_Encode4(21879), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2093 //
8705 /* 21872 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
8706 /* 21872 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8707 /* 21877 */ GIR_RootConstrainSelectedInstOperands,
8708 /* 21878 */ // GIR_Coverage, 2093,
8709 /* 21878 */ GIR_Done,
8710 /* 21879 */ // Label 720: @21879
8711 /* 21879 */ GIM_Reject,
8712 /* 21880 */ // Label 718: @21880
8713 /* 21880 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 721*/ GIMT_Encode4(21906), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5705 //
8714 /* 21887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8715 /* 21891 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8716 /* 21895 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8717 /* 21899 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPANDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
8718 /* 21899 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8719 /* 21904 */ GIR_RootConstrainSelectedInstOperands,
8720 /* 21905 */ // GIR_Coverage, 5705,
8721 /* 21905 */ GIR_Done,
8722 /* 21906 */ // Label 721: @21906
8723 /* 21906 */ GIM_Reject,
8724 /* 21907 */ // Label 713: @21907
8725 /* 21907 */ GIM_Reject,
8726 /* 21908 */ // Label 508: @21908
8727 /* 21908 */ GIM_Try, /*On fail goto*//*Label 722*/ GIMT_Encode4(22364),
8728 /* 21913 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
8729 /* 21916 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
8730 /* 21919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 723*/ GIMT_Encode4(21980), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23618 //
8731 /* 21926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8732 /* 21930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8733 /* 21934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8734 /* 21938 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8735 /* 21941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8736 /* 21945 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8737 /* 21949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8738 /* 21953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8739 /* 21955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8740 /* 21962 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8741 /* 21962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8742 /* 21965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8743 /* 21967 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8744 /* 21969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8745 /* 21973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8746 /* 21978 */ GIR_RootConstrainSelectedInstOperands,
8747 /* 21979 */ // GIR_Coverage, 23618,
8748 /* 21979 */ GIR_EraseRootFromParent_Done,
8749 /* 21980 */ // Label 723: @21980
8750 /* 21980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 724*/ GIMT_Encode4(22041), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24399 //
8751 /* 21987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8752 /* 21991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8753 /* 21995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8754 /* 21999 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8755 /* 22002 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8756 /* 22006 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8757 /* 22010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8758 /* 22014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8759 /* 22016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8760 /* 22023 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8761 /* 22023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8762 /* 22026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8763 /* 22028 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8764 /* 22030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8765 /* 22034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8766 /* 22039 */ GIR_RootConstrainSelectedInstOperands,
8767 /* 22040 */ // GIR_Coverage, 24399,
8768 /* 22040 */ GIR_EraseRootFromParent_Done,
8769 /* 22041 */ // Label 724: @22041
8770 /* 22041 */ GIM_Try, /*On fail goto*//*Label 725*/ GIMT_Encode4(22165),
8771 /* 22046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8772 /* 22050 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 726*/ GIMT_Encode4(22107), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25502 //
8773 /* 22057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8774 /* 22061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8775 /* 22065 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8776 /* 22068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8777 /* 22072 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8778 /* 22076 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8779 /* 22080 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8780 /* 22082 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8781 /* 22089 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8782 /* 22089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8783 /* 22092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8784 /* 22094 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8785 /* 22096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8786 /* 22100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8787 /* 22105 */ GIR_RootConstrainSelectedInstOperands,
8788 /* 22106 */ // GIR_Coverage, 25502,
8789 /* 22106 */ GIR_EraseRootFromParent_Done,
8790 /* 22107 */ // Label 726: @22107
8791 /* 22107 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 727*/ GIMT_Encode4(22164), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2096 //
8792 /* 22114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8793 /* 22118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8794 /* 22122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8795 /* 22126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8796 /* 22129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8797 /* 22133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8798 /* 22137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8799 /* 22139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8800 /* 22146 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8801 /* 22146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8802 /* 22149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8803 /* 22151 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8804 /* 22153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8805 /* 22157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8806 /* 22162 */ GIR_RootConstrainSelectedInstOperands,
8807 /* 22163 */ // GIR_Coverage, 2096,
8808 /* 22163 */ GIR_EraseRootFromParent_Done,
8809 /* 22164 */ // Label 727: @22164
8810 /* 22164 */ GIM_Reject,
8811 /* 22165 */ // Label 725: @22165
8812 /* 22165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 728*/ GIMT_Encode4(22226), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5699 //
8813 /* 22172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8814 /* 22176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8815 /* 22180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8816 /* 22184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8817 /* 22188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8818 /* 22191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8819 /* 22195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8820 /* 22199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8821 /* 22201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8822 /* 22208 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8823 /* 22208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8824 /* 22211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8825 /* 22213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8826 /* 22215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8827 /* 22219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8828 /* 22224 */ GIR_RootConstrainSelectedInstOperands,
8829 /* 22225 */ // GIR_Coverage, 5699,
8830 /* 22225 */ GIR_EraseRootFromParent_Done,
8831 /* 22226 */ // Label 728: @22226
8832 /* 22226 */ GIM_Try, /*On fail goto*//*Label 729*/ GIMT_Encode4(22311),
8833 /* 22231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8834 /* 22235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8835 /* 22239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 730*/ GIMT_Encode4(22292), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18226 //
8836 /* 22246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8837 /* 22250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8838 /* 22254 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8839 /* 22257 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8840 /* 22261 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8841 /* 22265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8842 /* 22267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8843 /* 22274 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8844 /* 22274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8845 /* 22277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8846 /* 22279 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8847 /* 22281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8848 /* 22285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8849 /* 22290 */ GIR_RootConstrainSelectedInstOperands,
8850 /* 22291 */ // GIR_Coverage, 18226,
8851 /* 22291 */ GIR_EraseRootFromParent_Done,
8852 /* 22292 */ // Label 730: @22292
8853 /* 22292 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 731*/ GIMT_Encode4(22310), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2095 //
8854 /* 22299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8855 /* 22303 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPANDYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
8856 /* 22303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8857 /* 22308 */ GIR_RootConstrainSelectedInstOperands,
8858 /* 22309 */ // GIR_Coverage, 2095,
8859 /* 22309 */ GIR_Done,
8860 /* 22310 */ // Label 731: @22310
8861 /* 22310 */ GIM_Reject,
8862 /* 22311 */ // Label 729: @22311
8863 /* 22311 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 732*/ GIMT_Encode4(22337), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5696 //
8864 /* 22318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8865 /* 22322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8866 /* 22326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8867 /* 22330 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPANDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
8868 /* 22330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
8869 /* 22335 */ GIR_RootConstrainSelectedInstOperands,
8870 /* 22336 */ // GIR_Coverage, 5696,
8871 /* 22336 */ GIR_Done,
8872 /* 22337 */ // Label 732: @22337
8873 /* 22337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 733*/ GIMT_Encode4(22363), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18210 //
8874 /* 22344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8875 /* 22348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8876 /* 22352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8877 /* 22356 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VANDPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
8878 /* 22356 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8879 /* 22361 */ GIR_RootConstrainSelectedInstOperands,
8880 /* 22362 */ // GIR_Coverage, 18210,
8881 /* 22362 */ GIR_Done,
8882 /* 22363 */ // Label 733: @22363
8883 /* 22363 */ GIM_Reject,
8884 /* 22364 */ // Label 722: @22364
8885 /* 22364 */ GIM_Reject,
8886 /* 22365 */ // Label 509: @22365
8887 /* 22365 */ GIM_Try, /*On fail goto*//*Label 734*/ GIMT_Encode4(22519),
8888 /* 22370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
8889 /* 22373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
8890 /* 22376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8891 /* 22380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 735*/ GIMT_Encode4(22437), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24393 //
8892 /* 22387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8893 /* 22391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8894 /* 22395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8895 /* 22398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8896 /* 22402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8897 /* 22406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8898 /* 22410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8899 /* 22412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8900 /* 22419 */ // (and:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8901 /* 22419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8902 /* 22422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8903 /* 22424 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8904 /* 22426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8905 /* 22430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8906 /* 22435 */ GIR_RootConstrainSelectedInstOperands,
8907 /* 22436 */ // GIR_Coverage, 24393,
8908 /* 22436 */ GIR_EraseRootFromParent_Done,
8909 /* 22437 */ // Label 735: @22437
8910 /* 22437 */ GIM_Try, /*On fail goto*//*Label 736*/ GIMT_Encode4(22518),
8911 /* 22442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8912 /* 22446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 737*/ GIMT_Encode4(22499), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5690 //
8913 /* 22453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8914 /* 22457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8915 /* 22461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8916 /* 22464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8917 /* 22468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8918 /* 22472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8919 /* 22474 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8920 /* 22481 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8921 /* 22481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8922 /* 22484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8923 /* 22486 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8924 /* 22488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8925 /* 22492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8926 /* 22497 */ GIR_RootConstrainSelectedInstOperands,
8927 /* 22498 */ // GIR_Coverage, 5690,
8928 /* 22498 */ GIR_EraseRootFromParent_Done,
8929 /* 22499 */ // Label 737: @22499
8930 /* 22499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 738*/ GIMT_Encode4(22517), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5687 //
8931 /* 22506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8932 /* 22510 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPANDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
8933 /* 22510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
8934 /* 22515 */ GIR_RootConstrainSelectedInstOperands,
8935 /* 22516 */ // GIR_Coverage, 5687,
8936 /* 22516 */ GIR_Done,
8937 /* 22517 */ // Label 738: @22517
8938 /* 22517 */ GIM_Reject,
8939 /* 22518 */ // Label 736: @22518
8940 /* 22518 */ GIM_Reject,
8941 /* 22519 */ // Label 734: @22519
8942 /* 22519 */ GIM_Reject,
8943 /* 22520 */ // Label 510: @22520
8944 /* 22520 */ GIM_Reject,
8945 /* 22521 */ // Label 4: @22521
8946 /* 22521 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 762*/ GIMT_Encode4(30661),
8947 /* 22532 */ /*GILLT_s1*//*Label 739*/ GIMT_Encode4(22632),
8948 /* 22536 */ /*GILLT_s8*//*Label 740*/ GIMT_Encode4(22732),
8949 /* 22540 */ /*GILLT_s16*//*Label 741*/ GIMT_Encode4(23141),
8950 /* 22544 */ /*GILLT_s32*//*Label 742*/ GIMT_Encode4(23754),
8951 /* 22548 */ /*GILLT_s64*//*Label 743*/ GIMT_Encode4(25124), GIMT_Encode4(0), GIMT_Encode4(0),
8952 /* 22560 */ /*GILLT_v2s1*//*Label 744*/ GIMT_Encode4(26506),
8953 /* 22564 */ /*GILLT_v4s1*//*Label 745*/ GIMT_Encode4(26606),
8954 /* 22568 */ /*GILLT_v8s1*//*Label 746*/ GIMT_Encode4(26706),
8955 /* 22572 */ /*GILLT_v16s1*//*Label 747*/ GIMT_Encode4(26828),
8956 /* 22576 */ /*GILLT_v32s1*//*Label 748*/ GIMT_Encode4(26861),
8957 /* 22580 */ /*GILLT_v64s1*//*Label 749*/ GIMT_Encode4(26894),
8958 /* 22584 */ /*GILLT_v16s8*//*Label 750*/ GIMT_Encode4(26927),
8959 /* 22588 */ /*GILLT_v32s8*//*Label 751*/ GIMT_Encode4(27256),
8960 /* 22592 */ /*GILLT_v64s8*//*Label 752*/ GIMT_Encode4(27703),
8961 /* 22596 */ /*GILLT_v8s16*//*Label 753*/ GIMT_Encode4(27858),
8962 /* 22600 */ /*GILLT_v16s16*//*Label 754*/ GIMT_Encode4(28187),
8963 /* 22604 */ /*GILLT_v32s16*//*Label 755*/ GIMT_Encode4(28634),
8964 /* 22608 */ /*GILLT_v4s32*//*Label 756*/ GIMT_Encode4(28789),
8965 /* 22612 */ /*GILLT_v8s32*//*Label 757*/ GIMT_Encode4(29118),
8966 /* 22616 */ /*GILLT_v16s32*//*Label 758*/ GIMT_Encode4(29565),
8967 /* 22620 */ /*GILLT_v2s64*//*Label 759*/ GIMT_Encode4(29720),
8968 /* 22624 */ /*GILLT_v4s64*//*Label 760*/ GIMT_Encode4(30049),
8969 /* 22628 */ /*GILLT_v8s64*//*Label 761*/ GIMT_Encode4(30506),
8970 /* 22632 */ // Label 739: @22632
8971 /* 22632 */ GIM_Try, /*On fail goto*//*Label 763*/ GIMT_Encode4(22731), // Rule ID 19596 //
8972 /* 22637 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
8973 /* 22640 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
8974 /* 22643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
8975 /* 22647 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
8976 /* 22651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
8977 /* 22655 */ // (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] })
8978 /* 22655 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8979 /* 22658 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8980 /* 22662 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8981 /* 22667 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8982 /* 22671 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8983 /* 22676 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8984 /* 22679 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8985 /* 22683 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8986 /* 22688 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
8987 /* 22692 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8988 /* 22697 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8989 /* 22700 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
8990 /* 22704 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8991 /* 22709 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8992 /* 22712 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8993 /* 22715 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8994 /* 22717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8995 /* 22720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8996 /* 22722 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8997 /* 22725 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
8998 /* 22730 */ // GIR_Coverage, 19596,
8999 /* 22730 */ GIR_EraseRootFromParent_Done,
9000 /* 22731 */ // Label 763: @22731
9001 /* 22731 */ GIM_Reject,
9002 /* 22732 */ // Label 740: @22732
9003 /* 22732 */ GIM_Try, /*On fail goto*//*Label 764*/ GIMT_Encode4(23140),
9004 /* 22737 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
9005 /* 22740 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
9006 /* 22743 */ GIM_Try, /*On fail goto*//*Label 765*/ GIMT_Encode4(22873),
9007 /* 22748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9008 /* 22752 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 766*/ GIMT_Encode4(22812), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26325 //
9009 /* 22759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9010 /* 22763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9011 /* 22767 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9012 /* 22770 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9013 /* 22774 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9014 /* 22778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9015 /* 22782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9016 /* 22784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9017 /* 22791 */ // (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)
9018 /* 22791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9019 /* 22794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9020 /* 22796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9021 /* 22798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9022 /* 22802 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9023 /* 22805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9024 /* 22810 */ GIR_RootConstrainSelectedInstOperands,
9025 /* 22811 */ // GIR_Coverage, 26325,
9026 /* 22811 */ GIR_EraseRootFromParent_Done,
9027 /* 22812 */ // Label 766: @22812
9028 /* 22812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 767*/ GIMT_Encode4(22872), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23081 //
9029 /* 22819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9030 /* 22823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9031 /* 22827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9032 /* 22831 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9033 /* 22834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9034 /* 22838 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9035 /* 22842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9036 /* 22844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9037 /* 22851 */ // (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)
9038 /* 22851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9039 /* 22854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9040 /* 22856 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9041 /* 22858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9042 /* 22862 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9043 /* 22865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9044 /* 22870 */ GIR_RootConstrainSelectedInstOperands,
9045 /* 22871 */ // GIR_Coverage, 23081,
9046 /* 22871 */ GIR_EraseRootFromParent_Done,
9047 /* 22872 */ // Label 767: @22872
9048 /* 22872 */ GIM_Reject,
9049 /* 22873 */ // Label 765: @22873
9050 /* 22873 */ GIM_Try, /*On fail goto*//*Label 768*/ GIMT_Encode4(22969),
9051 /* 22878 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9052 /* 22882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9053 /* 22886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9054 /* 22890 */ GIM_Try, /*On fail goto*//*Label 769*/ GIMT_Encode4(22938),
9055 /* 22895 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9056 /* 22899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 770*/ GIMT_Encode4(22918), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23116 //
9057 /* 22906 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] })<<P:Predicate_or_disjoint>> => (INC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
9058 /* 22906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r),
9059 /* 22909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9060 /* 22911 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9061 /* 22913 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9062 /* 22916 */ GIR_RootConstrainSelectedInstOperands,
9063 /* 22917 */ // GIR_Coverage, 23116,
9064 /* 22917 */ GIR_EraseRootFromParent_Done,
9065 /* 22918 */ // Label 770: @22918
9066 /* 22918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 771*/ GIMT_Encode4(22937), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23206 //
9067 /* 22925 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] })<<P:Predicate_or_disjoint>> => (INC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
9068 /* 22925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r_ND),
9069 /* 22928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9070 /* 22930 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9071 /* 22932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9072 /* 22935 */ GIR_RootConstrainSelectedInstOperands,
9073 /* 22936 */ // GIR_Coverage, 23206,
9074 /* 22936 */ GIR_EraseRootFromParent_Done,
9075 /* 22937 */ // Label 771: @22937
9076 /* 22937 */ GIM_Reject,
9077 /* 22938 */ // Label 769: @22938
9078 /* 22938 */ GIM_Try, /*On fail goto*//*Label 772*/ GIMT_Encode4(22968), // Rule ID 17345 //
9079 /* 22943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9080 /* 22947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9081 /* 22951 */ // MIs[1] Operand 1
9082 /* 22951 */ // No operand predicates
9083 /* 22951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9084 /* 22953 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)<<P:Predicate_or_disjoint>> => (ADD8ri_DB:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9085 /* 22953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri_DB),
9086 /* 22956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9087 /* 22958 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9088 /* 22960 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9089 /* 22963 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9090 /* 22966 */ GIR_RootConstrainSelectedInstOperands,
9091 /* 22967 */ // GIR_Coverage, 17345,
9092 /* 22967 */ GIR_EraseRootFromParent_Done,
9093 /* 22968 */ // Label 772: @22968
9094 /* 22968 */ GIM_Reject,
9095 /* 22969 */ // Label 768: @22969
9096 /* 22969 */ GIM_Try, /*On fail goto*//*Label 773*/ GIMT_Encode4(23047),
9097 /* 22974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9098 /* 22978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9099 /* 22982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 774*/ GIMT_Encode4(23014), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23085 //
9100 /* 22989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9101 /* 22993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9102 /* 22997 */ // MIs[1] Operand 1
9103 /* 22997 */ // No operand predicates
9104 /* 22997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9105 /* 22999 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9106 /* 22999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri),
9107 /* 23002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9108 /* 23004 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9109 /* 23006 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9110 /* 23009 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9111 /* 23012 */ GIR_RootConstrainSelectedInstOperands,
9112 /* 23013 */ // GIR_Coverage, 23085,
9113 /* 23013 */ GIR_EraseRootFromParent_Done,
9114 /* 23014 */ // Label 774: @23014
9115 /* 23014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 775*/ GIMT_Encode4(23046), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23175 //
9116 /* 23021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9117 /* 23025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9118 /* 23029 */ // MIs[1] Operand 1
9119 /* 23029 */ // No operand predicates
9120 /* 23029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9121 /* 23031 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9122 /* 23031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri_ND),
9123 /* 23034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9124 /* 23036 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9125 /* 23038 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9126 /* 23041 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9127 /* 23044 */ GIR_RootConstrainSelectedInstOperands,
9128 /* 23045 */ // GIR_Coverage, 23175,
9129 /* 23045 */ GIR_EraseRootFromParent_Done,
9130 /* 23046 */ // Label 775: @23046
9131 /* 23046 */ GIM_Reject,
9132 /* 23047 */ // Label 773: @23047
9133 /* 23047 */ GIM_Try, /*On fail goto*//*Label 776*/ GIMT_Encode4(23081), // Rule ID 17341 //
9134 /* 23052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9135 /* 23056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9136 /* 23060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9137 /* 23064 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9138 /* 23068 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)<<P:Predicate_or_disjoint>> => (ADD8rr_DB:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9139 /* 23068 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr_DB),
9140 /* 23073 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9141 /* 23079 */ GIR_RootConstrainSelectedInstOperands,
9142 /* 23080 */ // GIR_Coverage, 17341,
9143 /* 23080 */ GIR_Done,
9144 /* 23081 */ // Label 776: @23081
9145 /* 23081 */ GIM_Try, /*On fail goto*//*Label 777*/ GIMT_Encode4(23139),
9146 /* 23086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9147 /* 23090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9148 /* 23094 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9149 /* 23098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 778*/ GIMT_Encode4(23118), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23077 //
9150 /* 23105 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9151 /* 23105 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr),
9152 /* 23110 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9153 /* 23116 */ GIR_RootConstrainSelectedInstOperands,
9154 /* 23117 */ // GIR_Coverage, 23077,
9155 /* 23117 */ GIR_Done,
9156 /* 23118 */ // Label 778: @23118
9157 /* 23118 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 779*/ GIMT_Encode4(23138), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23167 //
9158 /* 23125 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9159 /* 23125 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr_ND),
9160 /* 23130 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9161 /* 23136 */ GIR_RootConstrainSelectedInstOperands,
9162 /* 23137 */ // GIR_Coverage, 23167,
9163 /* 23137 */ GIR_Done,
9164 /* 23138 */ // Label 779: @23138
9165 /* 23138 */ GIM_Reject,
9166 /* 23139 */ // Label 777: @23139
9167 /* 23139 */ GIM_Reject,
9168 /* 23140 */ // Label 764: @23140
9169 /* 23140 */ GIM_Reject,
9170 /* 23141 */ // Label 741: @23141
9171 /* 23141 */ GIM_Try, /*On fail goto*//*Label 780*/ GIMT_Encode4(23753),
9172 /* 23146 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
9173 /* 23149 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
9174 /* 23152 */ GIM_Try, /*On fail goto*//*Label 781*/ GIMT_Encode4(23486),
9175 /* 23157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9176 /* 23161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 782*/ GIMT_Encode4(23221), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26326 //
9177 /* 23168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9178 /* 23172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9179 /* 23176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9180 /* 23179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9181 /* 23183 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
9182 /* 23187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9183 /* 23191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9184 /* 23193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9185 /* 23200 */ // (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)
9186 /* 23200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
9187 /* 23203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9188 /* 23205 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9189 /* 23207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9190 /* 23211 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9191 /* 23214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9192 /* 23219 */ GIR_RootConstrainSelectedInstOperands,
9193 /* 23220 */ // GIR_Coverage, 26326,
9194 /* 23220 */ GIR_EraseRootFromParent_Done,
9195 /* 23221 */ // Label 782: @23221
9196 /* 23221 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 783*/ GIMT_Encode4(23281), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23082 //
9197 /* 23228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9198 /* 23232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9199 /* 23236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9200 /* 23240 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9201 /* 23243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9202 /* 23247 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
9203 /* 23251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9204 /* 23253 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9205 /* 23260 */ // (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)
9206 /* 23260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
9207 /* 23263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9208 /* 23265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9209 /* 23267 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9210 /* 23271 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9211 /* 23274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9212 /* 23279 */ GIR_RootConstrainSelectedInstOperands,
9213 /* 23280 */ // GIR_Coverage, 23082,
9214 /* 23280 */ GIR_EraseRootFromParent_Done,
9215 /* 23281 */ // Label 783: @23281
9216 /* 23281 */ GIM_Try, /*On fail goto*//*Label 784*/ GIMT_Encode4(23383), // Rule ID 26301 //
9217 /* 23286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9218 /* 23290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9219 /* 23294 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
9220 /* 23298 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9221 /* 23302 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9222 /* 23306 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9223 /* 23311 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9224 /* 23315 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9225 /* 23317 */ // (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] }))
9226 /* 23317 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
9227 /* 23320 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9228 /* 23324 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9229 /* 23329 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9230 /* 23331 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
9231 /* 23334 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9232 /* 23338 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9233 /* 23343 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9234 /* 23346 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9235 /* 23350 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9236 /* 23353 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
9237 /* 23358 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
9238 /* 23363 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9239 /* 23368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
9240 /* 23371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9241 /* 23373 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9242 /* 23375 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9243 /* 23378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9244 /* 23381 */ GIR_RootConstrainSelectedInstOperands,
9245 /* 23382 */ // GIR_Coverage, 26301,
9246 /* 23382 */ GIR_EraseRootFromParent_Done,
9247 /* 23383 */ // Label 784: @23383
9248 /* 23383 */ GIM_Try, /*On fail goto*//*Label 785*/ GIMT_Encode4(23485), // Rule ID 23022 //
9249 /* 23388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9250 /* 23392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9251 /* 23396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9252 /* 23400 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
9253 /* 23404 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9254 /* 23408 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9255 /* 23412 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9256 /* 23417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9257 /* 23419 */ // (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] }))
9258 /* 23419 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
9259 /* 23422 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9260 /* 23426 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9261 /* 23431 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9262 /* 23433 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
9263 /* 23436 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9264 /* 23440 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9265 /* 23445 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9266 /* 23448 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9267 /* 23452 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9268 /* 23455 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
9269 /* 23460 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
9270 /* 23465 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9271 /* 23470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
9272 /* 23473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9273 /* 23475 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9274 /* 23477 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9275 /* 23480 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9276 /* 23483 */ GIR_RootConstrainSelectedInstOperands,
9277 /* 23484 */ // GIR_Coverage, 23022,
9278 /* 23484 */ GIR_EraseRootFromParent_Done,
9279 /* 23485 */ // Label 785: @23485
9280 /* 23485 */ GIM_Reject,
9281 /* 23486 */ // Label 781: @23486
9282 /* 23486 */ GIM_Try, /*On fail goto*//*Label 786*/ GIMT_Encode4(23582),
9283 /* 23491 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9284 /* 23495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9285 /* 23499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9286 /* 23503 */ GIM_Try, /*On fail goto*//*Label 787*/ GIMT_Encode4(23551),
9287 /* 23508 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9288 /* 23512 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 788*/ GIMT_Encode4(23531), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23118 //
9289 /* 23519 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] })<<P:Predicate_or_disjoint>> => (INC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
9290 /* 23519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r),
9291 /* 23522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9292 /* 23524 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9293 /* 23526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9294 /* 23529 */ GIR_RootConstrainSelectedInstOperands,
9295 /* 23530 */ // GIR_Coverage, 23118,
9296 /* 23530 */ GIR_EraseRootFromParent_Done,
9297 /* 23531 */ // Label 788: @23531
9298 /* 23531 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 789*/ GIMT_Encode4(23550), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23208 //
9299 /* 23538 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] })<<P:Predicate_or_disjoint>> => (INC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
9300 /* 23538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r_ND),
9301 /* 23541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9302 /* 23543 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9303 /* 23545 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9304 /* 23548 */ GIR_RootConstrainSelectedInstOperands,
9305 /* 23549 */ // GIR_Coverage, 23208,
9306 /* 23549 */ GIR_EraseRootFromParent_Done,
9307 /* 23550 */ // Label 789: @23550
9308 /* 23550 */ GIM_Reject,
9309 /* 23551 */ // Label 787: @23551
9310 /* 23551 */ GIM_Try, /*On fail goto*//*Label 790*/ GIMT_Encode4(23581), // Rule ID 17346 //
9311 /* 23556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9312 /* 23560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9313 /* 23564 */ // MIs[1] Operand 1
9314 /* 23564 */ // No operand predicates
9315 /* 23564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9316 /* 23566 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)<<P:Predicate_or_disjoint>> => (ADD16ri_DB:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9317 /* 23566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri_DB),
9318 /* 23569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9319 /* 23571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9320 /* 23573 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9321 /* 23576 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9322 /* 23579 */ GIR_RootConstrainSelectedInstOperands,
9323 /* 23580 */ // GIR_Coverage, 17346,
9324 /* 23580 */ GIR_EraseRootFromParent_Done,
9325 /* 23581 */ // Label 790: @23581
9326 /* 23581 */ GIM_Reject,
9327 /* 23582 */ // Label 786: @23582
9328 /* 23582 */ GIM_Try, /*On fail goto*//*Label 791*/ GIMT_Encode4(23660),
9329 /* 23587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9330 /* 23591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9331 /* 23595 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 792*/ GIMT_Encode4(23627), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23086 //
9332 /* 23602 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9333 /* 23606 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9334 /* 23610 */ // MIs[1] Operand 1
9335 /* 23610 */ // No operand predicates
9336 /* 23610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9337 /* 23612 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9338 /* 23612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri),
9339 /* 23615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9340 /* 23617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9341 /* 23619 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9342 /* 23622 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9343 /* 23625 */ GIR_RootConstrainSelectedInstOperands,
9344 /* 23626 */ // GIR_Coverage, 23086,
9345 /* 23626 */ GIR_EraseRootFromParent_Done,
9346 /* 23627 */ // Label 792: @23627
9347 /* 23627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 793*/ GIMT_Encode4(23659), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23176 //
9348 /* 23634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9349 /* 23638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9350 /* 23642 */ // MIs[1] Operand 1
9351 /* 23642 */ // No operand predicates
9352 /* 23642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9353 /* 23644 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9354 /* 23644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri_ND),
9355 /* 23647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9356 /* 23649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9357 /* 23651 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9358 /* 23654 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9359 /* 23657 */ GIR_RootConstrainSelectedInstOperands,
9360 /* 23658 */ // GIR_Coverage, 23176,
9361 /* 23658 */ GIR_EraseRootFromParent_Done,
9362 /* 23659 */ // Label 793: @23659
9363 /* 23659 */ GIM_Reject,
9364 /* 23660 */ // Label 791: @23660
9365 /* 23660 */ GIM_Try, /*On fail goto*//*Label 794*/ GIMT_Encode4(23694), // Rule ID 17342 //
9366 /* 23665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9367 /* 23669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9368 /* 23673 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9369 /* 23677 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9370 /* 23681 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)<<P:Predicate_or_disjoint>> => (ADD16rr_DB:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9371 /* 23681 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr_DB),
9372 /* 23686 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9373 /* 23692 */ GIR_RootConstrainSelectedInstOperands,
9374 /* 23693 */ // GIR_Coverage, 17342,
9375 /* 23693 */ GIR_Done,
9376 /* 23694 */ // Label 794: @23694
9377 /* 23694 */ GIM_Try, /*On fail goto*//*Label 795*/ GIMT_Encode4(23752),
9378 /* 23699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9379 /* 23703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9380 /* 23707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9381 /* 23711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 796*/ GIMT_Encode4(23731), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23078 //
9382 /* 23718 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9383 /* 23718 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr),
9384 /* 23723 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9385 /* 23729 */ GIR_RootConstrainSelectedInstOperands,
9386 /* 23730 */ // GIR_Coverage, 23078,
9387 /* 23730 */ GIR_Done,
9388 /* 23731 */ // Label 796: @23731
9389 /* 23731 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 797*/ GIMT_Encode4(23751), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23168 //
9390 /* 23738 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9391 /* 23738 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr_ND),
9392 /* 23743 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9393 /* 23749 */ GIR_RootConstrainSelectedInstOperands,
9394 /* 23750 */ // GIR_Coverage, 23168,
9395 /* 23750 */ GIR_Done,
9396 /* 23751 */ // Label 797: @23751
9397 /* 23751 */ GIM_Reject,
9398 /* 23752 */ // Label 795: @23752
9399 /* 23752 */ GIM_Reject,
9400 /* 23753 */ // Label 780: @23753
9401 /* 23753 */ GIM_Reject,
9402 /* 23754 */ // Label 742: @23754
9403 /* 23754 */ GIM_Try, /*On fail goto*//*Label 798*/ GIMT_Encode4(25123),
9404 /* 23759 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
9405 /* 23762 */ GIM_Try, /*On fail goto*//*Label 799*/ GIMT_Encode4(24033),
9406 /* 23767 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9407 /* 23770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9408 /* 23774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 800*/ GIMT_Encode4(23834), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26327 //
9409 /* 23781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9410 /* 23785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9411 /* 23789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9412 /* 23792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9413 /* 23796 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
9414 /* 23800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9415 /* 23804 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9416 /* 23806 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9417 /* 23813 */ // (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)
9418 /* 23813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
9419 /* 23816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9420 /* 23818 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9421 /* 23820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9422 /* 23824 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9423 /* 23827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9424 /* 23832 */ GIR_RootConstrainSelectedInstOperands,
9425 /* 23833 */ // GIR_Coverage, 26327,
9426 /* 23833 */ GIR_EraseRootFromParent_Done,
9427 /* 23834 */ // Label 800: @23834
9428 /* 23834 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 801*/ GIMT_Encode4(23894), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23083 //
9429 /* 23841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9430 /* 23845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9431 /* 23849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9432 /* 23853 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9433 /* 23856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9434 /* 23860 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
9435 /* 23864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9436 /* 23866 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9437 /* 23873 */ // (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)
9438 /* 23873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
9439 /* 23876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9440 /* 23878 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9441 /* 23880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9442 /* 23884 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9443 /* 23887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9444 /* 23892 */ GIR_RootConstrainSelectedInstOperands,
9445 /* 23893 */ // GIR_Coverage, 23083,
9446 /* 23893 */ GIR_EraseRootFromParent_Done,
9447 /* 23894 */ // Label 801: @23894
9448 /* 23894 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 802*/ GIMT_Encode4(23963), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25263 //
9449 /* 23901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9450 /* 23905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9451 /* 23909 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9452 /* 23913 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9453 /* 23917 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9454 /* 23922 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9455 /* 23926 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9456 /* 23930 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9457 /* 23934 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9458 /* 23938 */ // MIs[2] src
9459 /* 23938 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9460 /* 23943 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9461 /* 23947 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9462 /* 23949 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9463 /* 23949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
9464 /* 23952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9465 /* 23954 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9466 /* 23958 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9467 /* 23961 */ GIR_RootConstrainSelectedInstOperands,
9468 /* 23962 */ // GIR_Coverage, 25263,
9469 /* 23962 */ GIR_EraseRootFromParent_Done,
9470 /* 23963 */ // Label 802: @23963
9471 /* 23963 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 803*/ GIMT_Encode4(24032), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25265 //
9472 /* 23970 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9473 /* 23974 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9474 /* 23978 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9475 /* 23982 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9476 /* 23986 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9477 /* 23991 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9478 /* 23995 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9479 /* 23999 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9480 /* 24003 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9481 /* 24007 */ // MIs[2] src
9482 /* 24007 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9483 /* 24012 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9484 /* 24016 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9485 /* 24018 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9486 /* 24018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
9487 /* 24021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9488 /* 24023 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9489 /* 24027 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9490 /* 24030 */ GIR_RootConstrainSelectedInstOperands,
9491 /* 24031 */ // GIR_Coverage, 25265,
9492 /* 24031 */ GIR_EraseRootFromParent_Done,
9493 /* 24032 */ // Label 803: @24032
9494 /* 24032 */ GIM_Reject,
9495 /* 24033 */ // Label 799: @24033
9496 /* 24033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 804*/ GIMT_Encode4(24110), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25249 //
9497 /* 24040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9498 /* 24044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9499 /* 24048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9500 /* 24052 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9501 /* 24056 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9502 /* 24060 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
9503 /* 24064 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9504 /* 24068 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
9505 /* 24072 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9506 /* 24076 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9507 /* 24081 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9508 /* 24085 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9509 /* 24089 */ // MIs[0] src
9510 /* 24089 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
9511 /* 24094 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9512 /* 24096 */ // (or:{ *:[i32] } (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9513 /* 24096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9514 /* 24099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9515 /* 24101 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
9516 /* 24105 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9517 /* 24108 */ GIR_RootConstrainSelectedInstOperands,
9518 /* 24109 */ // GIR_Coverage, 25249,
9519 /* 24109 */ GIR_EraseRootFromParent_Done,
9520 /* 24110 */ // Label 804: @24110
9521 /* 24110 */ GIM_Try, /*On fail goto*//*Label 805*/ GIMT_Encode4(24327),
9522 /* 24115 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9523 /* 24118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9524 /* 24122 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 806*/ GIMT_Encode4(24191), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17407 //
9525 /* 24129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9526 /* 24133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9527 /* 24137 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9528 /* 24141 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9529 /* 24145 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9530 /* 24150 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9531 /* 24154 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9532 /* 24158 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9533 /* 24162 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9534 /* 24166 */ // MIs[2] src
9535 /* 24166 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9536 /* 24171 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9537 /* 24175 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9538 /* 24177 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9539 /* 24177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
9540 /* 24180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9541 /* 24182 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9542 /* 24186 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9543 /* 24189 */ GIR_RootConstrainSelectedInstOperands,
9544 /* 24190 */ // GIR_Coverage, 17407,
9545 /* 24190 */ GIR_EraseRootFromParent_Done,
9546 /* 24191 */ // Label 806: @24191
9547 /* 24191 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 807*/ GIMT_Encode4(24260), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17409 //
9548 /* 24198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9549 /* 24202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9550 /* 24206 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9551 /* 24210 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9552 /* 24214 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9553 /* 24219 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9554 /* 24223 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9555 /* 24227 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9556 /* 24231 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9557 /* 24235 */ // MIs[2] src
9558 /* 24235 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9559 /* 24240 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9560 /* 24244 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9561 /* 24246 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9562 /* 24246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
9563 /* 24249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9564 /* 24251 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9565 /* 24255 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9566 /* 24258 */ GIR_RootConstrainSelectedInstOperands,
9567 /* 24259 */ // GIR_Coverage, 17409,
9568 /* 24259 */ GIR_EraseRootFromParent_Done,
9569 /* 24260 */ // Label 807: @24260
9570 /* 24260 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 808*/ GIMT_Encode4(24326), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17393 //
9571 /* 24267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9572 /* 24271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9573 /* 24275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9574 /* 24279 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9575 /* 24283 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9576 /* 24287 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
9577 /* 24291 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9578 /* 24295 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9579 /* 24299 */ // MIs[2] src
9580 /* 24299 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9581 /* 24304 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9582 /* 24308 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9583 /* 24312 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9584 /* 24314 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] })) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9585 /* 24314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9586 /* 24317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9587 /* 24319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9588 /* 24321 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9589 /* 24324 */ GIR_RootConstrainSelectedInstOperands,
9590 /* 24325 */ // GIR_Coverage, 17393,
9591 /* 24325 */ GIR_EraseRootFromParent_Done,
9592 /* 24326 */ // Label 808: @24326
9593 /* 24326 */ GIM_Reject,
9594 /* 24327 */ // Label 805: @24327
9595 /* 24327 */ GIM_Try, /*On fail goto*//*Label 809*/ GIMT_Encode4(24443),
9596 /* 24332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9597 /* 24336 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 810*/ GIMT_Encode4(24389), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25257 //
9598 /* 24343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9599 /* 24347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9600 /* 24351 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9601 /* 24355 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9602 /* 24359 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9603 /* 24364 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9604 /* 24368 */ // MIs[0] src
9605 /* 24368 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
9606 /* 24373 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9607 /* 24375 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9608 /* 24375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
9609 /* 24378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9610 /* 24380 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9611 /* 24384 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9612 /* 24387 */ GIR_RootConstrainSelectedInstOperands,
9613 /* 24388 */ // GIR_Coverage, 25257,
9614 /* 24388 */ GIR_EraseRootFromParent_Done,
9615 /* 24389 */ // Label 810: @24389
9616 /* 24389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 811*/ GIMT_Encode4(24442), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25259 //
9617 /* 24396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9618 /* 24400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9619 /* 24404 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9620 /* 24408 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9621 /* 24412 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9622 /* 24417 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9623 /* 24421 */ // MIs[0] src
9624 /* 24421 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
9625 /* 24426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9626 /* 24428 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9627 /* 24428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
9628 /* 24431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9629 /* 24433 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9630 /* 24437 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9631 /* 24440 */ GIR_RootConstrainSelectedInstOperands,
9632 /* 24441 */ // GIR_Coverage, 25259,
9633 /* 24441 */ GIR_EraseRootFromParent_Done,
9634 /* 24442 */ // Label 811: @24442
9635 /* 24442 */ GIM_Reject,
9636 /* 24443 */ // Label 809: @24443
9637 /* 24443 */ GIM_Try, /*On fail goto*//*Label 812*/ GIMT_Encode4(24552), // Rule ID 26307 //
9638 /* 24448 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9639 /* 24451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9640 /* 24455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9641 /* 24459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9642 /* 24463 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9643 /* 24467 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9644 /* 24471 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9645 /* 24475 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9646 /* 24480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9647 /* 24484 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9648 /* 24486 */ // (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] }))
9649 /* 24486 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
9650 /* 24489 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9651 /* 24493 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9652 /* 24498 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9653 /* 24500 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
9654 /* 24503 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9655 /* 24507 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9656 /* 24512 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9657 /* 24515 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9658 /* 24519 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9659 /* 24522 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9660 /* 24527 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9661 /* 24532 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9662 /* 24537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
9663 /* 24540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9664 /* 24542 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9665 /* 24544 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9666 /* 24547 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9667 /* 24550 */ GIR_RootConstrainSelectedInstOperands,
9668 /* 24551 */ // GIR_Coverage, 26307,
9669 /* 24551 */ GIR_EraseRootFromParent_Done,
9670 /* 24552 */ // Label 812: @24552
9671 /* 24552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 813*/ GIMT_Encode4(24609), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25251 //
9672 /* 24559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9673 /* 24563 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9674 /* 24567 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
9675 /* 24571 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9676 /* 24575 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9677 /* 24579 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
9678 /* 24583 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9679 /* 24588 */ // MIs[0] src
9680 /* 24588 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
9681 /* 24593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9682 /* 24595 */ // (or:{ *:[i32] } (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9683 /* 24595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9684 /* 24598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9685 /* 24600 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
9686 /* 24604 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9687 /* 24607 */ GIR_RootConstrainSelectedInstOperands,
9688 /* 24608 */ // GIR_Coverage, 25251,
9689 /* 24608 */ GIR_EraseRootFromParent_Done,
9690 /* 24609 */ // Label 813: @24609
9691 /* 24609 */ GIM_Try, /*On fail goto*//*Label 814*/ GIMT_Encode4(25122),
9692 /* 24614 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9693 /* 24617 */ GIM_Try, /*On fail goto*//*Label 815*/ GIMT_Encode4(24855),
9694 /* 24622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9695 /* 24626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9696 /* 24630 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 816*/ GIMT_Encode4(24672), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17401 //
9697 /* 24637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9698 /* 24641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9699 /* 24645 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9700 /* 24649 */ // MIs[1] src
9701 /* 24649 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9702 /* 24654 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9703 /* 24658 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9704 /* 24660 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9705 /* 24660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
9706 /* 24663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9707 /* 24665 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9708 /* 24667 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9709 /* 24670 */ GIR_RootConstrainSelectedInstOperands,
9710 /* 24671 */ // GIR_Coverage, 17401,
9711 /* 24671 */ GIR_EraseRootFromParent_Done,
9712 /* 24672 */ // Label 816: @24672
9713 /* 24672 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 817*/ GIMT_Encode4(24714), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17403 //
9714 /* 24679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9715 /* 24683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9716 /* 24687 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9717 /* 24691 */ // MIs[1] src
9718 /* 24691 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9719 /* 24696 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9720 /* 24700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9721 /* 24702 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9722 /* 24702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
9723 /* 24705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9724 /* 24707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9725 /* 24709 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9726 /* 24712 */ GIR_RootConstrainSelectedInstOperands,
9727 /* 24713 */ // GIR_Coverage, 17403,
9728 /* 24713 */ GIR_EraseRootFromParent_Done,
9729 /* 24714 */ // Label 817: @24714
9730 /* 24714 */ GIM_Try, /*On fail goto*//*Label 818*/ GIMT_Encode4(24812), // Rule ID 23028 //
9731 /* 24719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9732 /* 24723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9733 /* 24727 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9734 /* 24731 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9735 /* 24735 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9736 /* 24739 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9737 /* 24744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9738 /* 24746 */ // (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] }))
9739 /* 24746 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
9740 /* 24749 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9741 /* 24753 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9742 /* 24758 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9743 /* 24760 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
9744 /* 24763 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9745 /* 24767 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9746 /* 24772 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9747 /* 24775 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9748 /* 24779 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9749 /* 24782 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9750 /* 24787 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9751 /* 24792 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9752 /* 24797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
9753 /* 24800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9754 /* 24802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9755 /* 24804 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9756 /* 24807 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9757 /* 24810 */ GIR_RootConstrainSelectedInstOperands,
9758 /* 24811 */ // GIR_Coverage, 23028,
9759 /* 24811 */ GIR_EraseRootFromParent_Done,
9760 /* 24812 */ // Label 818: @24812
9761 /* 24812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 819*/ GIMT_Encode4(24854), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17395 //
9762 /* 24819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9763 /* 24823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
9764 /* 24827 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9765 /* 24831 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
9766 /* 24835 */ // MIs[1] src
9767 /* 24835 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
9768 /* 24840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9769 /* 24842 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src)) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9770 /* 24842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9771 /* 24845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9772 /* 24847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9773 /* 24849 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9774 /* 24852 */ GIR_RootConstrainSelectedInstOperands,
9775 /* 24853 */ // GIR_Coverage, 17395,
9776 /* 24853 */ GIR_EraseRootFromParent_Done,
9777 /* 24854 */ // Label 819: @24854
9778 /* 24854 */ GIM_Reject,
9779 /* 24855 */ // Label 815: @24855
9780 /* 24855 */ GIM_Try, /*On fail goto*//*Label 820*/ GIMT_Encode4(24951),
9781 /* 24860 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9782 /* 24864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9783 /* 24868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9784 /* 24872 */ GIM_Try, /*On fail goto*//*Label 821*/ GIMT_Encode4(24920),
9785 /* 24877 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9786 /* 24881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 822*/ GIMT_Encode4(24900), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23120 //
9787 /* 24888 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })<<P:Predicate_or_disjoint>> => (INC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9788 /* 24888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r),
9789 /* 24891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9790 /* 24893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9791 /* 24895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9792 /* 24898 */ GIR_RootConstrainSelectedInstOperands,
9793 /* 24899 */ // GIR_Coverage, 23120,
9794 /* 24899 */ GIR_EraseRootFromParent_Done,
9795 /* 24900 */ // Label 822: @24900
9796 /* 24900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 823*/ GIMT_Encode4(24919), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23210 //
9797 /* 24907 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })<<P:Predicate_or_disjoint>> => (INC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9798 /* 24907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r_ND),
9799 /* 24910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9800 /* 24912 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9801 /* 24914 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9802 /* 24917 */ GIR_RootConstrainSelectedInstOperands,
9803 /* 24918 */ // GIR_Coverage, 23210,
9804 /* 24918 */ GIR_EraseRootFromParent_Done,
9805 /* 24919 */ // Label 823: @24919
9806 /* 24919 */ GIM_Reject,
9807 /* 24920 */ // Label 821: @24920
9808 /* 24920 */ GIM_Try, /*On fail goto*//*Label 824*/ GIMT_Encode4(24950), // Rule ID 17347 //
9809 /* 24925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9810 /* 24929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9811 /* 24933 */ // MIs[1] Operand 1
9812 /* 24933 */ // No operand predicates
9813 /* 24933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9814 /* 24935 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)<<P:Predicate_or_disjoint>> => (ADD32ri_DB:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
9815 /* 24935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri_DB),
9816 /* 24938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9817 /* 24940 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9818 /* 24942 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9819 /* 24945 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9820 /* 24948 */ GIR_RootConstrainSelectedInstOperands,
9821 /* 24949 */ // GIR_Coverage, 17347,
9822 /* 24949 */ GIR_EraseRootFromParent_Done,
9823 /* 24950 */ // Label 824: @24950
9824 /* 24950 */ GIM_Reject,
9825 /* 24951 */ // Label 820: @24951
9826 /* 24951 */ GIM_Try, /*On fail goto*//*Label 825*/ GIMT_Encode4(25029),
9827 /* 24956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9828 /* 24960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9829 /* 24964 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 826*/ GIMT_Encode4(24996), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23087 //
9830 /* 24971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9831 /* 24975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9832 /* 24979 */ // MIs[1] Operand 1
9833 /* 24979 */ // No operand predicates
9834 /* 24979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9835 /* 24981 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
9836 /* 24981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri),
9837 /* 24984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9838 /* 24986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9839 /* 24988 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9840 /* 24991 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9841 /* 24994 */ GIR_RootConstrainSelectedInstOperands,
9842 /* 24995 */ // GIR_Coverage, 23087,
9843 /* 24995 */ GIR_EraseRootFromParent_Done,
9844 /* 24996 */ // Label 826: @24996
9845 /* 24996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 827*/ GIMT_Encode4(25028), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23177 //
9846 /* 25003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9847 /* 25007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9848 /* 25011 */ // MIs[1] Operand 1
9849 /* 25011 */ // No operand predicates
9850 /* 25011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9851 /* 25013 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
9852 /* 25013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri_ND),
9853 /* 25016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9854 /* 25018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9855 /* 25020 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9856 /* 25023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9857 /* 25026 */ GIR_RootConstrainSelectedInstOperands,
9858 /* 25027 */ // GIR_Coverage, 23177,
9859 /* 25027 */ GIR_EraseRootFromParent_Done,
9860 /* 25028 */ // Label 827: @25028
9861 /* 25028 */ GIM_Reject,
9862 /* 25029 */ // Label 825: @25029
9863 /* 25029 */ GIM_Try, /*On fail goto*//*Label 828*/ GIMT_Encode4(25063), // Rule ID 17343 //
9864 /* 25034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9865 /* 25038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9866 /* 25042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9867 /* 25046 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9868 /* 25050 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)<<P:Predicate_or_disjoint>> => (ADD32rr_DB:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
9869 /* 25050 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr_DB),
9870 /* 25055 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9871 /* 25061 */ GIR_RootConstrainSelectedInstOperands,
9872 /* 25062 */ // GIR_Coverage, 17343,
9873 /* 25062 */ GIR_Done,
9874 /* 25063 */ // Label 828: @25063
9875 /* 25063 */ GIM_Try, /*On fail goto*//*Label 829*/ GIMT_Encode4(25121),
9876 /* 25068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9877 /* 25072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9878 /* 25076 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9879 /* 25080 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 830*/ GIMT_Encode4(25100), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23079 //
9880 /* 25087 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
9881 /* 25087 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr),
9882 /* 25092 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9883 /* 25098 */ GIR_RootConstrainSelectedInstOperands,
9884 /* 25099 */ // GIR_Coverage, 23079,
9885 /* 25099 */ GIR_Done,
9886 /* 25100 */ // Label 830: @25100
9887 /* 25100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 831*/ GIMT_Encode4(25120), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23169 //
9888 /* 25107 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
9889 /* 25107 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr_ND),
9890 /* 25112 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9891 /* 25118 */ GIR_RootConstrainSelectedInstOperands,
9892 /* 25119 */ // GIR_Coverage, 23169,
9893 /* 25119 */ GIR_Done,
9894 /* 25120 */ // Label 831: @25120
9895 /* 25120 */ GIM_Reject,
9896 /* 25121 */ // Label 829: @25121
9897 /* 25121 */ GIM_Reject,
9898 /* 25122 */ // Label 814: @25122
9899 /* 25122 */ GIM_Reject,
9900 /* 25123 */ // Label 798: @25123
9901 /* 25123 */ GIM_Reject,
9902 /* 25124 */ // Label 743: @25124
9903 /* 25124 */ GIM_Try, /*On fail goto*//*Label 832*/ GIMT_Encode4(26505),
9904 /* 25129 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
9905 /* 25132 */ GIM_Try, /*On fail goto*//*Label 833*/ GIMT_Encode4(25403),
9906 /* 25137 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
9907 /* 25140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9908 /* 25144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 834*/ GIMT_Encode4(25204), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26328 //
9909 /* 25151 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9910 /* 25155 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9911 /* 25159 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9912 /* 25162 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9913 /* 25166 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9914 /* 25170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9915 /* 25174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9916 /* 25176 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9917 /* 25183 */ // (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)
9918 /* 25183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
9919 /* 25186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9920 /* 25188 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9921 /* 25190 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9922 /* 25194 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9923 /* 25197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9924 /* 25202 */ GIR_RootConstrainSelectedInstOperands,
9925 /* 25203 */ // GIR_Coverage, 26328,
9926 /* 25203 */ GIR_EraseRootFromParent_Done,
9927 /* 25204 */ // Label 834: @25204
9928 /* 25204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 835*/ GIMT_Encode4(25264), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23084 //
9929 /* 25211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9930 /* 25215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9931 /* 25219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9932 /* 25223 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9933 /* 25226 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9934 /* 25230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9935 /* 25234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9936 /* 25236 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9937 /* 25243 */ // (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)
9938 /* 25243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
9939 /* 25246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9940 /* 25248 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9941 /* 25250 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9942 /* 25254 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9943 /* 25257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9944 /* 25262 */ GIR_RootConstrainSelectedInstOperands,
9945 /* 25263 */ // GIR_Coverage, 23084,
9946 /* 25263 */ GIR_EraseRootFromParent_Done,
9947 /* 25264 */ // Label 835: @25264
9948 /* 25264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 836*/ GIMT_Encode4(25333), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25264 //
9949 /* 25271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9950 /* 25275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9951 /* 25279 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
9952 /* 25283 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
9953 /* 25287 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9954 /* 25292 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9955 /* 25296 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9956 /* 25300 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9957 /* 25304 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
9958 /* 25308 */ // MIs[2] src
9959 /* 25308 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9960 /* 25313 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9961 /* 25317 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9962 /* 25319 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
9963 /* 25319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
9964 /* 25322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9965 /* 25324 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9966 /* 25328 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9967 /* 25331 */ GIR_RootConstrainSelectedInstOperands,
9968 /* 25332 */ // GIR_Coverage, 25264,
9969 /* 25332 */ GIR_EraseRootFromParent_Done,
9970 /* 25333 */ // Label 836: @25333
9971 /* 25333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 837*/ GIMT_Encode4(25402), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25266 //
9972 /* 25340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9973 /* 25344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9974 /* 25348 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
9975 /* 25352 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
9976 /* 25356 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9977 /* 25361 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9978 /* 25365 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9979 /* 25369 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9980 /* 25373 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
9981 /* 25377 */ // MIs[2] src
9982 /* 25377 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9983 /* 25382 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9984 /* 25386 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9985 /* 25388 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
9986 /* 25388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
9987 /* 25391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9988 /* 25393 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9989 /* 25397 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9990 /* 25400 */ GIR_RootConstrainSelectedInstOperands,
9991 /* 25401 */ // GIR_Coverage, 25266,
9992 /* 25401 */ GIR_EraseRootFromParent_Done,
9993 /* 25402 */ // Label 837: @25402
9994 /* 25402 */ GIM_Reject,
9995 /* 25403 */ // Label 833: @25403
9996 /* 25403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 838*/ GIMT_Encode4(25480), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25250 //
9997 /* 25410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9998 /* 25414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9999 /* 25418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10000 /* 25422 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10001 /* 25426 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10002 /* 25430 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10003 /* 25434 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10004 /* 25438 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
10005 /* 25442 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10006 /* 25446 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10007 /* 25451 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10008 /* 25455 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10009 /* 25459 */ // MIs[0] src
10010 /* 25459 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
10011 /* 25464 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10012 /* 25466 */ // (or:{ *:[i64] } (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10013 /* 25466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10014 /* 25469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10015 /* 25471 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
10016 /* 25475 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10017 /* 25478 */ GIR_RootConstrainSelectedInstOperands,
10018 /* 25479 */ // GIR_Coverage, 25250,
10019 /* 25479 */ GIR_EraseRootFromParent_Done,
10020 /* 25480 */ // Label 838: @25480
10021 /* 25480 */ GIM_Try, /*On fail goto*//*Label 839*/ GIMT_Encode4(25697),
10022 /* 25485 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10023 /* 25488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10024 /* 25492 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 840*/ GIMT_Encode4(25561), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17408 //
10025 /* 25499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10026 /* 25503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10027 /* 25507 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10028 /* 25511 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10029 /* 25515 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10030 /* 25520 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10031 /* 25524 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10032 /* 25528 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10033 /* 25532 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10034 /* 25536 */ // MIs[2] src
10035 /* 25536 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10036 /* 25541 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10037 /* 25545 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10038 /* 25547 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10039 /* 25547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
10040 /* 25550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10041 /* 25552 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10042 /* 25556 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10043 /* 25559 */ GIR_RootConstrainSelectedInstOperands,
10044 /* 25560 */ // GIR_Coverage, 17408,
10045 /* 25560 */ GIR_EraseRootFromParent_Done,
10046 /* 25561 */ // Label 840: @25561
10047 /* 25561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 841*/ GIMT_Encode4(25630), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17410 //
10048 /* 25568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10049 /* 25572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10050 /* 25576 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10051 /* 25580 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10052 /* 25584 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10053 /* 25589 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10054 /* 25593 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10055 /* 25597 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10056 /* 25601 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10057 /* 25605 */ // MIs[2] src
10058 /* 25605 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10059 /* 25610 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10060 /* 25614 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10061 /* 25616 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10062 /* 25616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
10063 /* 25619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10064 /* 25621 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10065 /* 25625 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10066 /* 25628 */ GIR_RootConstrainSelectedInstOperands,
10067 /* 25629 */ // GIR_Coverage, 17410,
10068 /* 25629 */ GIR_EraseRootFromParent_Done,
10069 /* 25630 */ // Label 841: @25630
10070 /* 25630 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 842*/ GIMT_Encode4(25696), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17394 //
10071 /* 25637 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10072 /* 25641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10073 /* 25645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10074 /* 25649 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10075 /* 25653 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10076 /* 25657 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10077 /* 25661 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10078 /* 25665 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10079 /* 25669 */ // MIs[2] src
10080 /* 25669 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10081 /* 25674 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10082 /* 25678 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10083 /* 25682 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10084 /* 25684 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] })) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10085 /* 25684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10086 /* 25687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10087 /* 25689 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10088 /* 25691 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10089 /* 25694 */ GIR_RootConstrainSelectedInstOperands,
10090 /* 25695 */ // GIR_Coverage, 17394,
10091 /* 25695 */ GIR_EraseRootFromParent_Done,
10092 /* 25696 */ // Label 842: @25696
10093 /* 25696 */ GIM_Reject,
10094 /* 25697 */ // Label 839: @25697
10095 /* 25697 */ GIM_Try, /*On fail goto*//*Label 843*/ GIMT_Encode4(25813),
10096 /* 25702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10097 /* 25706 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 844*/ GIMT_Encode4(25759), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25258 //
10098 /* 25713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10099 /* 25717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10100 /* 25721 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10101 /* 25725 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10102 /* 25729 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10103 /* 25734 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10104 /* 25738 */ // MIs[0] src
10105 /* 25738 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10106 /* 25743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10107 /* 25745 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10108 /* 25745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
10109 /* 25748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10110 /* 25750 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10111 /* 25754 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10112 /* 25757 */ GIR_RootConstrainSelectedInstOperands,
10113 /* 25758 */ // GIR_Coverage, 25258,
10114 /* 25758 */ GIR_EraseRootFromParent_Done,
10115 /* 25759 */ // Label 844: @25759
10116 /* 25759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 845*/ GIMT_Encode4(25812), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25260 //
10117 /* 25766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10118 /* 25770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10119 /* 25774 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10120 /* 25778 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10121 /* 25782 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10122 /* 25787 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10123 /* 25791 */ // MIs[0] src
10124 /* 25791 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10125 /* 25796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10126 /* 25798 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10127 /* 25798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
10128 /* 25801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10129 /* 25803 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10130 /* 25807 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10131 /* 25810 */ GIR_RootConstrainSelectedInstOperands,
10132 /* 25811 */ // GIR_Coverage, 25260,
10133 /* 25811 */ GIR_EraseRootFromParent_Done,
10134 /* 25812 */ // Label 845: @25812
10135 /* 25812 */ GIM_Reject,
10136 /* 25813 */ // Label 843: @25813
10137 /* 25813 */ GIM_Try, /*On fail goto*//*Label 846*/ GIMT_Encode4(25922), // Rule ID 26313 //
10138 /* 25818 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10139 /* 25821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10140 /* 25825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10141 /* 25829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10142 /* 25833 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10143 /* 25837 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10144 /* 25841 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10145 /* 25845 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10146 /* 25850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10147 /* 25854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10148 /* 25856 */ // (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] }))
10149 /* 25856 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
10150 /* 25859 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10151 /* 25863 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10152 /* 25868 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10153 /* 25870 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
10154 /* 25873 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10155 /* 25877 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10156 /* 25882 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10157 /* 25885 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10158 /* 25889 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10159 /* 25892 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10160 /* 25897 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10161 /* 25902 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10162 /* 25907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
10163 /* 25910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10164 /* 25912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10165 /* 25914 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10166 /* 25917 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10167 /* 25920 */ GIR_RootConstrainSelectedInstOperands,
10168 /* 25921 */ // GIR_Coverage, 26313,
10169 /* 25921 */ GIR_EraseRootFromParent_Done,
10170 /* 25922 */ // Label 846: @25922
10171 /* 25922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 847*/ GIMT_Encode4(25979), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25252 //
10172 /* 25929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10173 /* 25933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10174 /* 25937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10175 /* 25941 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10176 /* 25945 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10177 /* 25949 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10178 /* 25953 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10179 /* 25958 */ // MIs[0] src
10180 /* 25958 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
10181 /* 25963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10182 /* 25965 */ // (or:{ *:[i64] } (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10183 /* 25965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10184 /* 25968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10185 /* 25970 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
10186 /* 25974 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10187 /* 25977 */ GIR_RootConstrainSelectedInstOperands,
10188 /* 25978 */ // GIR_Coverage, 25252,
10189 /* 25978 */ GIR_EraseRootFromParent_Done,
10190 /* 25979 */ // Label 847: @25979
10191 /* 25979 */ GIM_Try, /*On fail goto*//*Label 848*/ GIMT_Encode4(26504),
10192 /* 25984 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10193 /* 25987 */ GIM_Try, /*On fail goto*//*Label 849*/ GIMT_Encode4(26225),
10194 /* 25992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10195 /* 25996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10196 /* 26000 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 850*/ GIMT_Encode4(26042), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17402 //
10197 /* 26007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10198 /* 26011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10199 /* 26015 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10200 /* 26019 */ // MIs[1] src
10201 /* 26019 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10202 /* 26024 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10203 /* 26028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10204 /* 26030 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10205 /* 26030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
10206 /* 26033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10207 /* 26035 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10208 /* 26037 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10209 /* 26040 */ GIR_RootConstrainSelectedInstOperands,
10210 /* 26041 */ // GIR_Coverage, 17402,
10211 /* 26041 */ GIR_EraseRootFromParent_Done,
10212 /* 26042 */ // Label 850: @26042
10213 /* 26042 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 851*/ GIMT_Encode4(26084), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17404 //
10214 /* 26049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10215 /* 26053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10216 /* 26057 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10217 /* 26061 */ // MIs[1] src
10218 /* 26061 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10219 /* 26066 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10220 /* 26070 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10221 /* 26072 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10222 /* 26072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
10223 /* 26075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10224 /* 26077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10225 /* 26079 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10226 /* 26082 */ GIR_RootConstrainSelectedInstOperands,
10227 /* 26083 */ // GIR_Coverage, 17404,
10228 /* 26083 */ GIR_EraseRootFromParent_Done,
10229 /* 26084 */ // Label 851: @26084
10230 /* 26084 */ GIM_Try, /*On fail goto*//*Label 852*/ GIMT_Encode4(26182), // Rule ID 23034 //
10231 /* 26089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10232 /* 26093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10233 /* 26097 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10234 /* 26101 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10235 /* 26105 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10236 /* 26109 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10237 /* 26114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10238 /* 26116 */ // (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] }))
10239 /* 26116 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
10240 /* 26119 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10241 /* 26123 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10242 /* 26128 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10243 /* 26130 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
10244 /* 26133 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10245 /* 26137 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10246 /* 26142 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10247 /* 26145 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10248 /* 26149 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10249 /* 26152 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10250 /* 26157 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10251 /* 26162 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10252 /* 26167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
10253 /* 26170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10254 /* 26172 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10255 /* 26174 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10256 /* 26177 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10257 /* 26180 */ GIR_RootConstrainSelectedInstOperands,
10258 /* 26181 */ // GIR_Coverage, 23034,
10259 /* 26181 */ GIR_EraseRootFromParent_Done,
10260 /* 26182 */ // Label 852: @26182
10261 /* 26182 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 853*/ GIMT_Encode4(26224), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17396 //
10262 /* 26189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10263 /* 26193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10264 /* 26197 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10265 /* 26201 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10266 /* 26205 */ // MIs[1] src
10267 /* 26205 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
10268 /* 26210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10269 /* 26212 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src)) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10270 /* 26212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10271 /* 26215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10272 /* 26217 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10273 /* 26219 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10274 /* 26222 */ GIR_RootConstrainSelectedInstOperands,
10275 /* 26223 */ // GIR_Coverage, 17396,
10276 /* 26223 */ GIR_EraseRootFromParent_Done,
10277 /* 26224 */ // Label 853: @26224
10278 /* 26224 */ GIM_Reject,
10279 /* 26225 */ // Label 849: @26225
10280 /* 26225 */ GIM_Try, /*On fail goto*//*Label 854*/ GIMT_Encode4(26325),
10281 /* 26230 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10282 /* 26234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10283 /* 26238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10284 /* 26242 */ GIM_Try, /*On fail goto*//*Label 855*/ GIMT_Encode4(26290),
10285 /* 26247 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
10286 /* 26251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 856*/ GIMT_Encode4(26270), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23122 //
10287 /* 26258 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })<<P:Predicate_or_disjoint>> => (INC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10288 /* 26258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r),
10289 /* 26261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10290 /* 26263 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10291 /* 26265 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10292 /* 26268 */ GIR_RootConstrainSelectedInstOperands,
10293 /* 26269 */ // GIR_Coverage, 23122,
10294 /* 26269 */ GIR_EraseRootFromParent_Done,
10295 /* 26270 */ // Label 856: @26270
10296 /* 26270 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 857*/ GIMT_Encode4(26289), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23212 //
10297 /* 26277 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })<<P:Predicate_or_disjoint>> => (INC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10298 /* 26277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r_ND),
10299 /* 26280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10300 /* 26282 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10301 /* 26284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10302 /* 26287 */ GIR_RootConstrainSelectedInstOperands,
10303 /* 26288 */ // GIR_Coverage, 23212,
10304 /* 26288 */ GIR_EraseRootFromParent_Done,
10305 /* 26289 */ // Label 857: @26289
10306 /* 26289 */ GIM_Reject,
10307 /* 26290 */ // Label 855: @26290
10308 /* 26290 */ GIM_Try, /*On fail goto*//*Label 858*/ GIMT_Encode4(26324), // Rule ID 17348 //
10309 /* 26295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10310 /* 26299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10311 /* 26303 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10312 /* 26307 */ // MIs[1] Operand 1
10313 /* 26307 */ // No operand predicates
10314 /* 26307 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10315 /* 26309 */ // (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)
10316 /* 26309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32_DB),
10317 /* 26312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10318 /* 26314 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10319 /* 26316 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10320 /* 26319 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10321 /* 26322 */ GIR_RootConstrainSelectedInstOperands,
10322 /* 26323 */ // GIR_Coverage, 17348,
10323 /* 26323 */ GIR_EraseRootFromParent_Done,
10324 /* 26324 */ // Label 858: @26324
10325 /* 26324 */ GIM_Reject,
10326 /* 26325 */ // Label 854: @26325
10327 /* 26325 */ GIM_Try, /*On fail goto*//*Label 859*/ GIMT_Encode4(26411),
10328 /* 26330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10329 /* 26334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10330 /* 26338 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 860*/ GIMT_Encode4(26374), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23088 //
10331 /* 26345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10332 /* 26349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10333 /* 26353 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10334 /* 26357 */ // MIs[1] Operand 1
10335 /* 26357 */ // No operand predicates
10336 /* 26357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10337 /* 26359 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
10338 /* 26359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32),
10339 /* 26362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10340 /* 26364 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10341 /* 26366 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10342 /* 26369 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10343 /* 26372 */ GIR_RootConstrainSelectedInstOperands,
10344 /* 26373 */ // GIR_Coverage, 23088,
10345 /* 26373 */ GIR_EraseRootFromParent_Done,
10346 /* 26374 */ // Label 860: @26374
10347 /* 26374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 861*/ GIMT_Encode4(26410), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23178 //
10348 /* 26381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10349 /* 26385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10350 /* 26389 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10351 /* 26393 */ // MIs[1] Operand 1
10352 /* 26393 */ // No operand predicates
10353 /* 26393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10354 /* 26395 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
10355 /* 26395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32_ND),
10356 /* 26398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10357 /* 26400 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10358 /* 26402 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10359 /* 26405 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10360 /* 26408 */ GIR_RootConstrainSelectedInstOperands,
10361 /* 26409 */ // GIR_Coverage, 23178,
10362 /* 26409 */ GIR_EraseRootFromParent_Done,
10363 /* 26410 */ // Label 861: @26410
10364 /* 26410 */ GIM_Reject,
10365 /* 26411 */ // Label 859: @26411
10366 /* 26411 */ GIM_Try, /*On fail goto*//*Label 862*/ GIMT_Encode4(26445), // Rule ID 17344 //
10367 /* 26416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10368 /* 26420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10369 /* 26424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10370 /* 26428 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10371 /* 26432 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)<<P:Predicate_or_disjoint>> => (ADD64rr_DB:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10372 /* 26432 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr_DB),
10373 /* 26437 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10374 /* 26443 */ GIR_RootConstrainSelectedInstOperands,
10375 /* 26444 */ // GIR_Coverage, 17344,
10376 /* 26444 */ GIR_Done,
10377 /* 26445 */ // Label 862: @26445
10378 /* 26445 */ GIM_Try, /*On fail goto*//*Label 863*/ GIMT_Encode4(26503),
10379 /* 26450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10380 /* 26454 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10381 /* 26458 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10382 /* 26462 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 864*/ GIMT_Encode4(26482), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23080 //
10383 /* 26469 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10384 /* 26469 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr),
10385 /* 26474 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10386 /* 26480 */ GIR_RootConstrainSelectedInstOperands,
10387 /* 26481 */ // GIR_Coverage, 23080,
10388 /* 26481 */ GIR_Done,
10389 /* 26482 */ // Label 864: @26482
10390 /* 26482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 865*/ GIMT_Encode4(26502), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23170 //
10391 /* 26489 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10392 /* 26489 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr_ND),
10393 /* 26494 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10394 /* 26500 */ GIR_RootConstrainSelectedInstOperands,
10395 /* 26501 */ // GIR_Coverage, 23170,
10396 /* 26501 */ GIR_Done,
10397 /* 26502 */ // Label 865: @26502
10398 /* 26502 */ GIM_Reject,
10399 /* 26503 */ // Label 863: @26503
10400 /* 26503 */ GIM_Reject,
10401 /* 26504 */ // Label 848: @26504
10402 /* 26504 */ GIM_Reject,
10403 /* 26505 */ // Label 832: @26505
10404 /* 26505 */ GIM_Reject,
10405 /* 26506 */ // Label 744: @26506
10406 /* 26506 */ GIM_Try, /*On fail goto*//*Label 866*/ GIMT_Encode4(26605), // Rule ID 19597 //
10407 /* 26511 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
10408 /* 26514 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
10409 /* 26517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10410 /* 26521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10411 /* 26525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10412 /* 26529 */ // (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] })
10413 /* 26529 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10414 /* 26532 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10415 /* 26536 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10416 /* 26541 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10417 /* 26545 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10418 /* 26550 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10419 /* 26553 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10420 /* 26557 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10421 /* 26562 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10422 /* 26566 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10423 /* 26571 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10424 /* 26574 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10425 /* 26578 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10426 /* 26583 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10427 /* 26586 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10428 /* 26589 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10429 /* 26591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10430 /* 26594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10431 /* 26596 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10432 /* 26599 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
10433 /* 26604 */ // GIR_Coverage, 19597,
10434 /* 26604 */ GIR_EraseRootFromParent_Done,
10435 /* 26605 */ // Label 866: @26605
10436 /* 26605 */ GIM_Reject,
10437 /* 26606 */ // Label 745: @26606
10438 /* 26606 */ GIM_Try, /*On fail goto*//*Label 867*/ GIMT_Encode4(26705), // Rule ID 19598 //
10439 /* 26611 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
10440 /* 26614 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
10441 /* 26617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10442 /* 26621 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10443 /* 26625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10444 /* 26629 */ // (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] })
10445 /* 26629 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10446 /* 26632 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10447 /* 26636 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10448 /* 26641 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10449 /* 26645 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10450 /* 26650 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10451 /* 26653 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10452 /* 26657 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10453 /* 26662 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10454 /* 26666 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10455 /* 26671 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10456 /* 26674 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10457 /* 26678 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10458 /* 26683 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10459 /* 26686 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10460 /* 26689 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10461 /* 26691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10462 /* 26694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10463 /* 26696 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10464 /* 26699 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
10465 /* 26704 */ // GIR_Coverage, 19598,
10466 /* 26704 */ GIR_EraseRootFromParent_Done,
10467 /* 26705 */ // Label 867: @26705
10468 /* 26705 */ GIM_Reject,
10469 /* 26706 */ // Label 746: @26706
10470 /* 26706 */ GIM_Try, /*On fail goto*//*Label 868*/ GIMT_Encode4(26827),
10471 /* 26711 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
10472 /* 26714 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
10473 /* 26717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
10474 /* 26721 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
10475 /* 26725 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
10476 /* 26729 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 869*/ GIMT_Encode4(26743), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4407 //
10477 /* 26736 */ // (or:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
10478 /* 26736 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORBkk),
10479 /* 26741 */ GIR_RootConstrainSelectedInstOperands,
10480 /* 26742 */ // GIR_Coverage, 4407,
10481 /* 26742 */ GIR_Done,
10482 /* 26743 */ // Label 869: @26743
10483 /* 26743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 870*/ GIMT_Encode4(26826), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19595 //
10484 /* 26750 */ // (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] })
10485 /* 26750 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10486 /* 26753 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10487 /* 26757 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10488 /* 26762 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10489 /* 26766 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10490 /* 26771 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10491 /* 26774 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10492 /* 26778 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10493 /* 26783 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10494 /* 26787 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10495 /* 26792 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10496 /* 26795 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10497 /* 26799 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10498 /* 26804 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10499 /* 26807 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10500 /* 26810 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10501 /* 26812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10502 /* 26815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10503 /* 26817 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10504 /* 26820 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
10505 /* 26825 */ // GIR_Coverage, 19595,
10506 /* 26825 */ GIR_EraseRootFromParent_Done,
10507 /* 26826 */ // Label 870: @26826
10508 /* 26826 */ GIM_Reject,
10509 /* 26827 */ // Label 868: @26827
10510 /* 26827 */ GIM_Reject,
10511 /* 26828 */ // Label 747: @26828
10512 /* 26828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 871*/ GIMT_Encode4(26860), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4408 //
10513 /* 26835 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
10514 /* 26838 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
10515 /* 26841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
10516 /* 26845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
10517 /* 26849 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
10518 /* 26853 */ // (or:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
10519 /* 26853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10520 /* 26858 */ GIR_RootConstrainSelectedInstOperands,
10521 /* 26859 */ // GIR_Coverage, 4408,
10522 /* 26859 */ GIR_Done,
10523 /* 26860 */ // Label 871: @26860
10524 /* 26860 */ GIM_Reject,
10525 /* 26861 */ // Label 748: @26861
10526 /* 26861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 872*/ GIMT_Encode4(26893), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4409 //
10527 /* 26868 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
10528 /* 26871 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
10529 /* 26874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
10530 /* 26878 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
10531 /* 26882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
10532 /* 26886 */ // (or:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
10533 /* 26886 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORDkk),
10534 /* 26891 */ GIR_RootConstrainSelectedInstOperands,
10535 /* 26892 */ // GIR_Coverage, 4409,
10536 /* 26892 */ GIR_Done,
10537 /* 26893 */ // Label 872: @26893
10538 /* 26893 */ GIM_Reject,
10539 /* 26894 */ // Label 749: @26894
10540 /* 26894 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 873*/ GIMT_Encode4(26926), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4410 //
10541 /* 26901 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
10542 /* 26904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
10543 /* 26907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
10544 /* 26911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
10545 /* 26915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
10546 /* 26919 */ // (or:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
10547 /* 26919 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORQkk),
10548 /* 26924 */ GIR_RootConstrainSelectedInstOperands,
10549 /* 26925 */ // GIR_Coverage, 4410,
10550 /* 26925 */ GIR_Done,
10551 /* 26926 */ // Label 873: @26926
10552 /* 26926 */ GIM_Reject,
10553 /* 26927 */ // Label 750: @26927
10554 /* 26927 */ GIM_Try, /*On fail goto*//*Label 874*/ GIMT_Encode4(27255),
10555 /* 26932 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
10556 /* 26935 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10557 /* 26938 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 875*/ GIMT_Encode4(26999), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25514 //
10558 /* 26945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10559 /* 26949 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10560 /* 26953 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10561 /* 26957 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10562 /* 26960 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10563 /* 26964 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10564 /* 26968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10565 /* 26972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10566 /* 26974 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10567 /* 26981 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10568 /* 26981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10569 /* 26984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10570 /* 26986 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10571 /* 26988 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10572 /* 26992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10573 /* 26997 */ GIR_RootConstrainSelectedInstOperands,
10574 /* 26998 */ // GIR_Coverage, 25514,
10575 /* 26998 */ GIR_EraseRootFromParent_Done,
10576 /* 26999 */ // Label 875: @26999
10577 /* 26999 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 876*/ GIMT_Encode4(27060), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25694 //
10578 /* 27006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10579 /* 27010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10580 /* 27014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10581 /* 27018 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10582 /* 27021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10583 /* 27025 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10584 /* 27029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10585 /* 27033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10586 /* 27035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10587 /* 27042 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10588 /* 27042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10589 /* 27045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10590 /* 27047 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10591 /* 27049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10592 /* 27053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10593 /* 27058 */ GIR_RootConstrainSelectedInstOperands,
10594 /* 27059 */ // GIR_Coverage, 25694,
10595 /* 27059 */ GIR_EraseRootFromParent_Done,
10596 /* 27060 */ // Label 876: @27060
10597 /* 27060 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 877*/ GIMT_Encode4(27121), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18254 //
10598 /* 27067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10599 /* 27071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10600 /* 27075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10601 /* 27079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10602 /* 27083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10603 /* 27086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10604 /* 27090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10605 /* 27094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10606 /* 27096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10607 /* 27103 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10608 /* 27103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10609 /* 27106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10610 /* 27108 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10611 /* 27110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10612 /* 27114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10613 /* 27119 */ GIR_RootConstrainSelectedInstOperands,
10614 /* 27120 */ // GIR_Coverage, 18254,
10615 /* 27120 */ GIR_EraseRootFromParent_Done,
10616 /* 27121 */ // Label 877: @27121
10617 /* 27121 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 878*/ GIMT_Encode4(27182), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20156 //
10618 /* 27128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10619 /* 27132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10620 /* 27136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10621 /* 27140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10622 /* 27144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10623 /* 27147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10624 /* 27151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10625 /* 27155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10626 /* 27157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10627 /* 27164 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10628 /* 27164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10629 /* 27167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10630 /* 27169 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10631 /* 27171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10632 /* 27175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10633 /* 27180 */ GIR_RootConstrainSelectedInstOperands,
10634 /* 27181 */ // GIR_Coverage, 20156,
10635 /* 27181 */ GIR_EraseRootFromParent_Done,
10636 /* 27182 */ // Label 878: @27182
10637 /* 27182 */ GIM_Try, /*On fail goto*//*Label 879*/ GIMT_Encode4(27228),
10638 /* 27187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10639 /* 27191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10640 /* 27195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10641 /* 27199 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 880*/ GIMT_Encode4(27213), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18242 //
10642 /* 27206 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
10643 /* 27206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
10644 /* 27211 */ GIR_RootConstrainSelectedInstOperands,
10645 /* 27212 */ // GIR_Coverage, 18242,
10646 /* 27212 */ GIR_Done,
10647 /* 27213 */ // Label 880: @27213
10648 /* 27213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 881*/ GIMT_Encode4(27227), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18266 //
10649 /* 27220 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
10650 /* 27220 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
10651 /* 27225 */ GIR_RootConstrainSelectedInstOperands,
10652 /* 27226 */ // GIR_Coverage, 18266,
10653 /* 27226 */ GIR_Done,
10654 /* 27227 */ // Label 881: @27227
10655 /* 27227 */ GIM_Reject,
10656 /* 27228 */ // Label 879: @27228
10657 /* 27228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 882*/ GIMT_Encode4(27254), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20148 //
10658 /* 27235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10659 /* 27239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10660 /* 27243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10661 /* 27247 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
10662 /* 27247 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
10663 /* 27252 */ GIR_RootConstrainSelectedInstOperands,
10664 /* 27253 */ // GIR_Coverage, 20148,
10665 /* 27253 */ GIR_Done,
10666 /* 27254 */ // Label 882: @27254
10667 /* 27254 */ GIM_Reject,
10668 /* 27255 */ // Label 874: @27255
10669 /* 27255 */ GIM_Reject,
10670 /* 27256 */ // Label 751: @27256
10671 /* 27256 */ GIM_Try, /*On fail goto*//*Label 883*/ GIMT_Encode4(27702),
10672 /* 27261 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
10673 /* 27264 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
10674 /* 27267 */ GIM_Try, /*On fail goto*//*Label 884*/ GIMT_Encode4(27387),
10675 /* 27272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10676 /* 27276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10677 /* 27280 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 885*/ GIMT_Encode4(27333), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25493 //
10678 /* 27287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10679 /* 27291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10680 /* 27295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10681 /* 27298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10682 /* 27302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10683 /* 27306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10684 /* 27308 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10685 /* 27315 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10686 /* 27315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
10687 /* 27318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10688 /* 27320 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10689 /* 27322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10690 /* 27326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10691 /* 27331 */ GIR_RootConstrainSelectedInstOperands,
10692 /* 27332 */ // GIR_Coverage, 25493,
10693 /* 27332 */ GIR_EraseRootFromParent_Done,
10694 /* 27333 */ // Label 885: @27333
10695 /* 27333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 886*/ GIMT_Encode4(27386), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25503 //
10696 /* 27340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10697 /* 27344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10698 /* 27348 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10699 /* 27351 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10700 /* 27355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10701 /* 27359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10702 /* 27361 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10703 /* 27368 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10704 /* 27368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
10705 /* 27371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10706 /* 27373 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10707 /* 27375 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10708 /* 27379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10709 /* 27384 */ GIR_RootConstrainSelectedInstOperands,
10710 /* 27385 */ // GIR_Coverage, 25503,
10711 /* 27385 */ GIR_EraseRootFromParent_Done,
10712 /* 27386 */ // Label 886: @27386
10713 /* 27386 */ GIM_Reject,
10714 /* 27387 */ // Label 884: @27387
10715 /* 27387 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 887*/ GIMT_Encode4(27448), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25700 //
10716 /* 27394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10717 /* 27398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10718 /* 27402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10719 /* 27406 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10720 /* 27409 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10721 /* 27413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10722 /* 27417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10723 /* 27421 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10724 /* 27423 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10725 /* 27430 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10726 /* 27430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
10727 /* 27433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10728 /* 27435 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10729 /* 27437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10730 /* 27441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10731 /* 27446 */ GIR_RootConstrainSelectedInstOperands,
10732 /* 27447 */ // GIR_Coverage, 25700,
10733 /* 27447 */ GIR_EraseRootFromParent_Done,
10734 /* 27448 */ // Label 887: @27448
10735 /* 27448 */ GIM_Try, /*On fail goto*//*Label 888*/ GIMT_Encode4(27568),
10736 /* 27453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10737 /* 27457 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10738 /* 27461 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 889*/ GIMT_Encode4(27514), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18198 //
10739 /* 27468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10740 /* 27472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10741 /* 27476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10742 /* 27479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10743 /* 27483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10744 /* 27487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10745 /* 27489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10746 /* 27496 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10747 /* 27496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
10748 /* 27499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10749 /* 27501 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10750 /* 27503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10751 /* 27507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10752 /* 27512 */ GIR_RootConstrainSelectedInstOperands,
10753 /* 27513 */ // GIR_Coverage, 18198,
10754 /* 27513 */ GIR_EraseRootFromParent_Done,
10755 /* 27514 */ // Label 889: @27514
10756 /* 27514 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 890*/ GIMT_Encode4(27567), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18227 //
10757 /* 27521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10758 /* 27525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10759 /* 27529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10760 /* 27532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10761 /* 27536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10762 /* 27540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10763 /* 27542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10764 /* 27549 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10765 /* 27549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
10766 /* 27552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10767 /* 27554 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10768 /* 27556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10769 /* 27560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10770 /* 27565 */ GIR_RootConstrainSelectedInstOperands,
10771 /* 27566 */ // GIR_Coverage, 18227,
10772 /* 27566 */ GIR_EraseRootFromParent_Done,
10773 /* 27567 */ // Label 890: @27567
10774 /* 27567 */ GIM_Reject,
10775 /* 27568 */ // Label 888: @27568
10776 /* 27568 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 891*/ GIMT_Encode4(27629), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20172 //
10777 /* 27575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10778 /* 27579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10779 /* 27583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10780 /* 27587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10781 /* 27591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10782 /* 27594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10783 /* 27598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10784 /* 27602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10785 /* 27604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10786 /* 27611 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10787 /* 27611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
10788 /* 27614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10789 /* 27616 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10790 /* 27618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10791 /* 27622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10792 /* 27627 */ GIR_RootConstrainSelectedInstOperands,
10793 /* 27628 */ // GIR_Coverage, 20172,
10794 /* 27628 */ GIR_EraseRootFromParent_Done,
10795 /* 27629 */ // Label 891: @27629
10796 /* 27629 */ GIM_Try, /*On fail goto*//*Label 892*/ GIMT_Encode4(27675),
10797 /* 27634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10798 /* 27638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10799 /* 27642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10800 /* 27646 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 893*/ GIMT_Encode4(27660), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18186 //
10801 /* 27653 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
10802 /* 27653 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
10803 /* 27658 */ GIR_RootConstrainSelectedInstOperands,
10804 /* 27659 */ // GIR_Coverage, 18186,
10805 /* 27659 */ GIR_Done,
10806 /* 27660 */ // Label 893: @27660
10807 /* 27660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 894*/ GIMT_Encode4(27674), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18211 //
10808 /* 27667 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
10809 /* 27667 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
10810 /* 27672 */ GIR_RootConstrainSelectedInstOperands,
10811 /* 27673 */ // GIR_Coverage, 18211,
10812 /* 27673 */ GIR_Done,
10813 /* 27674 */ // Label 894: @27674
10814 /* 27674 */ GIM_Reject,
10815 /* 27675 */ // Label 892: @27675
10816 /* 27675 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 895*/ GIMT_Encode4(27701), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20164 //
10817 /* 27682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10818 /* 27686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10819 /* 27690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10820 /* 27694 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
10821 /* 27694 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
10822 /* 27699 */ GIR_RootConstrainSelectedInstOperands,
10823 /* 27700 */ // GIR_Coverage, 20164,
10824 /* 27700 */ GIR_Done,
10825 /* 27701 */ // Label 895: @27701
10826 /* 27701 */ GIM_Reject,
10827 /* 27702 */ // Label 883: @27702
10828 /* 27702 */ GIM_Reject,
10829 /* 27703 */ // Label 752: @27703
10830 /* 27703 */ GIM_Try, /*On fail goto*//*Label 896*/ GIMT_Encode4(27857),
10831 /* 27708 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
10832 /* 27711 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
10833 /* 27714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
10834 /* 27718 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 897*/ GIMT_Encode4(27775), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25706 //
10835 /* 27725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10836 /* 27729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10837 /* 27733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10838 /* 27736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10839 /* 27740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10840 /* 27744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
10841 /* 27748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10842 /* 27750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10843 /* 27757 */ // (or:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10844 /* 27757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
10845 /* 27760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10846 /* 27762 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10847 /* 27764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10848 /* 27768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10849 /* 27773 */ GIR_RootConstrainSelectedInstOperands,
10850 /* 27774 */ // GIR_Coverage, 25706,
10851 /* 27774 */ GIR_EraseRootFromParent_Done,
10852 /* 27775 */ // Label 897: @27775
10853 /* 27775 */ GIM_Try, /*On fail goto*//*Label 898*/ GIMT_Encode4(27856),
10854 /* 27780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
10855 /* 27784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 899*/ GIMT_Encode4(27837), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20188 //
10856 /* 27791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10857 /* 27795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10858 /* 27799 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10859 /* 27802 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10860 /* 27806 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10861 /* 27810 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10862 /* 27812 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10863 /* 27819 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10864 /* 27819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
10865 /* 27822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10866 /* 27824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10867 /* 27826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10868 /* 27830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10869 /* 27835 */ GIR_RootConstrainSelectedInstOperands,
10870 /* 27836 */ // GIR_Coverage, 20188,
10871 /* 27836 */ GIR_EraseRootFromParent_Done,
10872 /* 27837 */ // Label 899: @27837
10873 /* 27837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 900*/ GIMT_Encode4(27855), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20180 //
10874 /* 27844 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
10875 /* 27848 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
10876 /* 27848 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
10877 /* 27853 */ GIR_RootConstrainSelectedInstOperands,
10878 /* 27854 */ // GIR_Coverage, 20180,
10879 /* 27854 */ GIR_Done,
10880 /* 27855 */ // Label 900: @27855
10881 /* 27855 */ GIM_Reject,
10882 /* 27856 */ // Label 898: @27856
10883 /* 27856 */ GIM_Reject,
10884 /* 27857 */ // Label 896: @27857
10885 /* 27857 */ GIM_Reject,
10886 /* 27858 */ // Label 753: @27858
10887 /* 27858 */ GIM_Try, /*On fail goto*//*Label 901*/ GIMT_Encode4(28186),
10888 /* 27863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
10889 /* 27866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10890 /* 27869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 902*/ GIMT_Encode4(27930), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25515 //
10891 /* 27876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10892 /* 27880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10893 /* 27884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10894 /* 27888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10895 /* 27891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10896 /* 27895 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10897 /* 27899 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10898 /* 27903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10899 /* 27905 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10900 /* 27912 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10901 /* 27912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10902 /* 27915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10903 /* 27917 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10904 /* 27919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10905 /* 27923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10906 /* 27928 */ GIR_RootConstrainSelectedInstOperands,
10907 /* 27929 */ // GIR_Coverage, 25515,
10908 /* 27929 */ GIR_EraseRootFromParent_Done,
10909 /* 27930 */ // Label 902: @27930
10910 /* 27930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 903*/ GIMT_Encode4(27991), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25695 //
10911 /* 27937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10912 /* 27941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10913 /* 27945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10914 /* 27949 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10915 /* 27952 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10916 /* 27956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10917 /* 27960 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10918 /* 27964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10919 /* 27966 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10920 /* 27973 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10921 /* 27973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10922 /* 27976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10923 /* 27978 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10924 /* 27980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10925 /* 27984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10926 /* 27989 */ GIR_RootConstrainSelectedInstOperands,
10927 /* 27990 */ // GIR_Coverage, 25695,
10928 /* 27990 */ GIR_EraseRootFromParent_Done,
10929 /* 27991 */ // Label 903: @27991
10930 /* 27991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 904*/ GIMT_Encode4(28052), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18255 //
10931 /* 27998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10932 /* 28002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10933 /* 28006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10934 /* 28010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10935 /* 28014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10936 /* 28017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10937 /* 28021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10938 /* 28025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10939 /* 28027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10940 /* 28034 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10941 /* 28034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10942 /* 28037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10943 /* 28039 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10944 /* 28041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10945 /* 28045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10946 /* 28050 */ GIR_RootConstrainSelectedInstOperands,
10947 /* 28051 */ // GIR_Coverage, 18255,
10948 /* 28051 */ GIR_EraseRootFromParent_Done,
10949 /* 28052 */ // Label 904: @28052
10950 /* 28052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 905*/ GIMT_Encode4(28113), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20157 //
10951 /* 28059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10952 /* 28063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10953 /* 28067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10954 /* 28071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10955 /* 28075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10956 /* 28078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10957 /* 28082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10958 /* 28086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10959 /* 28088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10960 /* 28095 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10961 /* 28095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10962 /* 28098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10963 /* 28100 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10964 /* 28102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10965 /* 28106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10966 /* 28111 */ GIR_RootConstrainSelectedInstOperands,
10967 /* 28112 */ // GIR_Coverage, 20157,
10968 /* 28112 */ GIR_EraseRootFromParent_Done,
10969 /* 28113 */ // Label 905: @28113
10970 /* 28113 */ GIM_Try, /*On fail goto*//*Label 906*/ GIMT_Encode4(28159),
10971 /* 28118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10972 /* 28122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10973 /* 28126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10974 /* 28130 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 907*/ GIMT_Encode4(28144), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18243 //
10975 /* 28137 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
10976 /* 28137 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
10977 /* 28142 */ GIR_RootConstrainSelectedInstOperands,
10978 /* 28143 */ // GIR_Coverage, 18243,
10979 /* 28143 */ GIR_Done,
10980 /* 28144 */ // Label 907: @28144
10981 /* 28144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 908*/ GIMT_Encode4(28158), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18267 //
10982 /* 28151 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
10983 /* 28151 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
10984 /* 28156 */ GIR_RootConstrainSelectedInstOperands,
10985 /* 28157 */ // GIR_Coverage, 18267,
10986 /* 28157 */ GIR_Done,
10987 /* 28158 */ // Label 908: @28158
10988 /* 28158 */ GIM_Reject,
10989 /* 28159 */ // Label 906: @28159
10990 /* 28159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 909*/ GIMT_Encode4(28185), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20149 //
10991 /* 28166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10992 /* 28170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10993 /* 28174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10994 /* 28178 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
10995 /* 28178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
10996 /* 28183 */ GIR_RootConstrainSelectedInstOperands,
10997 /* 28184 */ // GIR_Coverage, 20149,
10998 /* 28184 */ GIR_Done,
10999 /* 28185 */ // Label 909: @28185
11000 /* 28185 */ GIM_Reject,
11001 /* 28186 */ // Label 901: @28186
11002 /* 28186 */ GIM_Reject,
11003 /* 28187 */ // Label 754: @28187
11004 /* 28187 */ GIM_Try, /*On fail goto*//*Label 910*/ GIMT_Encode4(28633),
11005 /* 28192 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
11006 /* 28195 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
11007 /* 28198 */ GIM_Try, /*On fail goto*//*Label 911*/ GIMT_Encode4(28318),
11008 /* 28203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11009 /* 28207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11010 /* 28211 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 912*/ GIMT_Encode4(28264), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25494 //
11011 /* 28218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11012 /* 28222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11013 /* 28226 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11014 /* 28229 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11015 /* 28233 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11016 /* 28237 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11017 /* 28239 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11018 /* 28246 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11019 /* 28246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11020 /* 28249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11021 /* 28251 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11022 /* 28253 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11023 /* 28257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11024 /* 28262 */ GIR_RootConstrainSelectedInstOperands,
11025 /* 28263 */ // GIR_Coverage, 25494,
11026 /* 28263 */ GIR_EraseRootFromParent_Done,
11027 /* 28264 */ // Label 912: @28264
11028 /* 28264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 913*/ GIMT_Encode4(28317), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25504 //
11029 /* 28271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11030 /* 28275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11031 /* 28279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11032 /* 28282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11033 /* 28286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11034 /* 28290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11035 /* 28292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11036 /* 28299 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11037 /* 28299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11038 /* 28302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11039 /* 28304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11040 /* 28306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11041 /* 28310 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11042 /* 28315 */ GIR_RootConstrainSelectedInstOperands,
11043 /* 28316 */ // GIR_Coverage, 25504,
11044 /* 28316 */ GIR_EraseRootFromParent_Done,
11045 /* 28317 */ // Label 913: @28317
11046 /* 28317 */ GIM_Reject,
11047 /* 28318 */ // Label 911: @28318
11048 /* 28318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 914*/ GIMT_Encode4(28379), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25701 //
11049 /* 28325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11050 /* 28329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11051 /* 28333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11052 /* 28337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11053 /* 28340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11054 /* 28344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11055 /* 28348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11056 /* 28352 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11057 /* 28354 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11058 /* 28361 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11059 /* 28361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11060 /* 28364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11061 /* 28366 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11062 /* 28368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11063 /* 28372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11064 /* 28377 */ GIR_RootConstrainSelectedInstOperands,
11065 /* 28378 */ // GIR_Coverage, 25701,
11066 /* 28378 */ GIR_EraseRootFromParent_Done,
11067 /* 28379 */ // Label 914: @28379
11068 /* 28379 */ GIM_Try, /*On fail goto*//*Label 915*/ GIMT_Encode4(28499),
11069 /* 28384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11070 /* 28388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11071 /* 28392 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 916*/ GIMT_Encode4(28445), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18199 //
11072 /* 28399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11073 /* 28403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11074 /* 28407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11075 /* 28410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11076 /* 28414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11077 /* 28418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11078 /* 28420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11079 /* 28427 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11080 /* 28427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11081 /* 28430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11082 /* 28432 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11083 /* 28434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11084 /* 28438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11085 /* 28443 */ GIR_RootConstrainSelectedInstOperands,
11086 /* 28444 */ // GIR_Coverage, 18199,
11087 /* 28444 */ GIR_EraseRootFromParent_Done,
11088 /* 28445 */ // Label 916: @28445
11089 /* 28445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 917*/ GIMT_Encode4(28498), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18228 //
11090 /* 28452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11091 /* 28456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11092 /* 28460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11093 /* 28463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11094 /* 28467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11095 /* 28471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11096 /* 28473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11097 /* 28480 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11098 /* 28480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11099 /* 28483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11100 /* 28485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11101 /* 28487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11102 /* 28491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11103 /* 28496 */ GIR_RootConstrainSelectedInstOperands,
11104 /* 28497 */ // GIR_Coverage, 18228,
11105 /* 28497 */ GIR_EraseRootFromParent_Done,
11106 /* 28498 */ // Label 917: @28498
11107 /* 28498 */ GIM_Reject,
11108 /* 28499 */ // Label 915: @28499
11109 /* 28499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 918*/ GIMT_Encode4(28560), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20173 //
11110 /* 28506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11111 /* 28510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11112 /* 28514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11113 /* 28518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11114 /* 28522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11115 /* 28525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11116 /* 28529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11117 /* 28533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11118 /* 28535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11119 /* 28542 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11120 /* 28542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11121 /* 28545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11122 /* 28547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11123 /* 28549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11124 /* 28553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11125 /* 28558 */ GIR_RootConstrainSelectedInstOperands,
11126 /* 28559 */ // GIR_Coverage, 20173,
11127 /* 28559 */ GIR_EraseRootFromParent_Done,
11128 /* 28560 */ // Label 918: @28560
11129 /* 28560 */ GIM_Try, /*On fail goto*//*Label 919*/ GIMT_Encode4(28606),
11130 /* 28565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11131 /* 28569 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11132 /* 28573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11133 /* 28577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 920*/ GIMT_Encode4(28591), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18187 //
11134 /* 28584 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
11135 /* 28584 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11136 /* 28589 */ GIR_RootConstrainSelectedInstOperands,
11137 /* 28590 */ // GIR_Coverage, 18187,
11138 /* 28590 */ GIR_Done,
11139 /* 28591 */ // Label 920: @28591
11140 /* 28591 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 921*/ GIMT_Encode4(28605), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18212 //
11141 /* 28598 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
11142 /* 28598 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11143 /* 28603 */ GIR_RootConstrainSelectedInstOperands,
11144 /* 28604 */ // GIR_Coverage, 18212,
11145 /* 28604 */ GIR_Done,
11146 /* 28605 */ // Label 921: @28605
11147 /* 28605 */ GIM_Reject,
11148 /* 28606 */ // Label 919: @28606
11149 /* 28606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 922*/ GIMT_Encode4(28632), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20165 //
11150 /* 28613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11151 /* 28617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11152 /* 28621 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11153 /* 28625 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
11154 /* 28625 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11155 /* 28630 */ GIR_RootConstrainSelectedInstOperands,
11156 /* 28631 */ // GIR_Coverage, 20165,
11157 /* 28631 */ GIR_Done,
11158 /* 28632 */ // Label 922: @28632
11159 /* 28632 */ GIM_Reject,
11160 /* 28633 */ // Label 910: @28633
11161 /* 28633 */ GIM_Reject,
11162 /* 28634 */ // Label 755: @28634
11163 /* 28634 */ GIM_Try, /*On fail goto*//*Label 923*/ GIMT_Encode4(28788),
11164 /* 28639 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
11165 /* 28642 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
11166 /* 28645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11167 /* 28649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 924*/ GIMT_Encode4(28706), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25707 //
11168 /* 28656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11169 /* 28660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11170 /* 28664 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11171 /* 28667 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11172 /* 28671 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11173 /* 28675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11174 /* 28679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11175 /* 28681 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11176 /* 28688 */ // (or:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11177 /* 28688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11178 /* 28691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11179 /* 28693 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11180 /* 28695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11181 /* 28699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11182 /* 28704 */ GIR_RootConstrainSelectedInstOperands,
11183 /* 28705 */ // GIR_Coverage, 25707,
11184 /* 28705 */ GIR_EraseRootFromParent_Done,
11185 /* 28706 */ // Label 924: @28706
11186 /* 28706 */ GIM_Try, /*On fail goto*//*Label 925*/ GIMT_Encode4(28787),
11187 /* 28711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11188 /* 28715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 926*/ GIMT_Encode4(28768), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20189 //
11189 /* 28722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11190 /* 28726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11191 /* 28730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11192 /* 28733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11193 /* 28737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11194 /* 28741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11195 /* 28743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11196 /* 28750 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11197 /* 28750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11198 /* 28753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11199 /* 28755 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11200 /* 28757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11201 /* 28761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11202 /* 28766 */ GIR_RootConstrainSelectedInstOperands,
11203 /* 28767 */ // GIR_Coverage, 20189,
11204 /* 28767 */ GIR_EraseRootFromParent_Done,
11205 /* 28768 */ // Label 926: @28768
11206 /* 28768 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 927*/ GIMT_Encode4(28786), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20181 //
11207 /* 28775 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11208 /* 28779 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
11209 /* 28779 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
11210 /* 28784 */ GIR_RootConstrainSelectedInstOperands,
11211 /* 28785 */ // GIR_Coverage, 20181,
11212 /* 28785 */ GIR_Done,
11213 /* 28786 */ // Label 927: @28786
11214 /* 28786 */ GIM_Reject,
11215 /* 28787 */ // Label 925: @28787
11216 /* 28787 */ GIM_Reject,
11217 /* 28788 */ // Label 923: @28788
11218 /* 28788 */ GIM_Reject,
11219 /* 28789 */ // Label 756: @28789
11220 /* 28789 */ GIM_Try, /*On fail goto*//*Label 928*/ GIMT_Encode4(29117),
11221 /* 28794 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
11222 /* 28797 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11223 /* 28800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 929*/ GIMT_Encode4(28861), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24459 //
11224 /* 28807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11225 /* 28811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11226 /* 28815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11227 /* 28819 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11228 /* 28822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11229 /* 28826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11230 /* 28830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11231 /* 28834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11232 /* 28836 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11233 /* 28843 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11234 /* 28843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11235 /* 28846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11236 /* 28848 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11237 /* 28850 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11238 /* 28854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11239 /* 28859 */ GIR_RootConstrainSelectedInstOperands,
11240 /* 28860 */ // GIR_Coverage, 24459,
11241 /* 28860 */ GIR_EraseRootFromParent_Done,
11242 /* 28861 */ // Label 929: @28861
11243 /* 28861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 930*/ GIMT_Encode4(28922), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25516 //
11244 /* 28868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11245 /* 28872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11246 /* 28876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11247 /* 28880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11248 /* 28883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11249 /* 28887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11250 /* 28891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11251 /* 28895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11252 /* 28897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11253 /* 28904 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11254 /* 28904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11255 /* 28907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11256 /* 28909 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11257 /* 28911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11258 /* 28915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11259 /* 28920 */ GIR_RootConstrainSelectedInstOperands,
11260 /* 28921 */ // GIR_Coverage, 25516,
11261 /* 28921 */ GIR_EraseRootFromParent_Done,
11262 /* 28922 */ // Label 930: @28922
11263 /* 28922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 931*/ GIMT_Encode4(28983), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5789 //
11264 /* 28929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11265 /* 28933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11266 /* 28937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11267 /* 28941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11268 /* 28945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11269 /* 28948 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11270 /* 28952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11271 /* 28956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11272 /* 28958 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11273 /* 28965 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11274 /* 28965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11275 /* 28968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11276 /* 28970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11277 /* 28972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11278 /* 28976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11279 /* 28981 */ GIR_RootConstrainSelectedInstOperands,
11280 /* 28982 */ // GIR_Coverage, 5789,
11281 /* 28982 */ GIR_EraseRootFromParent_Done,
11282 /* 28983 */ // Label 931: @28983
11283 /* 28983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 932*/ GIMT_Encode4(29044), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18256 //
11284 /* 28990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11285 /* 28994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11286 /* 28998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11287 /* 29002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11288 /* 29006 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11289 /* 29009 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11290 /* 29013 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11291 /* 29017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11292 /* 29019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11293 /* 29026 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11294 /* 29026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11295 /* 29029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11296 /* 29031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11297 /* 29033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11298 /* 29037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11299 /* 29042 */ GIR_RootConstrainSelectedInstOperands,
11300 /* 29043 */ // GIR_Coverage, 18256,
11301 /* 29043 */ GIR_EraseRootFromParent_Done,
11302 /* 29044 */ // Label 932: @29044
11303 /* 29044 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 933*/ GIMT_Encode4(29070), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5786 //
11304 /* 29051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11305 /* 29055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11306 /* 29059 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11307 /* 29063 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
11308 /* 29063 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rr),
11309 /* 29068 */ GIR_RootConstrainSelectedInstOperands,
11310 /* 29069 */ // GIR_Coverage, 5786,
11311 /* 29069 */ GIR_Done,
11312 /* 29070 */ // Label 933: @29070
11313 /* 29070 */ GIM_Try, /*On fail goto*//*Label 934*/ GIMT_Encode4(29116),
11314 /* 29075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11315 /* 29079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11316 /* 29083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11317 /* 29087 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 935*/ GIMT_Encode4(29101), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18244 //
11318 /* 29094 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11319 /* 29094 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11320 /* 29099 */ GIR_RootConstrainSelectedInstOperands,
11321 /* 29100 */ // GIR_Coverage, 18244,
11322 /* 29100 */ GIR_Done,
11323 /* 29101 */ // Label 935: @29101
11324 /* 29101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 936*/ GIMT_Encode4(29115), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18268 //
11325 /* 29108 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11326 /* 29108 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11327 /* 29113 */ GIR_RootConstrainSelectedInstOperands,
11328 /* 29114 */ // GIR_Coverage, 18268,
11329 /* 29114 */ GIR_Done,
11330 /* 29115 */ // Label 936: @29115
11331 /* 29115 */ GIM_Reject,
11332 /* 29116 */ // Label 934: @29116
11333 /* 29116 */ GIM_Reject,
11334 /* 29117 */ // Label 928: @29117
11335 /* 29117 */ GIM_Reject,
11336 /* 29118 */ // Label 757: @29118
11337 /* 29118 */ GIM_Try, /*On fail goto*//*Label 937*/ GIMT_Encode4(29564),
11338 /* 29123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
11339 /* 29126 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
11340 /* 29129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 938*/ GIMT_Encode4(29190), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24453 //
11341 /* 29136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11342 /* 29140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11343 /* 29144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11344 /* 29148 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11345 /* 29151 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11346 /* 29155 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11347 /* 29159 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11348 /* 29163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11349 /* 29165 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11350 /* 29172 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11351 /* 29172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
11352 /* 29175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11353 /* 29177 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11354 /* 29179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11355 /* 29183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11356 /* 29188 */ GIR_RootConstrainSelectedInstOperands,
11357 /* 29189 */ // GIR_Coverage, 24453,
11358 /* 29189 */ GIR_EraseRootFromParent_Done,
11359 /* 29190 */ // Label 938: @29190
11360 /* 29190 */ GIM_Try, /*On fail goto*//*Label 939*/ GIMT_Encode4(29310),
11361 /* 29195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11362 /* 29199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11363 /* 29203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 940*/ GIMT_Encode4(29256), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25495 //
11364 /* 29210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11365 /* 29214 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11366 /* 29218 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11367 /* 29221 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11368 /* 29225 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11369 /* 29229 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11370 /* 29231 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11371 /* 29238 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11372 /* 29238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11373 /* 29241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11374 /* 29243 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11375 /* 29245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11376 /* 29249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11377 /* 29254 */ GIR_RootConstrainSelectedInstOperands,
11378 /* 29255 */ // GIR_Coverage, 25495,
11379 /* 29255 */ GIR_EraseRootFromParent_Done,
11380 /* 29256 */ // Label 940: @29256
11381 /* 29256 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 941*/ GIMT_Encode4(29309), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25505 //
11382 /* 29263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11383 /* 29267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11384 /* 29271 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11385 /* 29274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11386 /* 29278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11387 /* 29282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11388 /* 29284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11389 /* 29291 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11390 /* 29291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11391 /* 29294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11392 /* 29296 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11393 /* 29298 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11394 /* 29302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11395 /* 29307 */ GIR_RootConstrainSelectedInstOperands,
11396 /* 29308 */ // GIR_Coverage, 25505,
11397 /* 29308 */ GIR_EraseRootFromParent_Done,
11398 /* 29309 */ // Label 941: @29309
11399 /* 29309 */ GIM_Reject,
11400 /* 29310 */ // Label 939: @29310
11401 /* 29310 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 942*/ GIMT_Encode4(29371), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5780 //
11402 /* 29317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11403 /* 29321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11404 /* 29325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11405 /* 29329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11406 /* 29333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11407 /* 29336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11408 /* 29340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11409 /* 29344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11410 /* 29346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11411 /* 29353 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11412 /* 29353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
11413 /* 29356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11414 /* 29358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11415 /* 29360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11416 /* 29364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11417 /* 29369 */ GIR_RootConstrainSelectedInstOperands,
11418 /* 29370 */ // GIR_Coverage, 5780,
11419 /* 29370 */ GIR_EraseRootFromParent_Done,
11420 /* 29371 */ // Label 942: @29371
11421 /* 29371 */ GIM_Try, /*On fail goto*//*Label 943*/ GIMT_Encode4(29491),
11422 /* 29376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11423 /* 29380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11424 /* 29384 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 944*/ GIMT_Encode4(29437), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18200 //
11425 /* 29391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11426 /* 29395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11427 /* 29399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11428 /* 29402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11429 /* 29406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11430 /* 29410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11431 /* 29412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11432 /* 29419 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11433 /* 29419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11434 /* 29422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11435 /* 29424 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11436 /* 29426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11437 /* 29430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11438 /* 29435 */ GIR_RootConstrainSelectedInstOperands,
11439 /* 29436 */ // GIR_Coverage, 18200,
11440 /* 29436 */ GIR_EraseRootFromParent_Done,
11441 /* 29437 */ // Label 944: @29437
11442 /* 29437 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 945*/ GIMT_Encode4(29490), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18229 //
11443 /* 29444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11444 /* 29448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11445 /* 29452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11446 /* 29455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11447 /* 29459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11448 /* 29463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11449 /* 29465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11450 /* 29472 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11451 /* 29472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11452 /* 29475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11453 /* 29477 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11454 /* 29479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11455 /* 29483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11456 /* 29488 */ GIR_RootConstrainSelectedInstOperands,
11457 /* 29489 */ // GIR_Coverage, 18229,
11458 /* 29489 */ GIR_EraseRootFromParent_Done,
11459 /* 29490 */ // Label 945: @29490
11460 /* 29490 */ GIM_Reject,
11461 /* 29491 */ // Label 943: @29491
11462 /* 29491 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 946*/ GIMT_Encode4(29517), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5777 //
11463 /* 29498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11464 /* 29502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11465 /* 29506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11466 /* 29510 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
11467 /* 29510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rr),
11468 /* 29515 */ GIR_RootConstrainSelectedInstOperands,
11469 /* 29516 */ // GIR_Coverage, 5777,
11470 /* 29516 */ GIR_Done,
11471 /* 29517 */ // Label 946: @29517
11472 /* 29517 */ GIM_Try, /*On fail goto*//*Label 947*/ GIMT_Encode4(29563),
11473 /* 29522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11474 /* 29526 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11475 /* 29530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11476 /* 29534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 948*/ GIMT_Encode4(29548), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18188 //
11477 /* 29541 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
11478 /* 29541 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11479 /* 29546 */ GIR_RootConstrainSelectedInstOperands,
11480 /* 29547 */ // GIR_Coverage, 18188,
11481 /* 29547 */ GIR_Done,
11482 /* 29548 */ // Label 948: @29548
11483 /* 29548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 949*/ GIMT_Encode4(29562), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18213 //
11484 /* 29555 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
11485 /* 29555 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11486 /* 29560 */ GIR_RootConstrainSelectedInstOperands,
11487 /* 29561 */ // GIR_Coverage, 18213,
11488 /* 29561 */ GIR_Done,
11489 /* 29562 */ // Label 949: @29562
11490 /* 29562 */ GIM_Reject,
11491 /* 29563 */ // Label 947: @29563
11492 /* 29563 */ GIM_Reject,
11493 /* 29564 */ // Label 937: @29564
11494 /* 29564 */ GIM_Reject,
11495 /* 29565 */ // Label 758: @29565
11496 /* 29565 */ GIM_Try, /*On fail goto*//*Label 950*/ GIMT_Encode4(29719),
11497 /* 29570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
11498 /* 29573 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
11499 /* 29576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11500 /* 29580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 951*/ GIMT_Encode4(29637), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24447 //
11501 /* 29587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11502 /* 29591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11503 /* 29595 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11504 /* 29598 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11505 /* 29602 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11506 /* 29606 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11507 /* 29610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11508 /* 29612 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11509 /* 29619 */ // (or:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11510 /* 29619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
11511 /* 29622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11512 /* 29624 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11513 /* 29626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11514 /* 29630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11515 /* 29635 */ GIR_RootConstrainSelectedInstOperands,
11516 /* 29636 */ // GIR_Coverage, 24447,
11517 /* 29636 */ GIR_EraseRootFromParent_Done,
11518 /* 29637 */ // Label 951: @29637
11519 /* 29637 */ GIM_Try, /*On fail goto*//*Label 952*/ GIMT_Encode4(29718),
11520 /* 29642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11521 /* 29646 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 953*/ GIMT_Encode4(29699), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5771 //
11522 /* 29653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11523 /* 29657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11524 /* 29661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11525 /* 29664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11526 /* 29668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11527 /* 29672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11528 /* 29674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11529 /* 29681 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11530 /* 29681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
11531 /* 29684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11532 /* 29686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11533 /* 29688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11534 /* 29692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11535 /* 29697 */ GIR_RootConstrainSelectedInstOperands,
11536 /* 29698 */ // GIR_Coverage, 5771,
11537 /* 29698 */ GIR_EraseRootFromParent_Done,
11538 /* 29699 */ // Label 953: @29699
11539 /* 29699 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 954*/ GIMT_Encode4(29717), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5768 //
11540 /* 29706 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11541 /* 29710 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
11542 /* 29710 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZrr),
11543 /* 29715 */ GIR_RootConstrainSelectedInstOperands,
11544 /* 29716 */ // GIR_Coverage, 5768,
11545 /* 29716 */ GIR_Done,
11546 /* 29717 */ // Label 954: @29717
11547 /* 29717 */ GIM_Reject,
11548 /* 29718 */ // Label 952: @29718
11549 /* 29718 */ GIM_Reject,
11550 /* 29719 */ // Label 950: @29719
11551 /* 29719 */ GIM_Reject,
11552 /* 29720 */ // Label 759: @29720
11553 /* 29720 */ GIM_Try, /*On fail goto*//*Label 955*/ GIMT_Encode4(30048),
11554 /* 29725 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
11555 /* 29728 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11556 /* 29731 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 956*/ GIMT_Encode4(29792), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23619 //
11557 /* 29738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11558 /* 29742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11559 /* 29746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11560 /* 29750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11561 /* 29753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11562 /* 29757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11563 /* 29761 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11564 /* 29765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11565 /* 29767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11566 /* 29774 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11567 /* 29774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11568 /* 29777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11569 /* 29779 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11570 /* 29781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11571 /* 29785 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11572 /* 29790 */ GIR_RootConstrainSelectedInstOperands,
11573 /* 29791 */ // GIR_Coverage, 23619,
11574 /* 29791 */ GIR_EraseRootFromParent_Done,
11575 /* 29792 */ // Label 956: @29792
11576 /* 29792 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 957*/ GIMT_Encode4(29853), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24441 //
11577 /* 29799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11578 /* 29803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11579 /* 29807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11580 /* 29811 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11581 /* 29814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11582 /* 29818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11583 /* 29822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11584 /* 29826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11585 /* 29828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11586 /* 29835 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11587 /* 29835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11588 /* 29838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11589 /* 29840 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11590 /* 29842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11591 /* 29846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11592 /* 29851 */ GIR_RootConstrainSelectedInstOperands,
11593 /* 29852 */ // GIR_Coverage, 24441,
11594 /* 29852 */ GIR_EraseRootFromParent_Done,
11595 /* 29853 */ // Label 957: @29853
11596 /* 29853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 958*/ GIMT_Encode4(29914), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2098 //
11597 /* 29860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11598 /* 29864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11599 /* 29868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11600 /* 29872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11601 /* 29876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11602 /* 29879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11603 /* 29883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11604 /* 29887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11605 /* 29889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11606 /* 29896 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11607 /* 29896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11608 /* 29899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11609 /* 29901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11610 /* 29903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11611 /* 29907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11612 /* 29912 */ GIR_RootConstrainSelectedInstOperands,
11613 /* 29913 */ // GIR_Coverage, 2098,
11614 /* 29913 */ GIR_EraseRootFromParent_Done,
11615 /* 29914 */ // Label 958: @29914
11616 /* 29914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 959*/ GIMT_Encode4(29975), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5762 //
11617 /* 29921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11618 /* 29925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11619 /* 29929 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11620 /* 29933 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11621 /* 29937 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11622 /* 29940 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11623 /* 29944 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11624 /* 29948 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11625 /* 29950 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11626 /* 29957 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11627 /* 29957 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11628 /* 29960 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11629 /* 29962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11630 /* 29964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11631 /* 29968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11632 /* 29973 */ GIR_RootConstrainSelectedInstOperands,
11633 /* 29974 */ // GIR_Coverage, 5762,
11634 /* 29974 */ GIR_EraseRootFromParent_Done,
11635 /* 29975 */ // Label 959: @29975
11636 /* 29975 */ GIM_Try, /*On fail goto*//*Label 960*/ GIMT_Encode4(30021),
11637 /* 29980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11638 /* 29984 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11639 /* 29988 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11640 /* 29992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 961*/ GIMT_Encode4(30006), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2097 //
11641 /* 29999 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
11642 /* 29999 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11643 /* 30004 */ GIR_RootConstrainSelectedInstOperands,
11644 /* 30005 */ // GIR_Coverage, 2097,
11645 /* 30005 */ GIR_Done,
11646 /* 30006 */ // Label 961: @30006
11647 /* 30006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 962*/ GIMT_Encode4(30020), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2099 //
11648 /* 30013 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
11649 /* 30013 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11650 /* 30018 */ GIR_RootConstrainSelectedInstOperands,
11651 /* 30019 */ // GIR_Coverage, 2099,
11652 /* 30019 */ GIR_Done,
11653 /* 30020 */ // Label 962: @30020
11654 /* 30020 */ GIM_Reject,
11655 /* 30021 */ // Label 960: @30021
11656 /* 30021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 963*/ GIMT_Encode4(30047), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5759 //
11657 /* 30028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11658 /* 30032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11659 /* 30036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11660 /* 30040 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
11661 /* 30040 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
11662 /* 30045 */ GIR_RootConstrainSelectedInstOperands,
11663 /* 30046 */ // GIR_Coverage, 5759,
11664 /* 30046 */ GIR_Done,
11665 /* 30047 */ // Label 963: @30047
11666 /* 30047 */ GIM_Reject,
11667 /* 30048 */ // Label 955: @30048
11668 /* 30048 */ GIM_Reject,
11669 /* 30049 */ // Label 760: @30049
11670 /* 30049 */ GIM_Try, /*On fail goto*//*Label 964*/ GIMT_Encode4(30505),
11671 /* 30054 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
11672 /* 30057 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
11673 /* 30060 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 965*/ GIMT_Encode4(30121), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23621 //
11674 /* 30067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11675 /* 30071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11676 /* 30075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11677 /* 30079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11678 /* 30082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11679 /* 30086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11680 /* 30090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11681 /* 30094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11682 /* 30096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11683 /* 30103 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11684 /* 30103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11685 /* 30106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11686 /* 30108 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11687 /* 30110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11688 /* 30114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11689 /* 30119 */ GIR_RootConstrainSelectedInstOperands,
11690 /* 30120 */ // GIR_Coverage, 23621,
11691 /* 30120 */ GIR_EraseRootFromParent_Done,
11692 /* 30121 */ // Label 965: @30121
11693 /* 30121 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 966*/ GIMT_Encode4(30182), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24435 //
11694 /* 30128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11695 /* 30132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11696 /* 30136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11697 /* 30140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11698 /* 30143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11699 /* 30147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11700 /* 30151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11701 /* 30155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11702 /* 30157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11703 /* 30164 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11704 /* 30164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11705 /* 30167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11706 /* 30169 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11707 /* 30171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11708 /* 30175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11709 /* 30180 */ GIR_RootConstrainSelectedInstOperands,
11710 /* 30181 */ // GIR_Coverage, 24435,
11711 /* 30181 */ GIR_EraseRootFromParent_Done,
11712 /* 30182 */ // Label 966: @30182
11713 /* 30182 */ GIM_Try, /*On fail goto*//*Label 967*/ GIMT_Encode4(30306),
11714 /* 30187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11715 /* 30191 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 968*/ GIMT_Encode4(30248), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25506 //
11716 /* 30198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11717 /* 30202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11718 /* 30206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11719 /* 30209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11720 /* 30213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11721 /* 30217 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11722 /* 30221 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11723 /* 30223 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11724 /* 30230 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11725 /* 30230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11726 /* 30233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11727 /* 30235 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11728 /* 30237 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11729 /* 30241 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11730 /* 30246 */ GIR_RootConstrainSelectedInstOperands,
11731 /* 30247 */ // GIR_Coverage, 25506,
11732 /* 30247 */ GIR_EraseRootFromParent_Done,
11733 /* 30248 */ // Label 968: @30248
11734 /* 30248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 969*/ GIMT_Encode4(30305), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2102 //
11735 /* 30255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11736 /* 30259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11737 /* 30263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11738 /* 30267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11739 /* 30270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11740 /* 30274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11741 /* 30278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11742 /* 30280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11743 /* 30287 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11744 /* 30287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11745 /* 30290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11746 /* 30292 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11747 /* 30294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11748 /* 30298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11749 /* 30303 */ GIR_RootConstrainSelectedInstOperands,
11750 /* 30304 */ // GIR_Coverage, 2102,
11751 /* 30304 */ GIR_EraseRootFromParent_Done,
11752 /* 30305 */ // Label 969: @30305
11753 /* 30305 */ GIM_Reject,
11754 /* 30306 */ // Label 967: @30306
11755 /* 30306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 970*/ GIMT_Encode4(30367), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5753 //
11756 /* 30313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11757 /* 30317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11758 /* 30321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11759 /* 30325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11760 /* 30329 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11761 /* 30332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11762 /* 30336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11763 /* 30340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11764 /* 30342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11765 /* 30349 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11766 /* 30349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11767 /* 30352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11768 /* 30354 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11769 /* 30356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11770 /* 30360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11771 /* 30365 */ GIR_RootConstrainSelectedInstOperands,
11772 /* 30366 */ // GIR_Coverage, 5753,
11773 /* 30366 */ GIR_EraseRootFromParent_Done,
11774 /* 30367 */ // Label 970: @30367
11775 /* 30367 */ GIM_Try, /*On fail goto*//*Label 971*/ GIMT_Encode4(30452),
11776 /* 30372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11777 /* 30376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11778 /* 30380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 972*/ GIMT_Encode4(30433), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18230 //
11779 /* 30387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11780 /* 30391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11781 /* 30395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11782 /* 30398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11783 /* 30402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11784 /* 30406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11785 /* 30408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11786 /* 30415 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11787 /* 30415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11788 /* 30418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11789 /* 30420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11790 /* 30422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11791 /* 30426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11792 /* 30431 */ GIR_RootConstrainSelectedInstOperands,
11793 /* 30432 */ // GIR_Coverage, 18230,
11794 /* 30432 */ GIR_EraseRootFromParent_Done,
11795 /* 30433 */ // Label 972: @30433
11796 /* 30433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 973*/ GIMT_Encode4(30451), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2101 //
11797 /* 30440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11798 /* 30444 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11799 /* 30444 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11800 /* 30449 */ GIR_RootConstrainSelectedInstOperands,
11801 /* 30450 */ // GIR_Coverage, 2101,
11802 /* 30450 */ GIR_Done,
11803 /* 30451 */ // Label 973: @30451
11804 /* 30451 */ GIM_Reject,
11805 /* 30452 */ // Label 971: @30452
11806 /* 30452 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 974*/ GIMT_Encode4(30478), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5750 //
11807 /* 30459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11808 /* 30463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11809 /* 30467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11810 /* 30471 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
11811 /* 30471 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11812 /* 30476 */ GIR_RootConstrainSelectedInstOperands,
11813 /* 30477 */ // GIR_Coverage, 5750,
11814 /* 30477 */ GIR_Done,
11815 /* 30478 */ // Label 974: @30478
11816 /* 30478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 975*/ GIMT_Encode4(30504), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18214 //
11817 /* 30485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11818 /* 30489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11819 /* 30493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11820 /* 30497 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11821 /* 30497 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11822 /* 30502 */ GIR_RootConstrainSelectedInstOperands,
11823 /* 30503 */ // GIR_Coverage, 18214,
11824 /* 30503 */ GIR_Done,
11825 /* 30504 */ // Label 975: @30504
11826 /* 30504 */ GIM_Reject,
11827 /* 30505 */ // Label 964: @30505
11828 /* 30505 */ GIM_Reject,
11829 /* 30506 */ // Label 761: @30506
11830 /* 30506 */ GIM_Try, /*On fail goto*//*Label 976*/ GIMT_Encode4(30660),
11831 /* 30511 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
11832 /* 30514 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
11833 /* 30517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11834 /* 30521 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 977*/ GIMT_Encode4(30578), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24429 //
11835 /* 30528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11836 /* 30532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11837 /* 30536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11838 /* 30539 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11839 /* 30543 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11840 /* 30547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11841 /* 30551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11842 /* 30553 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11843 /* 30560 */ // (or:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11844 /* 30560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11845 /* 30563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11846 /* 30565 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11847 /* 30567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11848 /* 30571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11849 /* 30576 */ GIR_RootConstrainSelectedInstOperands,
11850 /* 30577 */ // GIR_Coverage, 24429,
11851 /* 30577 */ GIR_EraseRootFromParent_Done,
11852 /* 30578 */ // Label 977: @30578
11853 /* 30578 */ GIM_Try, /*On fail goto*//*Label 978*/ GIMT_Encode4(30659),
11854 /* 30583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11855 /* 30587 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 979*/ GIMT_Encode4(30640), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5744 //
11856 /* 30594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11857 /* 30598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11858 /* 30602 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11859 /* 30605 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11860 /* 30609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11861 /* 30613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11862 /* 30615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11863 /* 30622 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11864 /* 30622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11865 /* 30625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11866 /* 30627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11867 /* 30629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11868 /* 30633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11869 /* 30638 */ GIR_RootConstrainSelectedInstOperands,
11870 /* 30639 */ // GIR_Coverage, 5744,
11871 /* 30639 */ GIR_EraseRootFromParent_Done,
11872 /* 30640 */ // Label 979: @30640
11873 /* 30640 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 980*/ GIMT_Encode4(30658), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5741 //
11874 /* 30647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11875 /* 30651 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
11876 /* 30651 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
11877 /* 30656 */ GIR_RootConstrainSelectedInstOperands,
11878 /* 30657 */ // GIR_Coverage, 5741,
11879 /* 30657 */ GIR_Done,
11880 /* 30658 */ // Label 980: @30658
11881 /* 30658 */ GIM_Reject,
11882 /* 30659 */ // Label 978: @30659
11883 /* 30659 */ GIM_Reject,
11884 /* 30660 */ // Label 976: @30660
11885 /* 30660 */ GIM_Reject,
11886 /* 30661 */ // Label 762: @30661
11887 /* 30661 */ GIM_Reject,
11888 /* 30662 */ // Label 5: @30662
11889 /* 30662 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 1004*/ GIMT_Encode4(42724),
11890 /* 30673 */ /*GILLT_s1*//*Label 981*/ GIMT_Encode4(30773),
11891 /* 30677 */ /*GILLT_s8*//*Label 982*/ GIMT_Encode4(31329),
11892 /* 30681 */ /*GILLT_s16*//*Label 983*/ GIMT_Encode4(31936),
11893 /* 30685 */ /*GILLT_s32*//*Label 984*/ GIMT_Encode4(32483),
11894 /* 30689 */ /*GILLT_s64*//*Label 985*/ GIMT_Encode4(33286), GIMT_Encode4(0), GIMT_Encode4(0),
11895 /* 30701 */ /*GILLT_v2s1*//*Label 986*/ GIMT_Encode4(34055),
11896 /* 30705 */ /*GILLT_v4s1*//*Label 987*/ GIMT_Encode4(34595),
11897 /* 30709 */ /*GILLT_v8s1*//*Label 988*/ GIMT_Encode4(35135),
11898 /* 30713 */ /*GILLT_v16s1*//*Label 989*/ GIMT_Encode4(35913),
11899 /* 30717 */ /*GILLT_v32s1*//*Label 990*/ GIMT_Encode4(36164),
11900 /* 30721 */ /*GILLT_v64s1*//*Label 991*/ GIMT_Encode4(36415),
11901 /* 30725 */ /*GILLT_v16s8*//*Label 992*/ GIMT_Encode4(36666),
11902 /* 30729 */ /*GILLT_v32s8*//*Label 993*/ GIMT_Encode4(37271),
11903 /* 30733 */ /*GILLT_v64s8*//*Label 994*/ GIMT_Encode4(37984),
11904 /* 30737 */ /*GILLT_v8s16*//*Label 995*/ GIMT_Encode4(38176),
11905 /* 30741 */ /*GILLT_v16s16*//*Label 996*/ GIMT_Encode4(38781),
11906 /* 30745 */ /*GILLT_v32s16*//*Label 997*/ GIMT_Encode4(39494),
11907 /* 30749 */ /*GILLT_v4s32*//*Label 998*/ GIMT_Encode4(39686),
11908 /* 30753 */ /*GILLT_v8s32*//*Label 999*/ GIMT_Encode4(40289),
11909 /* 30757 */ /*GILLT_v16s32*//*Label 1000*/ GIMT_Encode4(41002),
11910 /* 30761 */ /*GILLT_v2s64*//*Label 1001*/ GIMT_Encode4(41194),
11911 /* 30765 */ /*GILLT_v4s64*//*Label 1002*/ GIMT_Encode4(41799),
11912 /* 30769 */ /*GILLT_v8s64*//*Label 1003*/ GIMT_Encode4(42532),
11913 /* 30773 */ // Label 981: @30773
11914 /* 30773 */ GIM_Try, /*On fail goto*//*Label 1005*/ GIMT_Encode4(31328),
11915 /* 30778 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
11916 /* 30781 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
11917 /* 30784 */ GIM_Try, /*On fail goto*//*Label 1006*/ GIMT_Encode4(31155),
11918 /* 30789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11919 /* 30793 */ GIM_Try, /*On fail goto*//*Label 1007*/ GIMT_Encode4(30913), // Rule ID 25632 //
11920 /* 30798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11921 /* 30802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11922 /* 30806 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
11923 /* 30810 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
11924 /* 30814 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11925 /* 30819 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
11926 /* 30823 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
11927 /* 30829 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
11928 /* 30831 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11929 /* 30835 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11930 /* 30837 */ // (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] })
11931 /* 30837 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11932 /* 30840 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11933 /* 30844 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11934 /* 30849 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
11935 /* 30853 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11936 /* 30858 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11937 /* 30861 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11938 /* 30865 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11939 /* 30870 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
11940 /* 30874 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11941 /* 30879 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11942 /* 30882 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
11943 /* 30886 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11944 /* 30891 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11945 /* 30894 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11946 /* 30897 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11947 /* 30899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11948 /* 30902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11949 /* 30904 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11950 /* 30907 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
11951 /* 30912 */ // GIR_Coverage, 25632,
11952 /* 30912 */ GIR_EraseRootFromParent_Done,
11953 /* 30913 */ // Label 1007: @30913
11954 /* 30913 */ GIM_Try, /*On fail goto*//*Label 1008*/ GIMT_Encode4(31034), // Rule ID 19600 //
11955 /* 30918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11956 /* 30922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11957 /* 30926 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
11958 /* 30930 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
11959 /* 30934 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11960 /* 30939 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11961 /* 30944 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
11962 /* 30948 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
11963 /* 30954 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
11964 /* 30956 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11965 /* 30958 */ // (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] })
11966 /* 30958 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11967 /* 30961 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11968 /* 30965 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11969 /* 30970 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
11970 /* 30974 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11971 /* 30979 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11972 /* 30982 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11973 /* 30986 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11974 /* 30991 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
11975 /* 30995 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11976 /* 31000 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11977 /* 31003 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
11978 /* 31007 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11979 /* 31012 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11980 /* 31015 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11981 /* 31018 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11982 /* 31020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11983 /* 31023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11984 /* 31025 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11985 /* 31028 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
11986 /* 31033 */ // GIR_Coverage, 19600,
11987 /* 31033 */ GIR_EraseRootFromParent_Done,
11988 /* 31034 */ // Label 1008: @31034
11989 /* 31034 */ GIM_Try, /*On fail goto*//*Label 1009*/ GIMT_Encode4(31154), // Rule ID 25633 //
11990 /* 31039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11991 /* 31043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11992 /* 31047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11993 /* 31051 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
11994 /* 31055 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
11995 /* 31059 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11996 /* 31064 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
11997 /* 31068 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
11998 /* 31074 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
11999 /* 31076 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12000 /* 31078 */ // (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] })
12001 /* 31078 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12002 /* 31081 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12003 /* 31085 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12004 /* 31090 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
12005 /* 31094 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12006 /* 31099 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12007 /* 31102 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12008 /* 31106 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12009 /* 31111 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12010 /* 31115 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12011 /* 31120 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12012 /* 31123 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12013 /* 31127 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12014 /* 31132 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12015 /* 31135 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12016 /* 31138 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12017 /* 31140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12018 /* 31143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12019 /* 31145 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12020 /* 31148 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12021 /* 31153 */ // GIR_Coverage, 25633,
12022 /* 31153 */ GIR_EraseRootFromParent_Done,
12023 /* 31154 */ // Label 1009: @31154
12024 /* 31154 */ GIM_Reject,
12025 /* 31155 */ // Label 1006: @31155
12026 /* 31155 */ GIM_Try, /*On fail goto*//*Label 1010*/ GIMT_Encode4(31234), // Rule ID 19586 //
12027 /* 31160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
12028 /* 31164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12029 /* 31168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12030 /* 31172 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12031 /* 31178 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
12032 /* 31180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12033 /* 31182 */ // (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src, immAllOnesV:{ *:[v1i1] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
12034 /* 31182 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12035 /* 31185 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12036 /* 31189 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12037 /* 31194 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
12038 /* 31198 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12039 /* 31203 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12040 /* 31206 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
12041 /* 31210 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12042 /* 31215 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12043 /* 31218 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12044 /* 31220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12045 /* 31223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12046 /* 31225 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12047 /* 31228 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
12048 /* 31233 */ // GIR_Coverage, 19586,
12049 /* 31233 */ GIR_EraseRootFromParent_Done,
12050 /* 31234 */ // Label 1010: @31234
12051 /* 31234 */ GIM_Try, /*On fail goto*//*Label 1011*/ GIMT_Encode4(31327), // Rule ID 19604 //
12052 /* 31239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12053 /* 31243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12054 /* 31247 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12055 /* 31251 */ // (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] })
12056 /* 31251 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12057 /* 31254 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12058 /* 31258 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12059 /* 31263 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
12060 /* 31267 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12061 /* 31272 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12062 /* 31275 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12063 /* 31279 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12064 /* 31284 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
12065 /* 31288 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12066 /* 31293 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12067 /* 31296 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
12068 /* 31300 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12069 /* 31305 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12070 /* 31308 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12071 /* 31311 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12072 /* 31313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12073 /* 31316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12074 /* 31318 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12075 /* 31321 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12076 /* 31326 */ // GIR_Coverage, 19604,
12077 /* 31326 */ GIR_EraseRootFromParent_Done,
12078 /* 31327 */ // Label 1011: @31327
12079 /* 31327 */ GIM_Reject,
12080 /* 31328 */ // Label 1005: @31328
12081 /* 31328 */ GIM_Reject,
12082 /* 31329 */ // Label 982: @31329
12083 /* 31329 */ GIM_Try, /*On fail goto*//*Label 1012*/ GIMT_Encode4(31935),
12084 /* 31334 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
12085 /* 31337 */ GIM_Try, /*On fail goto*//*Label 1013*/ GIMT_Encode4(31500),
12086 /* 31342 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
12087 /* 31345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12088 /* 31349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1014*/ GIMT_Encode4(31409), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26329 //
12089 /* 31356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12090 /* 31360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12091 /* 31364 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12092 /* 31367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12093 /* 31371 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
12094 /* 31375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12095 /* 31379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12096 /* 31381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12097 /* 31388 */ // (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)
12098 /* 31388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
12099 /* 31391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12100 /* 31393 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12101 /* 31395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12102 /* 31399 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12103 /* 31402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12104 /* 31407 */ GIR_RootConstrainSelectedInstOperands,
12105 /* 31408 */ // GIR_Coverage, 26329,
12106 /* 31408 */ GIR_EraseRootFromParent_Done,
12107 /* 31409 */ // Label 1014: @31409
12108 /* 31409 */ GIM_Try, /*On fail goto*//*Label 1015*/ GIMT_Encode4(31499),
12109 /* 31414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12110 /* 31418 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1016*/ GIMT_Encode4(31474), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23093 //
12111 /* 31425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12112 /* 31429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12113 /* 31433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12114 /* 31436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12115 /* 31440 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
12116 /* 31444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12117 /* 31446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12118 /* 31453 */ // (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)
12119 /* 31453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
12120 /* 31456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12121 /* 31458 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12122 /* 31460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12123 /* 31464 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12124 /* 31467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12125 /* 31472 */ GIR_RootConstrainSelectedInstOperands,
12126 /* 31473 */ // GIR_Coverage, 23093,
12127 /* 31473 */ GIR_EraseRootFromParent_Done,
12128 /* 31474 */ // Label 1016: @31474
12129 /* 31474 */ GIM_Try, /*On fail goto*//*Label 1017*/ GIMT_Encode4(31498), // Rule ID 22842 //
12130 /* 31479 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 128,
12131 /* 31483 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] }) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] })
12132 /* 31483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
12133 /* 31486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12134 /* 31488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12135 /* 31490 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
12136 /* 31493 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12137 /* 31496 */ GIR_RootConstrainSelectedInstOperands,
12138 /* 31497 */ // GIR_Coverage, 22842,
12139 /* 31497 */ GIR_EraseRootFromParent_Done,
12140 /* 31498 */ // Label 1017: @31498
12141 /* 31498 */ GIM_Reject,
12142 /* 31499 */ // Label 1015: @31499
12143 /* 31499 */ GIM_Reject,
12144 /* 31500 */ // Label 1013: @31500
12145 /* 31500 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1018*/ GIMT_Encode4(31637), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 25246 //
12146 /* 31507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12147 /* 31511 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12148 /* 31515 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12149 /* 31519 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
12150 /* 31523 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12151 /* 31527 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12152 /* 31532 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
12153 /* 31536 */ // MIs[0] src
12154 /* 31536 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12155 /* 31541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12156 /* 31543 */ // (xor:{ *:[i8] } (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }), GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (BLSMSK32rr:{ *:[i32] }:{ *:[i32] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src, sub_8bit:{ *:[i32] })), sub_8bit:{ *:[i32] })
12157 /* 31543 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
12158 /* 31546 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12159 /* 31550 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12160 /* 31555 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
12161 /* 31557 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12162 /* 31560 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12163 /* 31564 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12164 /* 31569 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
12165 /* 31572 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
12166 /* 31576 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
12167 /* 31579 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12168 /* 31584 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12169 /* 31589 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12170 /* 31594 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12171 /* 31597 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::BLSMSK32rr),
12172 /* 31601 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12173 /* 31606 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12174 /* 31609 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
12175 /* 31612 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12176 /* 31614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12177 /* 31617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12178 /* 31619 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
12179 /* 31626 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
12180 /* 31631 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
12181 /* 31636 */ // GIR_Coverage, 25246,
12182 /* 31636 */ GIR_EraseRootFromParent_Done,
12183 /* 31637 */ // Label 1018: @31637
12184 /* 31637 */ GIM_Try, /*On fail goto*//*Label 1019*/ GIMT_Encode4(31934),
12185 /* 31642 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
12186 /* 31645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12187 /* 31649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12188 /* 31653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1020*/ GIMT_Encode4(31777), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 17380 //
12189 /* 31660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12190 /* 31664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12191 /* 31668 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12192 /* 31672 */ // MIs[1] src
12193 /* 31672 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
12194 /* 31677 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
12195 /* 31681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12196 /* 31683 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src, (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] })) => (EXTRACT_SUBREG:{ *:[i8] } (BLSMSK32rr:{ *:[i32] }:{ *:[i32] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src, sub_8bit:{ *:[i32] })), sub_8bit:{ *:[i32] })
12197 /* 31683 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
12198 /* 31686 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12199 /* 31690 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12200 /* 31695 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
12201 /* 31697 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12202 /* 31700 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12203 /* 31704 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12204 /* 31709 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
12205 /* 31712 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
12206 /* 31716 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
12207 /* 31719 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12208 /* 31724 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12209 /* 31729 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12210 /* 31734 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12211 /* 31737 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::BLSMSK32rr),
12212 /* 31741 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12213 /* 31746 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12214 /* 31749 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
12215 /* 31752 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12216 /* 31754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12217 /* 31757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12218 /* 31759 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
12219 /* 31766 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
12220 /* 31771 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
12221 /* 31776 */ // GIR_Coverage, 17380,
12222 /* 31776 */ GIR_EraseRootFromParent_Done,
12223 /* 31777 */ // Label 1020: @31777
12224 /* 31777 */ GIM_Try, /*On fail goto*//*Label 1021*/ GIMT_Encode4(31819),
12225 /* 31782 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12226 /* 31786 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1022*/ GIMT_Encode4(31802), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 243 //
12227 /* 31793 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r:{ *:[i8] } GR8:{ *:[i8] }:$src1)
12228 /* 31793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r),
12229 /* 31796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12230 /* 31798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12231 /* 31800 */ GIR_RootConstrainSelectedInstOperands,
12232 /* 31801 */ // GIR_Coverage, 243,
12233 /* 31801 */ GIR_EraseRootFromParent_Done,
12234 /* 31802 */ // Label 1022: @31802
12235 /* 31802 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1023*/ GIMT_Encode4(31818), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 251 //
12236 /* 31809 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
12237 /* 31809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r_ND),
12238 /* 31812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12239 /* 31814 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12240 /* 31816 */ GIR_RootConstrainSelectedInstOperands,
12241 /* 31817 */ // GIR_Coverage, 251,
12242 /* 31817 */ GIR_EraseRootFromParent_Done,
12243 /* 31818 */ // Label 1023: @31818
12244 /* 31818 */ GIM_Reject,
12245 /* 31819 */ // Label 1021: @31819
12246 /* 31819 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1024*/ GIMT_Encode4(31851), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23097 //
12247 /* 31826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12248 /* 31830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12249 /* 31834 */ // MIs[1] Operand 1
12250 /* 31834 */ // No operand predicates
12251 /* 31834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12252 /* 31836 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
12253 /* 31836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri),
12254 /* 31839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12255 /* 31841 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12256 /* 31843 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12257 /* 31846 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12258 /* 31849 */ GIR_RootConstrainSelectedInstOperands,
12259 /* 31850 */ // GIR_Coverage, 23097,
12260 /* 31850 */ GIR_EraseRootFromParent_Done,
12261 /* 31851 */ // Label 1024: @31851
12262 /* 31851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1025*/ GIMT_Encode4(31883), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23187 //
12263 /* 31858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12264 /* 31862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12265 /* 31866 */ // MIs[1] Operand 1
12266 /* 31866 */ // No operand predicates
12267 /* 31866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12268 /* 31868 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
12269 /* 31868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri_ND),
12270 /* 31871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12271 /* 31873 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12272 /* 31875 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12273 /* 31878 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12274 /* 31881 */ GIR_RootConstrainSelectedInstOperands,
12275 /* 31882 */ // GIR_Coverage, 23187,
12276 /* 31882 */ GIR_EraseRootFromParent_Done,
12277 /* 31883 */ // Label 1025: @31883
12278 /* 31883 */ GIM_Try, /*On fail goto*//*Label 1026*/ GIMT_Encode4(31933),
12279 /* 31888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12280 /* 31892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1027*/ GIMT_Encode4(31912), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23089 //
12281 /* 31899 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
12282 /* 31899 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr),
12283 /* 31904 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12284 /* 31910 */ GIR_RootConstrainSelectedInstOperands,
12285 /* 31911 */ // GIR_Coverage, 23089,
12286 /* 31911 */ GIR_Done,
12287 /* 31912 */ // Label 1027: @31912
12288 /* 31912 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1028*/ GIMT_Encode4(31932), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23179 //
12289 /* 31919 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
12290 /* 31919 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr_ND),
12291 /* 31924 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12292 /* 31930 */ GIR_RootConstrainSelectedInstOperands,
12293 /* 31931 */ // GIR_Coverage, 23179,
12294 /* 31931 */ GIR_Done,
12295 /* 31932 */ // Label 1028: @31932
12296 /* 31932 */ GIM_Reject,
12297 /* 31933 */ // Label 1026: @31933
12298 /* 31933 */ GIM_Reject,
12299 /* 31934 */ // Label 1019: @31934
12300 /* 31934 */ GIM_Reject,
12301 /* 31935 */ // Label 1012: @31935
12302 /* 31935 */ GIM_Reject,
12303 /* 31936 */ // Label 983: @31936
12304 /* 31936 */ GIM_Try, /*On fail goto*//*Label 1029*/ GIMT_Encode4(32482),
12305 /* 31941 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
12306 /* 31944 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
12307 /* 31947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12308 /* 31951 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1030*/ GIMT_Encode4(32011), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26330 //
12309 /* 31958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12310 /* 31962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12311 /* 31966 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12312 /* 31969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12313 /* 31973 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
12314 /* 31977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12315 /* 31981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12316 /* 31983 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12317 /* 31990 */ // (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)
12318 /* 31990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
12319 /* 31993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12320 /* 31995 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12321 /* 31997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12322 /* 32001 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12323 /* 32004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12324 /* 32009 */ GIR_RootConstrainSelectedInstOperands,
12325 /* 32010 */ // GIR_Coverage, 26330,
12326 /* 32010 */ GIR_EraseRootFromParent_Done,
12327 /* 32011 */ // Label 1030: @32011
12328 /* 32011 */ GIM_Try, /*On fail goto*//*Label 1031*/ GIMT_Encode4(32115),
12329 /* 32016 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12330 /* 32020 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1032*/ GIMT_Encode4(32076), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23094 //
12331 /* 32027 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12332 /* 32031 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12333 /* 32035 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12334 /* 32038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12335 /* 32042 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
12336 /* 32046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12337 /* 32048 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12338 /* 32055 */ // (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)
12339 /* 32055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
12340 /* 32058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12341 /* 32060 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12342 /* 32062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12343 /* 32066 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12344 /* 32069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12345 /* 32074 */ GIR_RootConstrainSelectedInstOperands,
12346 /* 32075 */ // GIR_Coverage, 23094,
12347 /* 32075 */ GIR_EraseRootFromParent_Done,
12348 /* 32076 */ // Label 1032: @32076
12349 /* 32076 */ GIM_Try, /*On fail goto*//*Label 1033*/ GIMT_Encode4(32114), // Rule ID 22843 //
12350 /* 32081 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744073709518848u),
12351 /* 32092 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] }) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] })
12352 /* 32092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
12353 /* 32095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12354 /* 32097 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12355 /* 32099 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744073709518848u),
12356 /* 32109 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12357 /* 32112 */ GIR_RootConstrainSelectedInstOperands,
12358 /* 32113 */ // GIR_Coverage, 22843,
12359 /* 32113 */ GIR_EraseRootFromParent_Done,
12360 /* 32114 */ // Label 1033: @32114
12361 /* 32114 */ GIM_Reject,
12362 /* 32115 */ // Label 1031: @32115
12363 /* 32115 */ GIM_Try, /*On fail goto*//*Label 1034*/ GIMT_Encode4(32217), // Rule ID 26302 //
12364 /* 32120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12365 /* 32124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12366 /* 32128 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
12367 /* 32132 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12368 /* 32136 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12369 /* 32140 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12370 /* 32145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12371 /* 32149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12372 /* 32151 */ // (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] }))
12373 /* 32151 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
12374 /* 32154 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12375 /* 32158 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12376 /* 32163 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12377 /* 32165 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
12378 /* 32168 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12379 /* 32172 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12380 /* 32177 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12381 /* 32180 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12382 /* 32184 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12383 /* 32187 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
12384 /* 32192 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
12385 /* 32197 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12386 /* 32202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
12387 /* 32205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12388 /* 32207 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12389 /* 32209 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12390 /* 32212 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12391 /* 32215 */ GIR_RootConstrainSelectedInstOperands,
12392 /* 32216 */ // GIR_Coverage, 26302,
12393 /* 32216 */ GIR_EraseRootFromParent_Done,
12394 /* 32217 */ // Label 1034: @32217
12395 /* 32217 */ GIM_Try, /*On fail goto*//*Label 1035*/ GIMT_Encode4(32481),
12396 /* 32222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12397 /* 32226 */ GIM_Try, /*On fail goto*//*Label 1036*/ GIMT_Encode4(32324), // Rule ID 23023 //
12398 /* 32231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12399 /* 32235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12400 /* 32239 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
12401 /* 32243 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12402 /* 32247 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12403 /* 32251 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12404 /* 32256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12405 /* 32258 */ // (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] }))
12406 /* 32258 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
12407 /* 32261 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12408 /* 32265 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12409 /* 32270 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12410 /* 32272 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
12411 /* 32275 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12412 /* 32279 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12413 /* 32284 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12414 /* 32287 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12415 /* 32291 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12416 /* 32294 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
12417 /* 32299 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
12418 /* 32304 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12419 /* 32309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
12420 /* 32312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12421 /* 32314 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12422 /* 32316 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12423 /* 32319 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12424 /* 32322 */ GIR_RootConstrainSelectedInstOperands,
12425 /* 32323 */ // GIR_Coverage, 23023,
12426 /* 32323 */ GIR_EraseRootFromParent_Done,
12427 /* 32324 */ // Label 1036: @32324
12428 /* 32324 */ GIM_Try, /*On fail goto*//*Label 1037*/ GIMT_Encode4(32366),
12429 /* 32329 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12430 /* 32333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1038*/ GIMT_Encode4(32349), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 244 //
12431 /* 32340 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r:{ *:[i16] } GR16:{ *:[i16] }:$src1)
12432 /* 32340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r),
12433 /* 32343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12434 /* 32345 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12435 /* 32347 */ GIR_RootConstrainSelectedInstOperands,
12436 /* 32348 */ // GIR_Coverage, 244,
12437 /* 32348 */ GIR_EraseRootFromParent_Done,
12438 /* 32349 */ // Label 1038: @32349
12439 /* 32349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1039*/ GIMT_Encode4(32365), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 252 //
12440 /* 32356 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
12441 /* 32356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r_ND),
12442 /* 32359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12443 /* 32361 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12444 /* 32363 */ GIR_RootConstrainSelectedInstOperands,
12445 /* 32364 */ // GIR_Coverage, 252,
12446 /* 32364 */ GIR_EraseRootFromParent_Done,
12447 /* 32365 */ // Label 1039: @32365
12448 /* 32365 */ GIM_Reject,
12449 /* 32366 */ // Label 1037: @32366
12450 /* 32366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1040*/ GIMT_Encode4(32398), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23098 //
12451 /* 32373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12452 /* 32377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12453 /* 32381 */ // MIs[1] Operand 1
12454 /* 32381 */ // No operand predicates
12455 /* 32381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12456 /* 32383 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
12457 /* 32383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri),
12458 /* 32386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12459 /* 32388 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12460 /* 32390 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12461 /* 32393 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12462 /* 32396 */ GIR_RootConstrainSelectedInstOperands,
12463 /* 32397 */ // GIR_Coverage, 23098,
12464 /* 32397 */ GIR_EraseRootFromParent_Done,
12465 /* 32398 */ // Label 1040: @32398
12466 /* 32398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1041*/ GIMT_Encode4(32430), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23188 //
12467 /* 32405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12468 /* 32409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12469 /* 32413 */ // MIs[1] Operand 1
12470 /* 32413 */ // No operand predicates
12471 /* 32413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12472 /* 32415 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
12473 /* 32415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri_ND),
12474 /* 32418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12475 /* 32420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12476 /* 32422 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12477 /* 32425 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12478 /* 32428 */ GIR_RootConstrainSelectedInstOperands,
12479 /* 32429 */ // GIR_Coverage, 23188,
12480 /* 32429 */ GIR_EraseRootFromParent_Done,
12481 /* 32430 */ // Label 1041: @32430
12482 /* 32430 */ GIM_Try, /*On fail goto*//*Label 1042*/ GIMT_Encode4(32480),
12483 /* 32435 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12484 /* 32439 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1043*/ GIMT_Encode4(32459), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23090 //
12485 /* 32446 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
12486 /* 32446 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr),
12487 /* 32451 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12488 /* 32457 */ GIR_RootConstrainSelectedInstOperands,
12489 /* 32458 */ // GIR_Coverage, 23090,
12490 /* 32458 */ GIR_Done,
12491 /* 32459 */ // Label 1043: @32459
12492 /* 32459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1044*/ GIMT_Encode4(32479), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23180 //
12493 /* 32466 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
12494 /* 32466 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr_ND),
12495 /* 32471 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12496 /* 32477 */ GIR_RootConstrainSelectedInstOperands,
12497 /* 32478 */ // GIR_Coverage, 23180,
12498 /* 32478 */ GIR_Done,
12499 /* 32479 */ // Label 1044: @32479
12500 /* 32479 */ GIM_Reject,
12501 /* 32480 */ // Label 1042: @32480
12502 /* 32480 */ GIM_Reject,
12503 /* 32481 */ // Label 1035: @32481
12504 /* 32481 */ GIM_Reject,
12505 /* 32482 */ // Label 1029: @32482
12506 /* 32482 */ GIM_Reject,
12507 /* 32483 */ // Label 984: @32483
12508 /* 32483 */ GIM_Try, /*On fail goto*//*Label 1045*/ GIMT_Encode4(33285),
12509 /* 32488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
12510 /* 32491 */ GIM_Try, /*On fail goto*//*Label 1046*/ GIMT_Encode4(32806),
12511 /* 32496 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12512 /* 32499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12513 /* 32503 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1047*/ GIMT_Encode4(32563), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26331 //
12514 /* 32510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12515 /* 32514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12516 /* 32518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12517 /* 32521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12518 /* 32525 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
12519 /* 32529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12520 /* 32533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12521 /* 32535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12522 /* 32542 */ // (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)
12523 /* 32542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
12524 /* 32545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12525 /* 32547 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12526 /* 32549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12527 /* 32553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12528 /* 32556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12529 /* 32561 */ GIR_RootConstrainSelectedInstOperands,
12530 /* 32562 */ // GIR_Coverage, 26331,
12531 /* 32562 */ GIR_EraseRootFromParent_Done,
12532 /* 32563 */ // Label 1047: @32563
12533 /* 32563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1048*/ GIMT_Encode4(32623), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23095 //
12534 /* 32570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12535 /* 32574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12536 /* 32578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12537 /* 32582 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12538 /* 32585 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12539 /* 32589 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
12540 /* 32593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12541 /* 32595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12542 /* 32602 */ // (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)
12543 /* 32602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
12544 /* 32605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12545 /* 32607 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12546 /* 32609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12547 /* 32613 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12548 /* 32616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12549 /* 32621 */ GIR_RootConstrainSelectedInstOperands,
12550 /* 32622 */ // GIR_Coverage, 23095,
12551 /* 32622 */ GIR_EraseRootFromParent_Done,
12552 /* 32623 */ // Label 1048: @32623
12553 /* 32623 */ GIM_Try, /*On fail goto*//*Label 1049*/ GIMT_Encode4(32763),
12554 /* 32628 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12555 /* 32632 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1050*/ GIMT_Encode4(32697), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25261 //
12556 /* 32639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12557 /* 32643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
12558 /* 32647 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12559 /* 32651 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
12560 /* 32655 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_SUB),
12561 /* 32659 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
12562 /* 32663 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
12563 /* 32667 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/1, 0,
12564 /* 32671 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12565 /* 32676 */ // MIs[1] src
12566 /* 32676 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/2,
12567 /* 32681 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12568 /* 32683 */ // (xor:{ *:[i32] } (and:{ *:[i32] } (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src), GR32:{ *:[i32] }:$src), -1:{ *:[i32] }) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12569 /* 32683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
12570 /* 32686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12571 /* 32688 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // src
12572 /* 32692 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12573 /* 32695 */ GIR_RootConstrainSelectedInstOperands,
12574 /* 32696 */ // GIR_Coverage, 25261,
12575 /* 32696 */ GIR_EraseRootFromParent_Done,
12576 /* 32697 */ // Label 1050: @32697
12577 /* 32697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1051*/ GIMT_Encode4(32762), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17405 //
12578 /* 32704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12579 /* 32708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
12580 /* 32712 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12581 /* 32716 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
12582 /* 32720 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12583 /* 32725 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12584 /* 32729 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_SUB),
12585 /* 32733 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
12586 /* 32737 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/1, 0,
12587 /* 32741 */ // MIs[2] src
12588 /* 32741 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12589 /* 32746 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12590 /* 32748 */ // (xor:{ *:[i32] } (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src)), -1:{ *:[i32] }) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12591 /* 32748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
12592 /* 32751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12593 /* 32753 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
12594 /* 32757 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12595 /* 32760 */ GIR_RootConstrainSelectedInstOperands,
12596 /* 32761 */ // GIR_Coverage, 17405,
12597 /* 32761 */ GIR_EraseRootFromParent_Done,
12598 /* 32762 */ // Label 1051: @32762
12599 /* 32762 */ GIM_Reject,
12600 /* 32763 */ // Label 1049: @32763
12601 /* 32763 */ GIM_Try, /*On fail goto*//*Label 1052*/ GIMT_Encode4(32805), // Rule ID 22844 //
12602 /* 32768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12603 /* 32772 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744071562067968u),
12604 /* 32783 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] }) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] })
12605 /* 32783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
12606 /* 32786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12607 /* 32788 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12608 /* 32790 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
12609 /* 32800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12610 /* 32803 */ GIR_RootConstrainSelectedInstOperands,
12611 /* 32804 */ // GIR_Coverage, 22844,
12612 /* 32804 */ GIR_EraseRootFromParent_Done,
12613 /* 32805 */ // Label 1052: @32805
12614 /* 32805 */ GIM_Reject,
12615 /* 32806 */ // Label 1046: @32806
12616 /* 32806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1053*/ GIMT_Encode4(32863), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25255 //
12617 /* 32813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12618 /* 32817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12619 /* 32821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12620 /* 32825 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12621 /* 32829 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
12622 /* 32833 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12623 /* 32838 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12624 /* 32842 */ // MIs[0] src
12625 /* 32842 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12626 /* 32847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12627 /* 32849 */ // (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12628 /* 32849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
12629 /* 32852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12630 /* 32854 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
12631 /* 32858 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12632 /* 32861 */ GIR_RootConstrainSelectedInstOperands,
12633 /* 32862 */ // GIR_Coverage, 25255,
12634 /* 32862 */ GIR_EraseRootFromParent_Done,
12635 /* 32863 */ // Label 1053: @32863
12636 /* 32863 */ GIM_Try, /*On fail goto*//*Label 1054*/ GIMT_Encode4(33284),
12637 /* 32868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12638 /* 32871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12639 /* 32875 */ GIM_Try, /*On fail goto*//*Label 1055*/ GIMT_Encode4(32977), // Rule ID 26308 //
12640 /* 32880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12641 /* 32884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12642 /* 32888 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12643 /* 32892 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12644 /* 32896 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12645 /* 32900 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12646 /* 32905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12647 /* 32909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12648 /* 32911 */ // (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] }))
12649 /* 32911 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12650 /* 32914 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12651 /* 32918 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12652 /* 32923 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12653 /* 32925 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12654 /* 32928 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12655 /* 32932 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12656 /* 32937 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12657 /* 32940 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12658 /* 32944 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12659 /* 32947 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12660 /* 32952 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12661 /* 32957 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12662 /* 32962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
12663 /* 32965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12664 /* 32967 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12665 /* 32969 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12666 /* 32972 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12667 /* 32975 */ GIR_RootConstrainSelectedInstOperands,
12668 /* 32976 */ // GIR_Coverage, 26308,
12669 /* 32976 */ GIR_EraseRootFromParent_Done,
12670 /* 32977 */ // Label 1055: @32977
12671 /* 32977 */ GIM_Try, /*On fail goto*//*Label 1056*/ GIMT_Encode4(33283),
12672 /* 32982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12673 /* 32986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1057*/ GIMT_Encode4(33028), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17399 //
12674 /* 32993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12675 /* 32997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12676 /* 33001 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
12677 /* 33005 */ // MIs[1] src
12678 /* 33005 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
12679 /* 33010 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12680 /* 33014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12681 /* 33016 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12682 /* 33016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
12683 /* 33019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12684 /* 33021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
12685 /* 33023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12686 /* 33026 */ GIR_RootConstrainSelectedInstOperands,
12687 /* 33027 */ // GIR_Coverage, 17399,
12688 /* 33027 */ GIR_EraseRootFromParent_Done,
12689 /* 33028 */ // Label 1057: @33028
12690 /* 33028 */ GIM_Try, /*On fail goto*//*Label 1058*/ GIMT_Encode4(33126), // Rule ID 23029 //
12691 /* 33033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12692 /* 33037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12693 /* 33041 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12694 /* 33045 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12695 /* 33049 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12696 /* 33053 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12697 /* 33058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12698 /* 33060 */ // (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] }))
12699 /* 33060 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12700 /* 33063 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12701 /* 33067 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12702 /* 33072 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12703 /* 33074 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12704 /* 33077 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12705 /* 33081 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12706 /* 33086 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12707 /* 33089 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12708 /* 33093 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12709 /* 33096 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12710 /* 33101 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12711 /* 33106 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12712 /* 33111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
12713 /* 33114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12714 /* 33116 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12715 /* 33118 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12716 /* 33121 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12717 /* 33124 */ GIR_RootConstrainSelectedInstOperands,
12718 /* 33125 */ // GIR_Coverage, 23029,
12719 /* 33125 */ GIR_EraseRootFromParent_Done,
12720 /* 33126 */ // Label 1058: @33126
12721 /* 33126 */ GIM_Try, /*On fail goto*//*Label 1059*/ GIMT_Encode4(33168),
12722 /* 33131 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12723 /* 33135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1060*/ GIMT_Encode4(33151), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 245 //
12724 /* 33142 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r:{ *:[i32] } GR32:{ *:[i32] }:$src1)
12725 /* 33142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r),
12726 /* 33145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12727 /* 33147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12728 /* 33149 */ GIR_RootConstrainSelectedInstOperands,
12729 /* 33150 */ // GIR_Coverage, 245,
12730 /* 33150 */ GIR_EraseRootFromParent_Done,
12731 /* 33151 */ // Label 1060: @33151
12732 /* 33151 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1061*/ GIMT_Encode4(33167), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 253 //
12733 /* 33158 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
12734 /* 33158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r_ND),
12735 /* 33161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12736 /* 33163 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12737 /* 33165 */ GIR_RootConstrainSelectedInstOperands,
12738 /* 33166 */ // GIR_Coverage, 253,
12739 /* 33166 */ GIR_EraseRootFromParent_Done,
12740 /* 33167 */ // Label 1061: @33167
12741 /* 33167 */ GIM_Reject,
12742 /* 33168 */ // Label 1059: @33168
12743 /* 33168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1062*/ GIMT_Encode4(33200), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23099 //
12744 /* 33175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12745 /* 33179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12746 /* 33183 */ // MIs[1] Operand 1
12747 /* 33183 */ // No operand predicates
12748 /* 33183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12749 /* 33185 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
12750 /* 33185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri),
12751 /* 33188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12752 /* 33190 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12753 /* 33192 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12754 /* 33195 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12755 /* 33198 */ GIR_RootConstrainSelectedInstOperands,
12756 /* 33199 */ // GIR_Coverage, 23099,
12757 /* 33199 */ GIR_EraseRootFromParent_Done,
12758 /* 33200 */ // Label 1062: @33200
12759 /* 33200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1063*/ GIMT_Encode4(33232), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23189 //
12760 /* 33207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12761 /* 33211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12762 /* 33215 */ // MIs[1] Operand 1
12763 /* 33215 */ // No operand predicates
12764 /* 33215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12765 /* 33217 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
12766 /* 33217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri_ND),
12767 /* 33220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12768 /* 33222 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12769 /* 33224 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12770 /* 33227 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12771 /* 33230 */ GIR_RootConstrainSelectedInstOperands,
12772 /* 33231 */ // GIR_Coverage, 23189,
12773 /* 33231 */ GIR_EraseRootFromParent_Done,
12774 /* 33232 */ // Label 1063: @33232
12775 /* 33232 */ GIM_Try, /*On fail goto*//*Label 1064*/ GIMT_Encode4(33282),
12776 /* 33237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12777 /* 33241 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1065*/ GIMT_Encode4(33261), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23091 //
12778 /* 33248 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
12779 /* 33248 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr),
12780 /* 33253 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12781 /* 33259 */ GIR_RootConstrainSelectedInstOperands,
12782 /* 33260 */ // GIR_Coverage, 23091,
12783 /* 33260 */ GIR_Done,
12784 /* 33261 */ // Label 1065: @33261
12785 /* 33261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1066*/ GIMT_Encode4(33281), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23181 //
12786 /* 33268 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
12787 /* 33268 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr_ND),
12788 /* 33273 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12789 /* 33279 */ GIR_RootConstrainSelectedInstOperands,
12790 /* 33280 */ // GIR_Coverage, 23181,
12791 /* 33280 */ GIR_Done,
12792 /* 33281 */ // Label 1066: @33281
12793 /* 33281 */ GIM_Reject,
12794 /* 33282 */ // Label 1064: @33282
12795 /* 33282 */ GIM_Reject,
12796 /* 33283 */ // Label 1056: @33283
12797 /* 33283 */ GIM_Reject,
12798 /* 33284 */ // Label 1054: @33284
12799 /* 33284 */ GIM_Reject,
12800 /* 33285 */ // Label 1045: @33285
12801 /* 33285 */ GIM_Reject,
12802 /* 33286 */ // Label 985: @33286
12803 /* 33286 */ GIM_Try, /*On fail goto*//*Label 1067*/ GIMT_Encode4(34054),
12804 /* 33291 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
12805 /* 33294 */ GIM_Try, /*On fail goto*//*Label 1068*/ GIMT_Encode4(33567),
12806 /* 33299 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
12807 /* 33302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12808 /* 33306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1069*/ GIMT_Encode4(33366), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26332 //
12809 /* 33313 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12810 /* 33317 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12811 /* 33321 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12812 /* 33324 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12813 /* 33328 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12814 /* 33332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12815 /* 33336 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12816 /* 33338 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12817 /* 33345 */ // (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)
12818 /* 33345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
12819 /* 33348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12820 /* 33350 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12821 /* 33352 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12822 /* 33356 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12823 /* 33359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12824 /* 33364 */ GIR_RootConstrainSelectedInstOperands,
12825 /* 33365 */ // GIR_Coverage, 26332,
12826 /* 33365 */ GIR_EraseRootFromParent_Done,
12827 /* 33366 */ // Label 1069: @33366
12828 /* 33366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1070*/ GIMT_Encode4(33426), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23096 //
12829 /* 33373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12830 /* 33377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12831 /* 33381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12832 /* 33385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12833 /* 33388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12834 /* 33392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12835 /* 33396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12836 /* 33398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12837 /* 33405 */ // (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)
12838 /* 33405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
12839 /* 33408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12840 /* 33410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12841 /* 33412 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12842 /* 33416 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12843 /* 33419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12844 /* 33424 */ GIR_RootConstrainSelectedInstOperands,
12845 /* 33425 */ // GIR_Coverage, 23096,
12846 /* 33425 */ GIR_EraseRootFromParent_Done,
12847 /* 33426 */ // Label 1070: @33426
12848 /* 33426 */ GIM_Try, /*On fail goto*//*Label 1071*/ GIMT_Encode4(33566),
12849 /* 33431 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12850 /* 33435 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1072*/ GIMT_Encode4(33500), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25262 //
12851 /* 33442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12852 /* 33446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
12853 /* 33450 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12854 /* 33454 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
12855 /* 33458 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_SUB),
12856 /* 33462 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
12857 /* 33466 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
12858 /* 33470 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/1, 0,
12859 /* 33474 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12860 /* 33479 */ // MIs[1] src
12861 /* 33479 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/2,
12862 /* 33484 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12863 /* 33486 */ // (xor:{ *:[i64] } (and:{ *:[i64] } (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src), GR64:{ *:[i64] }:$src), -1:{ *:[i64] }) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
12864 /* 33486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
12865 /* 33489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12866 /* 33491 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // src
12867 /* 33495 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12868 /* 33498 */ GIR_RootConstrainSelectedInstOperands,
12869 /* 33499 */ // GIR_Coverage, 25262,
12870 /* 33499 */ GIR_EraseRootFromParent_Done,
12871 /* 33500 */ // Label 1072: @33500
12872 /* 33500 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1073*/ GIMT_Encode4(33565), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17406 //
12873 /* 33507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12874 /* 33511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
12875 /* 33515 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12876 /* 33519 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
12877 /* 33523 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12878 /* 33528 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12879 /* 33532 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_SUB),
12880 /* 33536 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
12881 /* 33540 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/1, 0,
12882 /* 33544 */ // MIs[2] src
12883 /* 33544 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12884 /* 33549 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12885 /* 33551 */ // (xor:{ *:[i64] } (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src)), -1:{ *:[i64] }) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
12886 /* 33551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
12887 /* 33554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12888 /* 33556 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
12889 /* 33560 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12890 /* 33563 */ GIR_RootConstrainSelectedInstOperands,
12891 /* 33564 */ // GIR_Coverage, 17406,
12892 /* 33564 */ GIR_EraseRootFromParent_Done,
12893 /* 33565 */ // Label 1073: @33565
12894 /* 33565 */ GIM_Reject,
12895 /* 33566 */ // Label 1071: @33566
12896 /* 33566 */ GIM_Reject,
12897 /* 33567 */ // Label 1068: @33567
12898 /* 33567 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1074*/ GIMT_Encode4(33624), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25256 //
12899 /* 33574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12900 /* 33578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12901 /* 33582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12902 /* 33586 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12903 /* 33590 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
12904 /* 33594 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12905 /* 33599 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12906 /* 33603 */ // MIs[0] src
12907 /* 33603 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12908 /* 33608 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12909 /* 33610 */ // (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
12910 /* 33610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
12911 /* 33613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12912 /* 33615 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
12913 /* 33619 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12914 /* 33622 */ GIR_RootConstrainSelectedInstOperands,
12915 /* 33623 */ // GIR_Coverage, 25256,
12916 /* 33623 */ GIR_EraseRootFromParent_Done,
12917 /* 33624 */ // Label 1074: @33624
12918 /* 33624 */ GIM_Try, /*On fail goto*//*Label 1075*/ GIMT_Encode4(34053),
12919 /* 33629 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
12920 /* 33632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12921 /* 33636 */ GIM_Try, /*On fail goto*//*Label 1076*/ GIMT_Encode4(33738), // Rule ID 26314 //
12922 /* 33641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12923 /* 33645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12924 /* 33649 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12925 /* 33653 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12926 /* 33657 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12927 /* 33661 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12928 /* 33666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12929 /* 33670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12930 /* 33672 */ // (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] }))
12931 /* 33672 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
12932 /* 33675 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12933 /* 33679 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12934 /* 33684 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12935 /* 33686 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
12936 /* 33689 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12937 /* 33693 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12938 /* 33698 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12939 /* 33701 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12940 /* 33705 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12941 /* 33708 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
12942 /* 33713 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
12943 /* 33718 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12944 /* 33723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
12945 /* 33726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12946 /* 33728 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12947 /* 33730 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12948 /* 33733 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12949 /* 33736 */ GIR_RootConstrainSelectedInstOperands,
12950 /* 33737 */ // GIR_Coverage, 26314,
12951 /* 33737 */ GIR_EraseRootFromParent_Done,
12952 /* 33738 */ // Label 1076: @33738
12953 /* 33738 */ GIM_Try, /*On fail goto*//*Label 1077*/ GIMT_Encode4(34052),
12954 /* 33743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12955 /* 33747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1078*/ GIMT_Encode4(33789), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17400 //
12956 /* 33754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12957 /* 33758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12958 /* 33762 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
12959 /* 33766 */ // MIs[1] src
12960 /* 33766 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
12961 /* 33771 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12962 /* 33775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12963 /* 33777 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
12964 /* 33777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
12965 /* 33780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12966 /* 33782 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
12967 /* 33784 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12968 /* 33787 */ GIR_RootConstrainSelectedInstOperands,
12969 /* 33788 */ // GIR_Coverage, 17400,
12970 /* 33788 */ GIR_EraseRootFromParent_Done,
12971 /* 33789 */ // Label 1078: @33789
12972 /* 33789 */ GIM_Try, /*On fail goto*//*Label 1079*/ GIMT_Encode4(33887), // Rule ID 23035 //
12973 /* 33794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12974 /* 33798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12975 /* 33802 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12976 /* 33806 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12977 /* 33810 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12978 /* 33814 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12979 /* 33819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12980 /* 33821 */ // (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] }))
12981 /* 33821 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
12982 /* 33824 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12983 /* 33828 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12984 /* 33833 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12985 /* 33835 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
12986 /* 33838 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12987 /* 33842 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12988 /* 33847 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12989 /* 33850 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12990 /* 33854 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12991 /* 33857 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
12992 /* 33862 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
12993 /* 33867 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12994 /* 33872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
12995 /* 33875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12996 /* 33877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12997 /* 33879 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12998 /* 33882 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12999 /* 33885 */ GIR_RootConstrainSelectedInstOperands,
13000 /* 33886 */ // GIR_Coverage, 23035,
13001 /* 33886 */ GIR_EraseRootFromParent_Done,
13002 /* 33887 */ // Label 1079: @33887
13003 /* 33887 */ GIM_Try, /*On fail goto*//*Label 1080*/ GIMT_Encode4(33929),
13004 /* 33892 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13005 /* 33896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1081*/ GIMT_Encode4(33912), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 246 //
13006 /* 33903 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r:{ *:[i64] } GR64:{ *:[i64] }:$src1)
13007 /* 33903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r),
13008 /* 33906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13009 /* 33908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13010 /* 33910 */ GIR_RootConstrainSelectedInstOperands,
13011 /* 33911 */ // GIR_Coverage, 246,
13012 /* 33911 */ GIR_EraseRootFromParent_Done,
13013 /* 33912 */ // Label 1081: @33912
13014 /* 33912 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1082*/ GIMT_Encode4(33928), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 254 //
13015 /* 33919 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
13016 /* 33919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r_ND),
13017 /* 33922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13018 /* 33924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13019 /* 33926 */ GIR_RootConstrainSelectedInstOperands,
13020 /* 33927 */ // GIR_Coverage, 254,
13021 /* 33927 */ GIR_EraseRootFromParent_Done,
13022 /* 33928 */ // Label 1082: @33928
13023 /* 33928 */ GIM_Reject,
13024 /* 33929 */ // Label 1080: @33929
13025 /* 33929 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1083*/ GIMT_Encode4(33965), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23100 //
13026 /* 33936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13027 /* 33940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13028 /* 33944 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
13029 /* 33948 */ // MIs[1] Operand 1
13030 /* 33948 */ // No operand predicates
13031 /* 33948 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13032 /* 33950 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
13033 /* 33950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32),
13034 /* 33953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13035 /* 33955 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13036 /* 33957 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13037 /* 33960 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13038 /* 33963 */ GIR_RootConstrainSelectedInstOperands,
13039 /* 33964 */ // GIR_Coverage, 23100,
13040 /* 33964 */ GIR_EraseRootFromParent_Done,
13041 /* 33965 */ // Label 1083: @33965
13042 /* 33965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1084*/ GIMT_Encode4(34001), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23190 //
13043 /* 33972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13044 /* 33976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13045 /* 33980 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
13046 /* 33984 */ // MIs[1] Operand 1
13047 /* 33984 */ // No operand predicates
13048 /* 33984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13049 /* 33986 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
13050 /* 33986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32_ND),
13051 /* 33989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13052 /* 33991 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13053 /* 33993 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13054 /* 33996 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13055 /* 33999 */ GIR_RootConstrainSelectedInstOperands,
13056 /* 34000 */ // GIR_Coverage, 23190,
13057 /* 34000 */ GIR_EraseRootFromParent_Done,
13058 /* 34001 */ // Label 1084: @34001
13059 /* 34001 */ GIM_Try, /*On fail goto*//*Label 1085*/ GIMT_Encode4(34051),
13060 /* 34006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13061 /* 34010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1086*/ GIMT_Encode4(34030), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23092 //
13062 /* 34017 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
13063 /* 34017 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr),
13064 /* 34022 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13065 /* 34028 */ GIR_RootConstrainSelectedInstOperands,
13066 /* 34029 */ // GIR_Coverage, 23092,
13067 /* 34029 */ GIR_Done,
13068 /* 34030 */ // Label 1086: @34030
13069 /* 34030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1087*/ GIMT_Encode4(34050), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23182 //
13070 /* 34037 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
13071 /* 34037 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr_ND),
13072 /* 34042 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13073 /* 34048 */ GIR_RootConstrainSelectedInstOperands,
13074 /* 34049 */ // GIR_Coverage, 23182,
13075 /* 34049 */ GIR_Done,
13076 /* 34050 */ // Label 1087: @34050
13077 /* 34050 */ GIM_Reject,
13078 /* 34051 */ // Label 1085: @34051
13079 /* 34051 */ GIM_Reject,
13080 /* 34052 */ // Label 1077: @34052
13081 /* 34052 */ GIM_Reject,
13082 /* 34053 */ // Label 1075: @34053
13083 /* 34053 */ GIM_Reject,
13084 /* 34054 */ // Label 1067: @34054
13085 /* 34054 */ GIM_Reject,
13086 /* 34055 */ // Label 986: @34055
13087 /* 34055 */ GIM_Try, /*On fail goto*//*Label 1088*/ GIMT_Encode4(34594),
13088 /* 34060 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
13089 /* 34063 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
13090 /* 34066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13091 /* 34070 */ GIM_Try, /*On fail goto*//*Label 1089*/ GIMT_Encode4(34190), // Rule ID 25634 //
13092 /* 34075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13093 /* 34079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13094 /* 34083 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13095 /* 34087 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13096 /* 34091 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13097 /* 34096 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13098 /* 34100 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13099 /* 34106 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13100 /* 34108 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13101 /* 34112 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13102 /* 34114 */ // (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] })
13103 /* 34114 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13104 /* 34117 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13105 /* 34121 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13106 /* 34126 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13107 /* 34130 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13108 /* 34135 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13109 /* 34138 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13110 /* 34142 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13111 /* 34147 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13112 /* 34151 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13113 /* 34156 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13114 /* 34159 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13115 /* 34163 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13116 /* 34168 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13117 /* 34171 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13118 /* 34174 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13119 /* 34176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13120 /* 34179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13121 /* 34181 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13122 /* 34184 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13123 /* 34189 */ // GIR_Coverage, 25634,
13124 /* 34189 */ GIR_EraseRootFromParent_Done,
13125 /* 34190 */ // Label 1089: @34190
13126 /* 34190 */ GIM_Try, /*On fail goto*//*Label 1090*/ GIMT_Encode4(34311), // Rule ID 19601 //
13127 /* 34195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13128 /* 34199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13129 /* 34203 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13130 /* 34207 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13131 /* 34211 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13132 /* 34216 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13133 /* 34221 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13134 /* 34225 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13135 /* 34231 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13136 /* 34233 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13137 /* 34235 */ // (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] })
13138 /* 34235 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13139 /* 34238 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13140 /* 34242 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13141 /* 34247 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13142 /* 34251 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13143 /* 34256 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13144 /* 34259 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13145 /* 34263 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13146 /* 34268 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13147 /* 34272 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13148 /* 34277 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13149 /* 34280 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13150 /* 34284 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13151 /* 34289 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13152 /* 34292 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13153 /* 34295 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13154 /* 34297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13155 /* 34300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13156 /* 34302 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13157 /* 34305 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13158 /* 34310 */ // GIR_Coverage, 19601,
13159 /* 34310 */ GIR_EraseRootFromParent_Done,
13160 /* 34311 */ // Label 1090: @34311
13161 /* 34311 */ GIM_Try, /*On fail goto*//*Label 1091*/ GIMT_Encode4(34593),
13162 /* 34316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13163 /* 34320 */ GIM_Try, /*On fail goto*//*Label 1092*/ GIMT_Encode4(34436), // Rule ID 25635 //
13164 /* 34325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13165 /* 34329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13166 /* 34333 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13167 /* 34337 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13168 /* 34341 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13169 /* 34346 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13170 /* 34350 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13171 /* 34356 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13172 /* 34358 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13173 /* 34360 */ // (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] })
13174 /* 34360 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13175 /* 34363 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13176 /* 34367 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13177 /* 34372 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13178 /* 34376 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13179 /* 34381 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13180 /* 34384 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13181 /* 34388 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13182 /* 34393 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13183 /* 34397 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13184 /* 34402 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13185 /* 34405 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13186 /* 34409 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13187 /* 34414 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13188 /* 34417 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13189 /* 34420 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13190 /* 34422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13191 /* 34425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13192 /* 34427 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13193 /* 34430 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13194 /* 34435 */ // GIR_Coverage, 25635,
13195 /* 34435 */ GIR_EraseRootFromParent_Done,
13196 /* 34436 */ // Label 1092: @34436
13197 /* 34436 */ GIM_Try, /*On fail goto*//*Label 1093*/ GIMT_Encode4(34507), // Rule ID 19585 //
13198 /* 34441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13199 /* 34445 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13200 /* 34451 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13201 /* 34453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13202 /* 34455 */ // (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src, immAllOnesV:{ *:[v2i1] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
13203 /* 34455 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13204 /* 34458 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13205 /* 34462 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13206 /* 34467 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13207 /* 34471 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13208 /* 34476 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13209 /* 34479 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13210 /* 34483 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13211 /* 34488 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13212 /* 34491 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13213 /* 34493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13214 /* 34496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13215 /* 34498 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13216 /* 34501 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13217 /* 34506 */ // GIR_Coverage, 19585,
13218 /* 34506 */ GIR_EraseRootFromParent_Done,
13219 /* 34507 */ // Label 1093: @34507
13220 /* 34507 */ GIM_Try, /*On fail goto*//*Label 1094*/ GIMT_Encode4(34592), // Rule ID 19605 //
13221 /* 34512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13222 /* 34516 */ // (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] })
13223 /* 34516 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13224 /* 34519 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13225 /* 34523 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13226 /* 34528 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13227 /* 34532 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13228 /* 34537 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13229 /* 34540 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13230 /* 34544 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13231 /* 34549 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13232 /* 34553 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13233 /* 34558 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13234 /* 34561 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13235 /* 34565 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13236 /* 34570 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13237 /* 34573 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13238 /* 34576 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13239 /* 34578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13240 /* 34581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13241 /* 34583 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13242 /* 34586 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13243 /* 34591 */ // GIR_Coverage, 19605,
13244 /* 34591 */ GIR_EraseRootFromParent_Done,
13245 /* 34592 */ // Label 1094: @34592
13246 /* 34592 */ GIM_Reject,
13247 /* 34593 */ // Label 1091: @34593
13248 /* 34593 */ GIM_Reject,
13249 /* 34594 */ // Label 1088: @34594
13250 /* 34594 */ GIM_Reject,
13251 /* 34595 */ // Label 987: @34595
13252 /* 34595 */ GIM_Try, /*On fail goto*//*Label 1095*/ GIMT_Encode4(35134),
13253 /* 34600 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
13254 /* 34603 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
13255 /* 34606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13256 /* 34610 */ GIM_Try, /*On fail goto*//*Label 1096*/ GIMT_Encode4(34730), // Rule ID 25636 //
13257 /* 34615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13258 /* 34619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13259 /* 34623 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13260 /* 34627 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13261 /* 34631 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13262 /* 34636 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13263 /* 34640 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13264 /* 34646 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13265 /* 34648 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13266 /* 34652 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13267 /* 34654 */ // (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] })
13268 /* 34654 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13269 /* 34657 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13270 /* 34661 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13271 /* 34666 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13272 /* 34670 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13273 /* 34675 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13274 /* 34678 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13275 /* 34682 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13276 /* 34687 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13277 /* 34691 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13278 /* 34696 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13279 /* 34699 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13280 /* 34703 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13281 /* 34708 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13282 /* 34711 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13283 /* 34714 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13284 /* 34716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13285 /* 34719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13286 /* 34721 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13287 /* 34724 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13288 /* 34729 */ // GIR_Coverage, 25636,
13289 /* 34729 */ GIR_EraseRootFromParent_Done,
13290 /* 34730 */ // Label 1096: @34730
13291 /* 34730 */ GIM_Try, /*On fail goto*//*Label 1097*/ GIMT_Encode4(34851), // Rule ID 19602 //
13292 /* 34735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13293 /* 34739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13294 /* 34743 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13295 /* 34747 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13296 /* 34751 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13297 /* 34756 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13298 /* 34761 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13299 /* 34765 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13300 /* 34771 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13301 /* 34773 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13302 /* 34775 */ // (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] })
13303 /* 34775 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13304 /* 34778 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13305 /* 34782 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13306 /* 34787 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13307 /* 34791 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13308 /* 34796 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13309 /* 34799 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13310 /* 34803 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13311 /* 34808 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13312 /* 34812 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13313 /* 34817 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13314 /* 34820 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13315 /* 34824 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13316 /* 34829 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13317 /* 34832 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13318 /* 34835 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13319 /* 34837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13320 /* 34840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13321 /* 34842 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13322 /* 34845 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13323 /* 34850 */ // GIR_Coverage, 19602,
13324 /* 34850 */ GIR_EraseRootFromParent_Done,
13325 /* 34851 */ // Label 1097: @34851
13326 /* 34851 */ GIM_Try, /*On fail goto*//*Label 1098*/ GIMT_Encode4(35133),
13327 /* 34856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13328 /* 34860 */ GIM_Try, /*On fail goto*//*Label 1099*/ GIMT_Encode4(34976), // Rule ID 25637 //
13329 /* 34865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13330 /* 34869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13331 /* 34873 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13332 /* 34877 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13333 /* 34881 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13334 /* 34886 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13335 /* 34890 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13336 /* 34896 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13337 /* 34898 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13338 /* 34900 */ // (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] })
13339 /* 34900 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13340 /* 34903 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13341 /* 34907 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13342 /* 34912 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13343 /* 34916 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13344 /* 34921 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13345 /* 34924 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13346 /* 34928 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13347 /* 34933 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13348 /* 34937 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13349 /* 34942 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13350 /* 34945 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13351 /* 34949 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13352 /* 34954 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13353 /* 34957 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13354 /* 34960 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13355 /* 34962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13356 /* 34965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13357 /* 34967 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13358 /* 34970 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13359 /* 34975 */ // GIR_Coverage, 25637,
13360 /* 34975 */ GIR_EraseRootFromParent_Done,
13361 /* 34976 */ // Label 1099: @34976
13362 /* 34976 */ GIM_Try, /*On fail goto*//*Label 1100*/ GIMT_Encode4(35047), // Rule ID 19584 //
13363 /* 34981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13364 /* 34985 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13365 /* 34991 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13366 /* 34993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13367 /* 34995 */ // (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src, immAllOnesV:{ *:[v4i1] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src, VK16:{ *:[i32] })), VK4:{ *:[i32] })
13368 /* 34995 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13369 /* 34998 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13370 /* 35002 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13371 /* 35007 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13372 /* 35011 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13373 /* 35016 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13374 /* 35019 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13375 /* 35023 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13376 /* 35028 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13377 /* 35031 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13378 /* 35033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13379 /* 35036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13380 /* 35038 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13381 /* 35041 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13382 /* 35046 */ // GIR_Coverage, 19584,
13383 /* 35046 */ GIR_EraseRootFromParent_Done,
13384 /* 35047 */ // Label 1100: @35047
13385 /* 35047 */ GIM_Try, /*On fail goto*//*Label 1101*/ GIMT_Encode4(35132), // Rule ID 19606 //
13386 /* 35052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13387 /* 35056 */ // (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] })
13388 /* 35056 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13389 /* 35059 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13390 /* 35063 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13391 /* 35068 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13392 /* 35072 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13393 /* 35077 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13394 /* 35080 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13395 /* 35084 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13396 /* 35089 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13397 /* 35093 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13398 /* 35098 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13399 /* 35101 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13400 /* 35105 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13401 /* 35110 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13402 /* 35113 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13403 /* 35116 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13404 /* 35118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13405 /* 35121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13406 /* 35123 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13407 /* 35126 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13408 /* 35131 */ // GIR_Coverage, 19606,
13409 /* 35131 */ GIR_EraseRootFromParent_Done,
13410 /* 35132 */ // Label 1101: @35132
13411 /* 35132 */ GIM_Reject,
13412 /* 35133 */ // Label 1098: @35133
13413 /* 35133 */ GIM_Reject,
13414 /* 35134 */ // Label 1095: @35134
13415 /* 35134 */ GIM_Reject,
13416 /* 35135 */ // Label 988: @35135
13417 /* 35135 */ GIM_Try, /*On fail goto*//*Label 1102*/ GIMT_Encode4(35912),
13418 /* 35140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
13419 /* 35143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
13420 /* 35146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13421 /* 35150 */ GIM_Try, /*On fail goto*//*Label 1103*/ GIMT_Encode4(35333),
13422 /* 35155 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13423 /* 35159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1104*/ GIMT_Encode4(35214), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 23940 //
13424 /* 35166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13425 /* 35170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13426 /* 35174 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13427 /* 35178 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13428 /* 35182 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13429 /* 35187 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13430 /* 35191 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13431 /* 35197 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13432 /* 35199 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13433 /* 35201 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13434 /* 35201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
13435 /* 35204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13436 /* 35206 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13437 /* 35210 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
13438 /* 35212 */ GIR_RootConstrainSelectedInstOperands,
13439 /* 35213 */ // GIR_Coverage, 23940,
13440 /* 35213 */ GIR_EraseRootFromParent_Done,
13441 /* 35214 */ // Label 1104: @35214
13442 /* 35214 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1105*/ GIMT_Encode4(35332), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 25630 //
13443 /* 35221 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13444 /* 35225 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13445 /* 35229 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13446 /* 35233 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13447 /* 35237 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13448 /* 35242 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13449 /* 35246 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13450 /* 35252 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13451 /* 35254 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13452 /* 35256 */ // (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] })
13453 /* 35256 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13454 /* 35259 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13455 /* 35263 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13456 /* 35268 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13457 /* 35272 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13458 /* 35277 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13459 /* 35280 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13460 /* 35284 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13461 /* 35289 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13462 /* 35293 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13463 /* 35298 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13464 /* 35301 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13465 /* 35305 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13466 /* 35310 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13467 /* 35313 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13468 /* 35316 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13469 /* 35318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13470 /* 35321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13471 /* 35323 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13472 /* 35326 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13473 /* 35331 */ // GIR_Coverage, 25630,
13474 /* 35331 */ GIR_EraseRootFromParent_Done,
13475 /* 35332 */ // Label 1105: @35332
13476 /* 35332 */ GIM_Reject,
13477 /* 35333 */ // Label 1103: @35333
13478 /* 35333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1106*/ GIMT_Encode4(35395), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4411 //
13479 /* 35340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13480 /* 35344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13481 /* 35348 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13482 /* 35352 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13483 /* 35356 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13484 /* 35361 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13485 /* 35366 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13486 /* 35370 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13487 /* 35376 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13488 /* 35378 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13489 /* 35380 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2), immAllOnesV:{ *:[v8i1] }) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13490 /* 35380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
13491 /* 35383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13492 /* 35385 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13493 /* 35389 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
13494 /* 35393 */ GIR_RootConstrainSelectedInstOperands,
13495 /* 35394 */ // GIR_Coverage, 4411,
13496 /* 35394 */ GIR_EraseRootFromParent_Done,
13497 /* 35395 */ // Label 1106: @35395
13498 /* 35395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1107*/ GIMT_Encode4(35518), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19599 //
13499 /* 35402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13500 /* 35406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13501 /* 35410 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13502 /* 35414 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13503 /* 35418 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13504 /* 35423 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13505 /* 35428 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13506 /* 35432 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13507 /* 35438 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13508 /* 35440 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13509 /* 35442 */ // (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] })
13510 /* 35442 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13511 /* 35445 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13512 /* 35449 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13513 /* 35454 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13514 /* 35458 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13515 /* 35463 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13516 /* 35466 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13517 /* 35470 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13518 /* 35475 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13519 /* 35479 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13520 /* 35484 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13521 /* 35487 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13522 /* 35491 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13523 /* 35496 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13524 /* 35499 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13525 /* 35502 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13526 /* 35504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13527 /* 35507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13528 /* 35509 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13529 /* 35512 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13530 /* 35517 */ // GIR_Coverage, 19599,
13531 /* 35517 */ GIR_EraseRootFromParent_Done,
13532 /* 35518 */ // Label 1107: @35518
13533 /* 35518 */ GIM_Try, /*On fail goto*//*Label 1108*/ GIMT_Encode4(35911),
13534 /* 35523 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13535 /* 35527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1109*/ GIMT_Encode4(35582), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 23941 //
13536 /* 35534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13537 /* 35538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13538 /* 35542 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13539 /* 35546 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13540 /* 35550 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13541 /* 35555 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13542 /* 35559 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13543 /* 35565 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13544 /* 35567 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13545 /* 35569 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13546 /* 35569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
13547 /* 35572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13548 /* 35574 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13549 /* 35578 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
13550 /* 35580 */ GIR_RootConstrainSelectedInstOperands,
13551 /* 35581 */ // GIR_Coverage, 23941,
13552 /* 35581 */ GIR_EraseRootFromParent_Done,
13553 /* 35582 */ // Label 1109: @35582
13554 /* 35582 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1110*/ GIMT_Encode4(35700), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 25631 //
13555 /* 35589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13556 /* 35593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13557 /* 35597 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13558 /* 35601 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13559 /* 35605 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13560 /* 35610 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13561 /* 35614 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13562 /* 35620 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13563 /* 35622 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13564 /* 35624 */ // (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] })
13565 /* 35624 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13566 /* 35627 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13567 /* 35631 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13568 /* 35636 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13569 /* 35640 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13570 /* 35645 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13571 /* 35648 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13572 /* 35652 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13573 /* 35657 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13574 /* 35661 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13575 /* 35666 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13576 /* 35669 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13577 /* 35673 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13578 /* 35678 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13579 /* 35681 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13580 /* 35684 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13581 /* 35686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13582 /* 35689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13583 /* 35691 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13584 /* 35694 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13585 /* 35699 */ // GIR_Coverage, 25631,
13586 /* 35699 */ GIR_EraseRootFromParent_Done,
13587 /* 35700 */ // Label 1110: @35700
13588 /* 35700 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1111*/ GIMT_Encode4(35730), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4399 //
13589 /* 35707 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13590 /* 35711 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13591 /* 35717 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13592 /* 35719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13593 /* 35721 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (KNOTBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src)
13594 /* 35721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTBkk),
13595 /* 35724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13596 /* 35726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13597 /* 35728 */ GIR_RootConstrainSelectedInstOperands,
13598 /* 35729 */ // GIR_Coverage, 4399,
13599 /* 35729 */ GIR_EraseRootFromParent_Done,
13600 /* 35730 */ // Label 1111: @35730
13601 /* 35730 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1112*/ GIMT_Encode4(35803), GIMT_Encode2(GIFBS_HasAVX512_NoDQI), // Rule ID 19583 //
13602 /* 35737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13603 /* 35741 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13604 /* 35747 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13605 /* 35749 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13606 /* 35751 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src, VK16:{ *:[i32] })), VK8:{ *:[i32] })
13607 /* 35751 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13608 /* 35754 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13609 /* 35758 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13610 /* 35763 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13611 /* 35767 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13612 /* 35772 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13613 /* 35775 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13614 /* 35779 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13615 /* 35784 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13616 /* 35787 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13617 /* 35789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13618 /* 35792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13619 /* 35794 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13620 /* 35797 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13621 /* 35802 */ // GIR_Coverage, 19583,
13622 /* 35802 */ GIR_EraseRootFromParent_Done,
13623 /* 35803 */ // Label 1112: @35803
13624 /* 35803 */ GIM_Try, /*On fail goto*//*Label 1113*/ GIMT_Encode4(35910),
13625 /* 35808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13626 /* 35812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1114*/ GIMT_Encode4(35826), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4415 //
13627 /* 35819 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KXORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13628 /* 35819 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORBkk),
13629 /* 35824 */ GIR_RootConstrainSelectedInstOperands,
13630 /* 35825 */ // GIR_Coverage, 4415,
13631 /* 35825 */ GIR_Done,
13632 /* 35826 */ // Label 1114: @35826
13633 /* 35826 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1115*/ GIMT_Encode4(35909), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19603 //
13634 /* 35833 */ // (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] })
13635 /* 35833 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13636 /* 35836 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13637 /* 35840 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13638 /* 35845 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13639 /* 35849 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13640 /* 35854 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13641 /* 35857 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13642 /* 35861 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13643 /* 35866 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13644 /* 35870 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13645 /* 35875 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13646 /* 35878 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13647 /* 35882 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13648 /* 35887 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13649 /* 35890 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13650 /* 35893 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13651 /* 35895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13652 /* 35898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13653 /* 35900 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13654 /* 35903 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13655 /* 35908 */ // GIR_Coverage, 19603,
13656 /* 35908 */ GIR_EraseRootFromParent_Done,
13657 /* 35909 */ // Label 1115: @35909
13658 /* 35909 */ GIM_Reject,
13659 /* 35910 */ // Label 1113: @35910
13660 /* 35910 */ GIM_Reject,
13661 /* 35911 */ // Label 1108: @35911
13662 /* 35911 */ GIM_Reject,
13663 /* 35912 */ // Label 1102: @35912
13664 /* 35912 */ GIM_Reject,
13665 /* 35913 */ // Label 989: @35913
13666 /* 35913 */ GIM_Try, /*On fail goto*//*Label 1116*/ GIMT_Encode4(36163),
13667 /* 35918 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
13668 /* 35921 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
13669 /* 35924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13670 /* 35928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1117*/ GIMT_Encode4(35987), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23942 //
13671 /* 35935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13672 /* 35939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13673 /* 35943 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
13674 /* 35947 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
13675 /* 35951 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13676 /* 35956 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13677 /* 35960 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13678 /* 35966 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13679 /* 35968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13680 /* 35972 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13681 /* 35974 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
13682 /* 35974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13683 /* 35977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13684 /* 35979 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13685 /* 35983 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
13686 /* 35985 */ GIR_RootConstrainSelectedInstOperands,
13687 /* 35986 */ // GIR_Coverage, 23942,
13688 /* 35986 */ GIR_EraseRootFromParent_Done,
13689 /* 35987 */ // Label 1117: @35987
13690 /* 35987 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1118*/ GIMT_Encode4(36049), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4412 //
13691 /* 35994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13692 /* 35998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13693 /* 36002 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
13694 /* 36006 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
13695 /* 36010 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13696 /* 36015 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13697 /* 36020 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13698 /* 36024 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13699 /* 36030 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13700 /* 36032 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13701 /* 36034 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2), immAllOnesV:{ *:[v16i1] }) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
13702 /* 36034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13703 /* 36037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13704 /* 36039 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13705 /* 36043 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
13706 /* 36047 */ GIR_RootConstrainSelectedInstOperands,
13707 /* 36048 */ // GIR_Coverage, 4412,
13708 /* 36048 */ GIR_EraseRootFromParent_Done,
13709 /* 36049 */ // Label 1118: @36049
13710 /* 36049 */ GIM_Try, /*On fail goto*//*Label 1119*/ GIMT_Encode4(36162),
13711 /* 36054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13712 /* 36058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1120*/ GIMT_Encode4(36113), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23943 //
13713 /* 36065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13714 /* 36069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13715 /* 36073 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
13716 /* 36077 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
13717 /* 36081 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13718 /* 36086 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13719 /* 36090 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13720 /* 36096 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13721 /* 36098 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13722 /* 36100 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
13723 /* 36100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13724 /* 36103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13725 /* 36105 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13726 /* 36109 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
13727 /* 36111 */ GIR_RootConstrainSelectedInstOperands,
13728 /* 36112 */ // GIR_Coverage, 23943,
13729 /* 36112 */ GIR_EraseRootFromParent_Done,
13730 /* 36113 */ // Label 1120: @36113
13731 /* 36113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1121*/ GIMT_Encode4(36143), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4400 //
13732 /* 36120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13733 /* 36124 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13734 /* 36130 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13735 /* 36132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13736 /* 36134 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src, immAllOnesV:{ *:[v16i1] }) => (KNOTWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src)
13737 /* 36134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13738 /* 36137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13739 /* 36139 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13740 /* 36141 */ GIR_RootConstrainSelectedInstOperands,
13741 /* 36142 */ // GIR_Coverage, 4400,
13742 /* 36142 */ GIR_EraseRootFromParent_Done,
13743 /* 36143 */ // Label 1121: @36143
13744 /* 36143 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1122*/ GIMT_Encode4(36161), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4416 //
13745 /* 36150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13746 /* 36154 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KXORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
13747 /* 36154 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13748 /* 36159 */ GIR_RootConstrainSelectedInstOperands,
13749 /* 36160 */ // GIR_Coverage, 4416,
13750 /* 36160 */ GIR_Done,
13751 /* 36161 */ // Label 1122: @36161
13752 /* 36161 */ GIM_Reject,
13753 /* 36162 */ // Label 1119: @36162
13754 /* 36162 */ GIM_Reject,
13755 /* 36163 */ // Label 1116: @36163
13756 /* 36163 */ GIM_Reject,
13757 /* 36164 */ // Label 990: @36164
13758 /* 36164 */ GIM_Try, /*On fail goto*//*Label 1123*/ GIMT_Encode4(36414),
13759 /* 36169 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
13760 /* 36172 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
13761 /* 36175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13762 /* 36179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1124*/ GIMT_Encode4(36238), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23944 //
13763 /* 36186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13764 /* 36190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13765 /* 36194 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
13766 /* 36198 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
13767 /* 36202 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13768 /* 36207 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13769 /* 36211 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13770 /* 36217 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13771 /* 36219 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13772 /* 36223 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13773 /* 36225 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
13774 /* 36225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
13775 /* 36228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13776 /* 36230 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13777 /* 36234 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
13778 /* 36236 */ GIR_RootConstrainSelectedInstOperands,
13779 /* 36237 */ // GIR_Coverage, 23944,
13780 /* 36237 */ GIR_EraseRootFromParent_Done,
13781 /* 36238 */ // Label 1124: @36238
13782 /* 36238 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1125*/ GIMT_Encode4(36300), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4413 //
13783 /* 36245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13784 /* 36249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13785 /* 36253 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
13786 /* 36257 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
13787 /* 36261 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13788 /* 36266 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13789 /* 36271 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13790 /* 36275 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13791 /* 36281 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13792 /* 36283 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13793 /* 36285 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2), immAllOnesV:{ *:[v32i1] }) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
13794 /* 36285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
13795 /* 36288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13796 /* 36290 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13797 /* 36294 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
13798 /* 36298 */ GIR_RootConstrainSelectedInstOperands,
13799 /* 36299 */ // GIR_Coverage, 4413,
13800 /* 36299 */ GIR_EraseRootFromParent_Done,
13801 /* 36300 */ // Label 1125: @36300
13802 /* 36300 */ GIM_Try, /*On fail goto*//*Label 1126*/ GIMT_Encode4(36413),
13803 /* 36305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13804 /* 36309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1127*/ GIMT_Encode4(36364), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23945 //
13805 /* 36316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13806 /* 36320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13807 /* 36324 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
13808 /* 36328 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
13809 /* 36332 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13810 /* 36337 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13811 /* 36341 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13812 /* 36347 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13813 /* 36349 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13814 /* 36351 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
13815 /* 36351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
13816 /* 36354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13817 /* 36356 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13818 /* 36360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
13819 /* 36362 */ GIR_RootConstrainSelectedInstOperands,
13820 /* 36363 */ // GIR_Coverage, 23945,
13821 /* 36363 */ GIR_EraseRootFromParent_Done,
13822 /* 36364 */ // Label 1127: @36364
13823 /* 36364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1128*/ GIMT_Encode4(36394), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4401 //
13824 /* 36371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13825 /* 36375 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13826 /* 36381 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13827 /* 36383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13828 /* 36385 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src, immAllOnesV:{ *:[v32i1] }) => (KNOTDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src)
13829 /* 36385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTDkk),
13830 /* 36388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13831 /* 36390 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13832 /* 36392 */ GIR_RootConstrainSelectedInstOperands,
13833 /* 36393 */ // GIR_Coverage, 4401,
13834 /* 36393 */ GIR_EraseRootFromParent_Done,
13835 /* 36394 */ // Label 1128: @36394
13836 /* 36394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1129*/ GIMT_Encode4(36412), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4417 //
13837 /* 36401 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13838 /* 36405 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KXORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
13839 /* 36405 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORDkk),
13840 /* 36410 */ GIR_RootConstrainSelectedInstOperands,
13841 /* 36411 */ // GIR_Coverage, 4417,
13842 /* 36411 */ GIR_Done,
13843 /* 36412 */ // Label 1129: @36412
13844 /* 36412 */ GIM_Reject,
13845 /* 36413 */ // Label 1126: @36413
13846 /* 36413 */ GIM_Reject,
13847 /* 36414 */ // Label 1123: @36414
13848 /* 36414 */ GIM_Reject,
13849 /* 36415 */ // Label 991: @36415
13850 /* 36415 */ GIM_Try, /*On fail goto*//*Label 1130*/ GIMT_Encode4(36665),
13851 /* 36420 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
13852 /* 36423 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
13853 /* 36426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13854 /* 36430 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1131*/ GIMT_Encode4(36489), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23946 //
13855 /* 36437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13856 /* 36441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13857 /* 36445 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
13858 /* 36449 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
13859 /* 36453 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13860 /* 36458 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13861 /* 36462 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13862 /* 36468 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13863 /* 36470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13864 /* 36474 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13865 /* 36476 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
13866 /* 36476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
13867 /* 36479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13868 /* 36481 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13869 /* 36485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
13870 /* 36487 */ GIR_RootConstrainSelectedInstOperands,
13871 /* 36488 */ // GIR_Coverage, 23946,
13872 /* 36488 */ GIR_EraseRootFromParent_Done,
13873 /* 36489 */ // Label 1131: @36489
13874 /* 36489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1132*/ GIMT_Encode4(36551), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4414 //
13875 /* 36496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13876 /* 36500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13877 /* 36504 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
13878 /* 36508 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
13879 /* 36512 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13880 /* 36517 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13881 /* 36522 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13882 /* 36526 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13883 /* 36532 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13884 /* 36534 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13885 /* 36536 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2), immAllOnesV:{ *:[v64i1] }) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
13886 /* 36536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
13887 /* 36539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13888 /* 36541 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13889 /* 36545 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
13890 /* 36549 */ GIR_RootConstrainSelectedInstOperands,
13891 /* 36550 */ // GIR_Coverage, 4414,
13892 /* 36550 */ GIR_EraseRootFromParent_Done,
13893 /* 36551 */ // Label 1132: @36551
13894 /* 36551 */ GIM_Try, /*On fail goto*//*Label 1133*/ GIMT_Encode4(36664),
13895 /* 36556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13896 /* 36560 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1134*/ GIMT_Encode4(36615), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23947 //
13897 /* 36567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13898 /* 36571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13899 /* 36575 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
13900 /* 36579 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
13901 /* 36583 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13902 /* 36588 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13903 /* 36592 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13904 /* 36598 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13905 /* 36600 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13906 /* 36602 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
13907 /* 36602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
13908 /* 36605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13909 /* 36607 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13910 /* 36611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
13911 /* 36613 */ GIR_RootConstrainSelectedInstOperands,
13912 /* 36614 */ // GIR_Coverage, 23947,
13913 /* 36614 */ GIR_EraseRootFromParent_Done,
13914 /* 36615 */ // Label 1134: @36615
13915 /* 36615 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1135*/ GIMT_Encode4(36645), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4402 //
13916 /* 36622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13917 /* 36626 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13918 /* 36632 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13919 /* 36634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13920 /* 36636 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src, immAllOnesV:{ *:[v64i1] }) => (KNOTQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src)
13921 /* 36636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTQkk),
13922 /* 36639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13923 /* 36641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13924 /* 36643 */ GIR_RootConstrainSelectedInstOperands,
13925 /* 36644 */ // GIR_Coverage, 4402,
13926 /* 36644 */ GIR_EraseRootFromParent_Done,
13927 /* 36645 */ // Label 1135: @36645
13928 /* 36645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1136*/ GIMT_Encode4(36663), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4418 //
13929 /* 36652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13930 /* 36656 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KXORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
13931 /* 36656 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORQkk),
13932 /* 36661 */ GIR_RootConstrainSelectedInstOperands,
13933 /* 36662 */ // GIR_Coverage, 4418,
13934 /* 36662 */ GIR_Done,
13935 /* 36663 */ // Label 1136: @36663
13936 /* 36663 */ GIM_Reject,
13937 /* 36664 */ // Label 1133: @36664
13938 /* 36664 */ GIM_Reject,
13939 /* 36665 */ // Label 1130: @36665
13940 /* 36665 */ GIM_Reject,
13941 /* 36666 */ // Label 992: @36666
13942 /* 36666 */ GIM_Try, /*On fail goto*//*Label 1137*/ GIMT_Encode4(37270),
13943 /* 36671 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
13944 /* 36674 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
13945 /* 36677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1138*/ GIMT_Encode4(36738), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25517 //
13946 /* 36684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13947 /* 36688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13948 /* 36692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13949 /* 36696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13950 /* 36699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13951 /* 36703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13952 /* 36707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13953 /* 36711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13954 /* 36713 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13955 /* 36720 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13956 /* 36720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
13957 /* 36723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13958 /* 36725 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13959 /* 36727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13960 /* 36731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13961 /* 36736 */ GIR_RootConstrainSelectedInstOperands,
13962 /* 36737 */ // GIR_Coverage, 25517,
13963 /* 36737 */ GIR_EraseRootFromParent_Done,
13964 /* 36738 */ // Label 1138: @36738
13965 /* 36738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1139*/ GIMT_Encode4(36799), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25696 //
13966 /* 36745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13967 /* 36749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13968 /* 36753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13969 /* 36757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13970 /* 36760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13971 /* 36764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13972 /* 36768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13973 /* 36772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13974 /* 36774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13975 /* 36781 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13976 /* 36781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
13977 /* 36784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13978 /* 36786 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13979 /* 36788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13980 /* 36792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13981 /* 36797 */ GIR_RootConstrainSelectedInstOperands,
13982 /* 36798 */ // GIR_Coverage, 25696,
13983 /* 36798 */ GIR_EraseRootFromParent_Done,
13984 /* 36799 */ // Label 1139: @36799
13985 /* 36799 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1140*/ GIMT_Encode4(36860), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18257 //
13986 /* 36806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13987 /* 36810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13988 /* 36814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13989 /* 36818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13990 /* 36822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13991 /* 36825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13992 /* 36829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13993 /* 36833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13994 /* 36835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13995 /* 36842 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13996 /* 36842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
13997 /* 36845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13998 /* 36847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13999 /* 36849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14000 /* 36853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14001 /* 36858 */ GIR_RootConstrainSelectedInstOperands,
14002 /* 36859 */ // GIR_Coverage, 18257,
14003 /* 36859 */ GIR_EraseRootFromParent_Done,
14004 /* 36860 */ // Label 1140: @36860
14005 /* 36860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1141*/ GIMT_Encode4(36921), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20158 //
14006 /* 36867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14007 /* 36871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14008 /* 36875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14009 /* 36879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14010 /* 36883 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14011 /* 36886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14012 /* 36890 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14013 /* 36894 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14014 /* 36896 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14015 /* 36903 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14016 /* 36903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14017 /* 36906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14018 /* 36908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14019 /* 36910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14020 /* 36914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14021 /* 36919 */ GIR_RootConstrainSelectedInstOperands,
14022 /* 36920 */ // GIR_Coverage, 20158,
14023 /* 36920 */ GIR_EraseRootFromParent_Done,
14024 /* 36921 */ // Label 1141: @36921
14025 /* 36921 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1142*/ GIMT_Encode4(37152), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22095 //
14026 /* 36928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14027 /* 36932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14028 /* 36936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14029 /* 36940 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14030 /* 36946 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14031 /* 36948 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14032 /* 36950 */ // (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] })
14033 /* 36950 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14034 /* 36953 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14035 /* 36957 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14036 /* 36962 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14037 /* 36964 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14038 /* 36967 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14039 /* 36971 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14040 /* 36976 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14041 /* 36979 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14042 /* 36983 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
14043 /* 36986 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14044 /* 36991 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14045 /* 36996 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14046 /* 37001 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14047 /* 37004 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14048 /* 37008 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14049 /* 37013 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14050 /* 37015 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14051 /* 37018 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14052 /* 37022 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14053 /* 37027 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14054 /* 37030 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14055 /* 37034 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
14056 /* 37037 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14057 /* 37042 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14058 /* 37047 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14059 /* 37052 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14060 /* 37055 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14061 /* 37059 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14062 /* 37064 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14063 /* 37066 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14064 /* 37069 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14065 /* 37073 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14066 /* 37078 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14067 /* 37081 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14068 /* 37085 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
14069 /* 37088 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14070 /* 37093 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14071 /* 37098 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14072 /* 37103 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14073 /* 37106 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14074 /* 37110 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14075 /* 37115 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14076 /* 37118 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14077 /* 37121 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14078 /* 37124 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14079 /* 37127 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14080 /* 37129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14081 /* 37132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14082 /* 37134 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14083 /* 37141 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14084 /* 37146 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14085 /* 37151 */ // GIR_Coverage, 22095,
14086 /* 37151 */ GIR_EraseRootFromParent_Done,
14087 /* 37152 */ // Label 1142: @37152
14088 /* 37152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1143*/ GIMT_Encode4(37197), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22103 //
14089 /* 37159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14090 /* 37163 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14091 /* 37167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14092 /* 37171 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14093 /* 37177 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14094 /* 37179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14095 /* 37181 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, immAllOnesV:{ *:[v16i8] }) => (VPTERNLOGQZ128rri:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, 15:{ *:[i8] })
14096 /* 37181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14097 /* 37184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14098 /* 37186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14099 /* 37188 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14100 /* 37190 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14101 /* 37192 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14102 /* 37195 */ GIR_RootConstrainSelectedInstOperands,
14103 /* 37196 */ // GIR_Coverage, 22103,
14104 /* 37196 */ GIR_EraseRootFromParent_Done,
14105 /* 37197 */ // Label 1143: @37197
14106 /* 37197 */ GIM_Try, /*On fail goto*//*Label 1144*/ GIMT_Encode4(37243),
14107 /* 37202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14108 /* 37206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14109 /* 37210 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14110 /* 37214 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1145*/ GIMT_Encode4(37228), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18245 //
14111 /* 37221 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
14112 /* 37221 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14113 /* 37226 */ GIR_RootConstrainSelectedInstOperands,
14114 /* 37227 */ // GIR_Coverage, 18245,
14115 /* 37227 */ GIR_Done,
14116 /* 37228 */ // Label 1145: @37228
14117 /* 37228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1146*/ GIMT_Encode4(37242), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18269 //
14118 /* 37235 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
14119 /* 37235 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14120 /* 37240 */ GIR_RootConstrainSelectedInstOperands,
14121 /* 37241 */ // GIR_Coverage, 18269,
14122 /* 37241 */ GIR_Done,
14123 /* 37242 */ // Label 1146: @37242
14124 /* 37242 */ GIM_Reject,
14125 /* 37243 */ // Label 1144: @37243
14126 /* 37243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1147*/ GIMT_Encode4(37269), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20150 //
14127 /* 37250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14128 /* 37254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14129 /* 37258 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14130 /* 37262 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPXORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
14131 /* 37262 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
14132 /* 37267 */ GIR_RootConstrainSelectedInstOperands,
14133 /* 37268 */ // GIR_Coverage, 20150,
14134 /* 37268 */ GIR_Done,
14135 /* 37269 */ // Label 1147: @37269
14136 /* 37269 */ GIM_Reject,
14137 /* 37270 */ // Label 1137: @37270
14138 /* 37270 */ GIM_Reject,
14139 /* 37271 */ // Label 993: @37271
14140 /* 37271 */ GIM_Try, /*On fail goto*//*Label 1148*/ GIMT_Encode4(37983),
14141 /* 37276 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
14142 /* 37279 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
14143 /* 37282 */ GIM_Try, /*On fail goto*//*Label 1149*/ GIMT_Encode4(37402),
14144 /* 37287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14145 /* 37291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14146 /* 37295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1150*/ GIMT_Encode4(37348), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25496 //
14147 /* 37302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14148 /* 37306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14149 /* 37310 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14150 /* 37313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14151 /* 37317 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14152 /* 37321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14153 /* 37323 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14154 /* 37330 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14155 /* 37330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14156 /* 37333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14157 /* 37335 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14158 /* 37337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14159 /* 37341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14160 /* 37346 */ GIR_RootConstrainSelectedInstOperands,
14161 /* 37347 */ // GIR_Coverage, 25496,
14162 /* 37347 */ GIR_EraseRootFromParent_Done,
14163 /* 37348 */ // Label 1150: @37348
14164 /* 37348 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1151*/ GIMT_Encode4(37401), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25507 //
14165 /* 37355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14166 /* 37359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14167 /* 37363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14168 /* 37366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14169 /* 37370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14170 /* 37374 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14171 /* 37376 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14172 /* 37383 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14173 /* 37383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14174 /* 37386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14175 /* 37388 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14176 /* 37390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14177 /* 37394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14178 /* 37399 */ GIR_RootConstrainSelectedInstOperands,
14179 /* 37400 */ // GIR_Coverage, 25507,
14180 /* 37400 */ GIR_EraseRootFromParent_Done,
14181 /* 37401 */ // Label 1151: @37401
14182 /* 37401 */ GIM_Reject,
14183 /* 37402 */ // Label 1149: @37402
14184 /* 37402 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1152*/ GIMT_Encode4(37463), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25702 //
14185 /* 37409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14186 /* 37413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14187 /* 37417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14188 /* 37421 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14189 /* 37424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14190 /* 37428 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14191 /* 37432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14192 /* 37436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14193 /* 37438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14194 /* 37445 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14195 /* 37445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14196 /* 37448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14197 /* 37450 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14198 /* 37452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14199 /* 37456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14200 /* 37461 */ GIR_RootConstrainSelectedInstOperands,
14201 /* 37462 */ // GIR_Coverage, 25702,
14202 /* 37462 */ GIR_EraseRootFromParent_Done,
14203 /* 37463 */ // Label 1152: @37463
14204 /* 37463 */ GIM_Try, /*On fail goto*//*Label 1153*/ GIMT_Encode4(37583),
14205 /* 37468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14206 /* 37472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14207 /* 37476 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1154*/ GIMT_Encode4(37529), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18201 //
14208 /* 37483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14209 /* 37487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14210 /* 37491 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14211 /* 37494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14212 /* 37498 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14213 /* 37502 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14214 /* 37504 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14215 /* 37511 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14216 /* 37511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14217 /* 37514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14218 /* 37516 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14219 /* 37518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14220 /* 37522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14221 /* 37527 */ GIR_RootConstrainSelectedInstOperands,
14222 /* 37528 */ // GIR_Coverage, 18201,
14223 /* 37528 */ GIR_EraseRootFromParent_Done,
14224 /* 37529 */ // Label 1154: @37529
14225 /* 37529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1155*/ GIMT_Encode4(37582), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18231 //
14226 /* 37536 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14227 /* 37540 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14228 /* 37544 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14229 /* 37547 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14230 /* 37551 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14231 /* 37555 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14232 /* 37557 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14233 /* 37564 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14234 /* 37564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14235 /* 37567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14236 /* 37569 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14237 /* 37571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14238 /* 37575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14239 /* 37580 */ GIR_RootConstrainSelectedInstOperands,
14240 /* 37581 */ // GIR_Coverage, 18231,
14241 /* 37581 */ GIR_EraseRootFromParent_Done,
14242 /* 37582 */ // Label 1155: @37582
14243 /* 37582 */ GIM_Reject,
14244 /* 37583 */ // Label 1153: @37583
14245 /* 37583 */ GIM_Try, /*On fail goto*//*Label 1156*/ GIMT_Encode4(37910),
14246 /* 37588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14247 /* 37592 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14248 /* 37596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1157*/ GIMT_Encode4(37649), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20174 //
14249 /* 37603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14250 /* 37607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14251 /* 37611 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14252 /* 37614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14253 /* 37618 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14254 /* 37622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14255 /* 37624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14256 /* 37631 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14257 /* 37631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14258 /* 37634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14259 /* 37636 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14260 /* 37638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14261 /* 37642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14262 /* 37647 */ GIR_RootConstrainSelectedInstOperands,
14263 /* 37648 */ // GIR_Coverage, 20174,
14264 /* 37648 */ GIR_EraseRootFromParent_Done,
14265 /* 37649 */ // Label 1157: @37649
14266 /* 37649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1158*/ GIMT_Encode4(37872), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22099 //
14267 /* 37656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14268 /* 37660 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14269 /* 37666 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14270 /* 37668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14271 /* 37670 */ // (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] })
14272 /* 37670 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14273 /* 37673 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14274 /* 37677 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14275 /* 37682 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14276 /* 37684 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14277 /* 37687 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14278 /* 37691 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14279 /* 37696 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14280 /* 37699 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14281 /* 37703 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
14282 /* 37706 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14283 /* 37711 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14284 /* 37716 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14285 /* 37721 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14286 /* 37724 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14287 /* 37728 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14288 /* 37733 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14289 /* 37735 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14290 /* 37738 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14291 /* 37742 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14292 /* 37747 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14293 /* 37750 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14294 /* 37754 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
14295 /* 37757 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14296 /* 37762 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14297 /* 37767 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14298 /* 37772 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14299 /* 37775 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14300 /* 37779 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14301 /* 37784 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14302 /* 37786 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14303 /* 37789 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14304 /* 37793 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14305 /* 37798 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14306 /* 37801 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14307 /* 37805 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
14308 /* 37808 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14309 /* 37813 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14310 /* 37818 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14311 /* 37823 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14312 /* 37826 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14313 /* 37830 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14314 /* 37835 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14315 /* 37838 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14316 /* 37841 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14317 /* 37844 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14318 /* 37847 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14319 /* 37849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14320 /* 37852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14321 /* 37854 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
14322 /* 37861 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
14323 /* 37866 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14324 /* 37871 */ // GIR_Coverage, 22099,
14325 /* 37871 */ GIR_EraseRootFromParent_Done,
14326 /* 37872 */ // Label 1158: @37872
14327 /* 37872 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1159*/ GIMT_Encode4(37909), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22107 //
14328 /* 37879 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14329 /* 37883 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14330 /* 37889 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14331 /* 37891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14332 /* 37893 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, immAllOnesV:{ *:[v32i8] }) => (VPTERNLOGQZ256rri:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, 15:{ *:[i8] })
14333 /* 37893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
14334 /* 37896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14335 /* 37898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14336 /* 37900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14337 /* 37902 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14338 /* 37904 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14339 /* 37907 */ GIR_RootConstrainSelectedInstOperands,
14340 /* 37908 */ // GIR_Coverage, 22107,
14341 /* 37908 */ GIR_EraseRootFromParent_Done,
14342 /* 37909 */ // Label 1159: @37909
14343 /* 37909 */ GIM_Reject,
14344 /* 37910 */ // Label 1156: @37910
14345 /* 37910 */ GIM_Try, /*On fail goto*//*Label 1160*/ GIMT_Encode4(37956),
14346 /* 37915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14347 /* 37919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14348 /* 37923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14349 /* 37927 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1161*/ GIMT_Encode4(37941), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18189 //
14350 /* 37934 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPXORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
14351 /* 37934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
14352 /* 37939 */ GIR_RootConstrainSelectedInstOperands,
14353 /* 37940 */ // GIR_Coverage, 18189,
14354 /* 37940 */ GIR_Done,
14355 /* 37941 */ // Label 1161: @37941
14356 /* 37941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1162*/ GIMT_Encode4(37955), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18215 //
14357 /* 37948 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VXORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
14358 /* 37948 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
14359 /* 37953 */ GIR_RootConstrainSelectedInstOperands,
14360 /* 37954 */ // GIR_Coverage, 18215,
14361 /* 37954 */ GIR_Done,
14362 /* 37955 */ // Label 1162: @37955
14363 /* 37955 */ GIM_Reject,
14364 /* 37956 */ // Label 1160: @37956
14365 /* 37956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1163*/ GIMT_Encode4(37982), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20166 //
14366 /* 37963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14367 /* 37967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14368 /* 37971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14369 /* 37975 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPXORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
14370 /* 37975 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
14371 /* 37980 */ GIR_RootConstrainSelectedInstOperands,
14372 /* 37981 */ // GIR_Coverage, 20166,
14373 /* 37981 */ GIR_Done,
14374 /* 37982 */ // Label 1163: @37982
14375 /* 37982 */ GIM_Reject,
14376 /* 37983 */ // Label 1148: @37983
14377 /* 37983 */ GIM_Reject,
14378 /* 37984 */ // Label 994: @37984
14379 /* 37984 */ GIM_Try, /*On fail goto*//*Label 1164*/ GIMT_Encode4(38175),
14380 /* 37989 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
14381 /* 37992 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
14382 /* 37995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14383 /* 37999 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1165*/ GIMT_Encode4(38056), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25708 //
14384 /* 38006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14385 /* 38010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14386 /* 38014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14387 /* 38017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14388 /* 38021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14389 /* 38025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14390 /* 38029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14391 /* 38031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14392 /* 38038 */ // (xor:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14393 /* 38038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14394 /* 38041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14395 /* 38043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14396 /* 38045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14397 /* 38049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14398 /* 38054 */ GIR_RootConstrainSelectedInstOperands,
14399 /* 38055 */ // GIR_Coverage, 25708,
14400 /* 38055 */ GIR_EraseRootFromParent_Done,
14401 /* 38056 */ // Label 1165: @38056
14402 /* 38056 */ GIM_Try, /*On fail goto*//*Label 1166*/ GIMT_Encode4(38174),
14403 /* 38061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14404 /* 38065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1167*/ GIMT_Encode4(38118), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20190 //
14405 /* 38072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14406 /* 38076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14407 /* 38080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14408 /* 38083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14409 /* 38087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14410 /* 38091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14411 /* 38093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14412 /* 38100 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14413 /* 38100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14414 /* 38103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14415 /* 38105 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14416 /* 38107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14417 /* 38111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14418 /* 38116 */ GIR_RootConstrainSelectedInstOperands,
14419 /* 38117 */ // GIR_Coverage, 20190,
14420 /* 38117 */ GIR_EraseRootFromParent_Done,
14421 /* 38118 */ // Label 1167: @38118
14422 /* 38118 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1168*/ GIMT_Encode4(38155), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22091 //
14423 /* 38125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14424 /* 38129 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14425 /* 38135 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14426 /* 38137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14427 /* 38139 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, immAllOnesV:{ *:[v64i8] }) => (VPTERNLOGQZrri:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, 15:{ *:[i8] })
14428 /* 38139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14429 /* 38142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14430 /* 38144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14431 /* 38146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14432 /* 38148 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14433 /* 38150 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14434 /* 38153 */ GIR_RootConstrainSelectedInstOperands,
14435 /* 38154 */ // GIR_Coverage, 22091,
14436 /* 38154 */ GIR_EraseRootFromParent_Done,
14437 /* 38155 */ // Label 1168: @38155
14438 /* 38155 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1169*/ GIMT_Encode4(38173), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20182 //
14439 /* 38162 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14440 /* 38166 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPXORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
14441 /* 38166 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
14442 /* 38171 */ GIR_RootConstrainSelectedInstOperands,
14443 /* 38172 */ // GIR_Coverage, 20182,
14444 /* 38172 */ GIR_Done,
14445 /* 38173 */ // Label 1169: @38173
14446 /* 38173 */ GIM_Reject,
14447 /* 38174 */ // Label 1166: @38174
14448 /* 38174 */ GIM_Reject,
14449 /* 38175 */ // Label 1164: @38175
14450 /* 38175 */ GIM_Reject,
14451 /* 38176 */ // Label 995: @38176
14452 /* 38176 */ GIM_Try, /*On fail goto*//*Label 1170*/ GIMT_Encode4(38780),
14453 /* 38181 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
14454 /* 38184 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
14455 /* 38187 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1171*/ GIMT_Encode4(38248), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25518 //
14456 /* 38194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14457 /* 38198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14458 /* 38202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14459 /* 38206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14460 /* 38209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14461 /* 38213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14462 /* 38217 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14463 /* 38221 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14464 /* 38223 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14465 /* 38230 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14466 /* 38230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14467 /* 38233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14468 /* 38235 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14469 /* 38237 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14470 /* 38241 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14471 /* 38246 */ GIR_RootConstrainSelectedInstOperands,
14472 /* 38247 */ // GIR_Coverage, 25518,
14473 /* 38247 */ GIR_EraseRootFromParent_Done,
14474 /* 38248 */ // Label 1171: @38248
14475 /* 38248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1172*/ GIMT_Encode4(38309), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25697 //
14476 /* 38255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14477 /* 38259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14478 /* 38263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14479 /* 38267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14480 /* 38270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14481 /* 38274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14482 /* 38278 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14483 /* 38282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14484 /* 38284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14485 /* 38291 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14486 /* 38291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14487 /* 38294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14488 /* 38296 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14489 /* 38298 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14490 /* 38302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14491 /* 38307 */ GIR_RootConstrainSelectedInstOperands,
14492 /* 38308 */ // GIR_Coverage, 25697,
14493 /* 38308 */ GIR_EraseRootFromParent_Done,
14494 /* 38309 */ // Label 1172: @38309
14495 /* 38309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1173*/ GIMT_Encode4(38370), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18258 //
14496 /* 38316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14497 /* 38320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14498 /* 38324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14499 /* 38328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14500 /* 38332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14501 /* 38335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14502 /* 38339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14503 /* 38343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14504 /* 38345 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14505 /* 38352 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14506 /* 38352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14507 /* 38355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14508 /* 38357 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14509 /* 38359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14510 /* 38363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14511 /* 38368 */ GIR_RootConstrainSelectedInstOperands,
14512 /* 38369 */ // GIR_Coverage, 18258,
14513 /* 38369 */ GIR_EraseRootFromParent_Done,
14514 /* 38370 */ // Label 1173: @38370
14515 /* 38370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1174*/ GIMT_Encode4(38431), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20159 //
14516 /* 38377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14517 /* 38381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14518 /* 38385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14519 /* 38389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14520 /* 38393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14521 /* 38396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14522 /* 38400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14523 /* 38404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14524 /* 38406 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14525 /* 38413 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14526 /* 38413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14527 /* 38416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14528 /* 38418 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14529 /* 38420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14530 /* 38424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14531 /* 38429 */ GIR_RootConstrainSelectedInstOperands,
14532 /* 38430 */ // GIR_Coverage, 20159,
14533 /* 38430 */ GIR_EraseRootFromParent_Done,
14534 /* 38431 */ // Label 1174: @38431
14535 /* 38431 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1175*/ GIMT_Encode4(38662), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22096 //
14536 /* 38438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14537 /* 38442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14538 /* 38446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14539 /* 38450 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14540 /* 38456 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14541 /* 38458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14542 /* 38460 */ // (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] })
14543 /* 38460 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14544 /* 38463 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14545 /* 38467 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14546 /* 38472 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14547 /* 38474 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14548 /* 38477 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14549 /* 38481 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14550 /* 38486 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14551 /* 38489 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14552 /* 38493 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
14553 /* 38496 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14554 /* 38501 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14555 /* 38506 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14556 /* 38511 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14557 /* 38514 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14558 /* 38518 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14559 /* 38523 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14560 /* 38525 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14561 /* 38528 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14562 /* 38532 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14563 /* 38537 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14564 /* 38540 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14565 /* 38544 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
14566 /* 38547 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14567 /* 38552 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14568 /* 38557 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14569 /* 38562 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14570 /* 38565 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14571 /* 38569 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14572 /* 38574 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14573 /* 38576 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14574 /* 38579 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14575 /* 38583 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14576 /* 38588 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14577 /* 38591 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14578 /* 38595 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
14579 /* 38598 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14580 /* 38603 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14581 /* 38608 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14582 /* 38613 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14583 /* 38616 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14584 /* 38620 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14585 /* 38625 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14586 /* 38628 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14587 /* 38631 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14588 /* 38634 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14589 /* 38637 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14590 /* 38639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14591 /* 38642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14592 /* 38644 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14593 /* 38651 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14594 /* 38656 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14595 /* 38661 */ // GIR_Coverage, 22096,
14596 /* 38661 */ GIR_EraseRootFromParent_Done,
14597 /* 38662 */ // Label 1175: @38662
14598 /* 38662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1176*/ GIMT_Encode4(38707), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22104 //
14599 /* 38669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14600 /* 38673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14601 /* 38677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14602 /* 38681 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14603 /* 38687 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14604 /* 38689 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14605 /* 38691 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, immAllOnesV:{ *:[v8i16] }) => (VPTERNLOGQZ128rri:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, 15:{ *:[i8] })
14606 /* 38691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14607 /* 38694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14608 /* 38696 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14609 /* 38698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14610 /* 38700 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14611 /* 38702 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14612 /* 38705 */ GIR_RootConstrainSelectedInstOperands,
14613 /* 38706 */ // GIR_Coverage, 22104,
14614 /* 38706 */ GIR_EraseRootFromParent_Done,
14615 /* 38707 */ // Label 1176: @38707
14616 /* 38707 */ GIM_Try, /*On fail goto*//*Label 1177*/ GIMT_Encode4(38753),
14617 /* 38712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14618 /* 38716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14619 /* 38720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14620 /* 38724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1178*/ GIMT_Encode4(38738), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18246 //
14621 /* 38731 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
14622 /* 38731 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14623 /* 38736 */ GIR_RootConstrainSelectedInstOperands,
14624 /* 38737 */ // GIR_Coverage, 18246,
14625 /* 38737 */ GIR_Done,
14626 /* 38738 */ // Label 1178: @38738
14627 /* 38738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1179*/ GIMT_Encode4(38752), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18270 //
14628 /* 38745 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
14629 /* 38745 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14630 /* 38750 */ GIR_RootConstrainSelectedInstOperands,
14631 /* 38751 */ // GIR_Coverage, 18270,
14632 /* 38751 */ GIR_Done,
14633 /* 38752 */ // Label 1179: @38752
14634 /* 38752 */ GIM_Reject,
14635 /* 38753 */ // Label 1177: @38753
14636 /* 38753 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1180*/ GIMT_Encode4(38779), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20151 //
14637 /* 38760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14638 /* 38764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14639 /* 38768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14640 /* 38772 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPXORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
14641 /* 38772 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
14642 /* 38777 */ GIR_RootConstrainSelectedInstOperands,
14643 /* 38778 */ // GIR_Coverage, 20151,
14644 /* 38778 */ GIR_Done,
14645 /* 38779 */ // Label 1180: @38779
14646 /* 38779 */ GIM_Reject,
14647 /* 38780 */ // Label 1170: @38780
14648 /* 38780 */ GIM_Reject,
14649 /* 38781 */ // Label 996: @38781
14650 /* 38781 */ GIM_Try, /*On fail goto*//*Label 1181*/ GIMT_Encode4(39493),
14651 /* 38786 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
14652 /* 38789 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
14653 /* 38792 */ GIM_Try, /*On fail goto*//*Label 1182*/ GIMT_Encode4(38912),
14654 /* 38797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14655 /* 38801 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14656 /* 38805 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1183*/ GIMT_Encode4(38858), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25497 //
14657 /* 38812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14658 /* 38816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14659 /* 38820 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14660 /* 38823 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14661 /* 38827 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14662 /* 38831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14663 /* 38833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14664 /* 38840 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14665 /* 38840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14666 /* 38843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14667 /* 38845 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14668 /* 38847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14669 /* 38851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14670 /* 38856 */ GIR_RootConstrainSelectedInstOperands,
14671 /* 38857 */ // GIR_Coverage, 25497,
14672 /* 38857 */ GIR_EraseRootFromParent_Done,
14673 /* 38858 */ // Label 1183: @38858
14674 /* 38858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1184*/ GIMT_Encode4(38911), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25508 //
14675 /* 38865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14676 /* 38869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14677 /* 38873 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14678 /* 38876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14679 /* 38880 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14680 /* 38884 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14681 /* 38886 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14682 /* 38893 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14683 /* 38893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14684 /* 38896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14685 /* 38898 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14686 /* 38900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14687 /* 38904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14688 /* 38909 */ GIR_RootConstrainSelectedInstOperands,
14689 /* 38910 */ // GIR_Coverage, 25508,
14690 /* 38910 */ GIR_EraseRootFromParent_Done,
14691 /* 38911 */ // Label 1184: @38911
14692 /* 38911 */ GIM_Reject,
14693 /* 38912 */ // Label 1182: @38912
14694 /* 38912 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1185*/ GIMT_Encode4(38973), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25703 //
14695 /* 38919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14696 /* 38923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14697 /* 38927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14698 /* 38931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14699 /* 38934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14700 /* 38938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14701 /* 38942 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14702 /* 38946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14703 /* 38948 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14704 /* 38955 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14705 /* 38955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14706 /* 38958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14707 /* 38960 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14708 /* 38962 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14709 /* 38966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14710 /* 38971 */ GIR_RootConstrainSelectedInstOperands,
14711 /* 38972 */ // GIR_Coverage, 25703,
14712 /* 38972 */ GIR_EraseRootFromParent_Done,
14713 /* 38973 */ // Label 1185: @38973
14714 /* 38973 */ GIM_Try, /*On fail goto*//*Label 1186*/ GIMT_Encode4(39093),
14715 /* 38978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14716 /* 38982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14717 /* 38986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1187*/ GIMT_Encode4(39039), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18202 //
14718 /* 38993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14719 /* 38997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14720 /* 39001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14721 /* 39004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14722 /* 39008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14723 /* 39012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14724 /* 39014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14725 /* 39021 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14726 /* 39021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14727 /* 39024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14728 /* 39026 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14729 /* 39028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14730 /* 39032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14731 /* 39037 */ GIR_RootConstrainSelectedInstOperands,
14732 /* 39038 */ // GIR_Coverage, 18202,
14733 /* 39038 */ GIR_EraseRootFromParent_Done,
14734 /* 39039 */ // Label 1187: @39039
14735 /* 39039 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1188*/ GIMT_Encode4(39092), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18232 //
14736 /* 39046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14737 /* 39050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14738 /* 39054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14739 /* 39057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14740 /* 39061 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14741 /* 39065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14742 /* 39067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14743 /* 39074 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14744 /* 39074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14745 /* 39077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14746 /* 39079 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14747 /* 39081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14748 /* 39085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14749 /* 39090 */ GIR_RootConstrainSelectedInstOperands,
14750 /* 39091 */ // GIR_Coverage, 18232,
14751 /* 39091 */ GIR_EraseRootFromParent_Done,
14752 /* 39092 */ // Label 1188: @39092
14753 /* 39092 */ GIM_Reject,
14754 /* 39093 */ // Label 1186: @39093
14755 /* 39093 */ GIM_Try, /*On fail goto*//*Label 1189*/ GIMT_Encode4(39420),
14756 /* 39098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14757 /* 39102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14758 /* 39106 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1190*/ GIMT_Encode4(39159), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20175 //
14759 /* 39113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14760 /* 39117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14761 /* 39121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14762 /* 39124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14763 /* 39128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14764 /* 39132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14765 /* 39134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14766 /* 39141 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14767 /* 39141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14768 /* 39144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14769 /* 39146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14770 /* 39148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14771 /* 39152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14772 /* 39157 */ GIR_RootConstrainSelectedInstOperands,
14773 /* 39158 */ // GIR_Coverage, 20175,
14774 /* 39158 */ GIR_EraseRootFromParent_Done,
14775 /* 39159 */ // Label 1190: @39159
14776 /* 39159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1191*/ GIMT_Encode4(39382), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22100 //
14777 /* 39166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14778 /* 39170 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14779 /* 39176 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14780 /* 39178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14781 /* 39180 */ // (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] })
14782 /* 39180 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14783 /* 39183 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14784 /* 39187 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14785 /* 39192 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14786 /* 39194 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14787 /* 39197 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14788 /* 39201 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14789 /* 39206 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14790 /* 39209 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14791 /* 39213 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
14792 /* 39216 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14793 /* 39221 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14794 /* 39226 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14795 /* 39231 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14796 /* 39234 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14797 /* 39238 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14798 /* 39243 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14799 /* 39245 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14800 /* 39248 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14801 /* 39252 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14802 /* 39257 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14803 /* 39260 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14804 /* 39264 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
14805 /* 39267 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14806 /* 39272 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14807 /* 39277 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14808 /* 39282 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14809 /* 39285 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14810 /* 39289 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14811 /* 39294 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14812 /* 39296 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14813 /* 39299 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14814 /* 39303 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14815 /* 39308 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14816 /* 39311 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14817 /* 39315 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
14818 /* 39318 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14819 /* 39323 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14820 /* 39328 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14821 /* 39333 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14822 /* 39336 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14823 /* 39340 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14824 /* 39345 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14825 /* 39348 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14826 /* 39351 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14827 /* 39354 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14828 /* 39357 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14829 /* 39359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14830 /* 39362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14831 /* 39364 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
14832 /* 39371 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
14833 /* 39376 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14834 /* 39381 */ // GIR_Coverage, 22100,
14835 /* 39381 */ GIR_EraseRootFromParent_Done,
14836 /* 39382 */ // Label 1191: @39382
14837 /* 39382 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1192*/ GIMT_Encode4(39419), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22108 //
14838 /* 39389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14839 /* 39393 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14840 /* 39399 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14841 /* 39401 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14842 /* 39403 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, immAllOnesV:{ *:[v16i16] }) => (VPTERNLOGQZ256rri:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, 15:{ *:[i8] })
14843 /* 39403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
14844 /* 39406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14845 /* 39408 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14846 /* 39410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14847 /* 39412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14848 /* 39414 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14849 /* 39417 */ GIR_RootConstrainSelectedInstOperands,
14850 /* 39418 */ // GIR_Coverage, 22108,
14851 /* 39418 */ GIR_EraseRootFromParent_Done,
14852 /* 39419 */ // Label 1192: @39419
14853 /* 39419 */ GIM_Reject,
14854 /* 39420 */ // Label 1189: @39420
14855 /* 39420 */ GIM_Try, /*On fail goto*//*Label 1193*/ GIMT_Encode4(39466),
14856 /* 39425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14857 /* 39429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14858 /* 39433 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14859 /* 39437 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1194*/ GIMT_Encode4(39451), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18190 //
14860 /* 39444 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPXORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
14861 /* 39444 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
14862 /* 39449 */ GIR_RootConstrainSelectedInstOperands,
14863 /* 39450 */ // GIR_Coverage, 18190,
14864 /* 39450 */ GIR_Done,
14865 /* 39451 */ // Label 1194: @39451
14866 /* 39451 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1195*/ GIMT_Encode4(39465), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18216 //
14867 /* 39458 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VXORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
14868 /* 39458 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
14869 /* 39463 */ GIR_RootConstrainSelectedInstOperands,
14870 /* 39464 */ // GIR_Coverage, 18216,
14871 /* 39464 */ GIR_Done,
14872 /* 39465 */ // Label 1195: @39465
14873 /* 39465 */ GIM_Reject,
14874 /* 39466 */ // Label 1193: @39466
14875 /* 39466 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1196*/ GIMT_Encode4(39492), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20167 //
14876 /* 39473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14877 /* 39477 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14878 /* 39481 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14879 /* 39485 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPXORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
14880 /* 39485 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
14881 /* 39490 */ GIR_RootConstrainSelectedInstOperands,
14882 /* 39491 */ // GIR_Coverage, 20167,
14883 /* 39491 */ GIR_Done,
14884 /* 39492 */ // Label 1196: @39492
14885 /* 39492 */ GIM_Reject,
14886 /* 39493 */ // Label 1181: @39493
14887 /* 39493 */ GIM_Reject,
14888 /* 39494 */ // Label 997: @39494
14889 /* 39494 */ GIM_Try, /*On fail goto*//*Label 1197*/ GIMT_Encode4(39685),
14890 /* 39499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
14891 /* 39502 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
14892 /* 39505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14893 /* 39509 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1198*/ GIMT_Encode4(39566), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25709 //
14894 /* 39516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14895 /* 39520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14896 /* 39524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14897 /* 39527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14898 /* 39531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14899 /* 39535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14900 /* 39539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14901 /* 39541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14902 /* 39548 */ // (xor:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14903 /* 39548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14904 /* 39551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14905 /* 39553 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14906 /* 39555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14907 /* 39559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14908 /* 39564 */ GIR_RootConstrainSelectedInstOperands,
14909 /* 39565 */ // GIR_Coverage, 25709,
14910 /* 39565 */ GIR_EraseRootFromParent_Done,
14911 /* 39566 */ // Label 1198: @39566
14912 /* 39566 */ GIM_Try, /*On fail goto*//*Label 1199*/ GIMT_Encode4(39684),
14913 /* 39571 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14914 /* 39575 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1200*/ GIMT_Encode4(39628), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20191 //
14915 /* 39582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14916 /* 39586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14917 /* 39590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14918 /* 39593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14919 /* 39597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14920 /* 39601 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14921 /* 39603 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14922 /* 39610 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14923 /* 39610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14924 /* 39613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14925 /* 39615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14926 /* 39617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14927 /* 39621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14928 /* 39626 */ GIR_RootConstrainSelectedInstOperands,
14929 /* 39627 */ // GIR_Coverage, 20191,
14930 /* 39627 */ GIR_EraseRootFromParent_Done,
14931 /* 39628 */ // Label 1200: @39628
14932 /* 39628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1201*/ GIMT_Encode4(39665), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22092 //
14933 /* 39635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14934 /* 39639 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14935 /* 39645 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14936 /* 39647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14937 /* 39649 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, immAllOnesV:{ *:[v32i16] }) => (VPTERNLOGQZrri:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, 15:{ *:[i8] })
14938 /* 39649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14939 /* 39652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14940 /* 39654 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14941 /* 39656 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14942 /* 39658 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14943 /* 39660 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14944 /* 39663 */ GIR_RootConstrainSelectedInstOperands,
14945 /* 39664 */ // GIR_Coverage, 22092,
14946 /* 39664 */ GIR_EraseRootFromParent_Done,
14947 /* 39665 */ // Label 1201: @39665
14948 /* 39665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1202*/ GIMT_Encode4(39683), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20183 //
14949 /* 39672 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14950 /* 39676 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPXORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
14951 /* 39676 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
14952 /* 39681 */ GIR_RootConstrainSelectedInstOperands,
14953 /* 39682 */ // GIR_Coverage, 20183,
14954 /* 39682 */ GIR_Done,
14955 /* 39683 */ // Label 1202: @39683
14956 /* 39683 */ GIM_Reject,
14957 /* 39684 */ // Label 1199: @39684
14958 /* 39684 */ GIM_Reject,
14959 /* 39685 */ // Label 1197: @39685
14960 /* 39685 */ GIM_Reject,
14961 /* 39686 */ // Label 998: @39686
14962 /* 39686 */ GIM_Try, /*On fail goto*//*Label 1203*/ GIMT_Encode4(40288),
14963 /* 39691 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
14964 /* 39694 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
14965 /* 39697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1204*/ GIMT_Encode4(39758), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24495 //
14966 /* 39704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14967 /* 39708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14968 /* 39712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14969 /* 39716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14970 /* 39719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14971 /* 39723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14972 /* 39727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14973 /* 39731 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14974 /* 39733 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14975 /* 39740 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14976 /* 39740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
14977 /* 39743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14978 /* 39745 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14979 /* 39747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14980 /* 39751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14981 /* 39756 */ GIR_RootConstrainSelectedInstOperands,
14982 /* 39757 */ // GIR_Coverage, 24495,
14983 /* 39757 */ GIR_EraseRootFromParent_Done,
14984 /* 39758 */ // Label 1204: @39758
14985 /* 39758 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1205*/ GIMT_Encode4(39819), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25519 //
14986 /* 39765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14987 /* 39769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14988 /* 39773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14989 /* 39777 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14990 /* 39780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14991 /* 39784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14992 /* 39788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14993 /* 39792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14994 /* 39794 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14995 /* 39801 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14996 /* 39801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14997 /* 39804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14998 /* 39806 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14999 /* 39808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15000 /* 39812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15001 /* 39817 */ GIR_RootConstrainSelectedInstOperands,
15002 /* 39818 */ // GIR_Coverage, 25519,
15003 /* 39818 */ GIR_EraseRootFromParent_Done,
15004 /* 39819 */ // Label 1205: @39819
15005 /* 39819 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1206*/ GIMT_Encode4(39880), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5843 //
15006 /* 39826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15007 /* 39830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15008 /* 39834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15009 /* 39838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15010 /* 39842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15011 /* 39845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15012 /* 39849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15013 /* 39853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15014 /* 39855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15015 /* 39862 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15016 /* 39862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
15017 /* 39865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15018 /* 39867 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15019 /* 39869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15020 /* 39873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15021 /* 39878 */ GIR_RootConstrainSelectedInstOperands,
15022 /* 39879 */ // GIR_Coverage, 5843,
15023 /* 39879 */ GIR_EraseRootFromParent_Done,
15024 /* 39880 */ // Label 1206: @39880
15025 /* 39880 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1207*/ GIMT_Encode4(39941), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18259 //
15026 /* 39887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15027 /* 39891 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15028 /* 39895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15029 /* 39899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15030 /* 39903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15031 /* 39906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15032 /* 39910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15033 /* 39914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15034 /* 39916 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15035 /* 39923 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15036 /* 39923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15037 /* 39926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15038 /* 39928 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15039 /* 39930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15040 /* 39934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15041 /* 39939 */ GIR_RootConstrainSelectedInstOperands,
15042 /* 39940 */ // GIR_Coverage, 18259,
15043 /* 39940 */ GIR_EraseRootFromParent_Done,
15044 /* 39941 */ // Label 1207: @39941
15045 /* 39941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1208*/ GIMT_Encode4(40172), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22097 //
15046 /* 39948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
15047 /* 39952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15048 /* 39956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15049 /* 39960 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15050 /* 39966 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15051 /* 39968 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15052 /* 39970 */ // (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] })
15053 /* 39970 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15054 /* 39973 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15055 /* 39977 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15056 /* 39982 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15057 /* 39984 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15058 /* 39987 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15059 /* 39991 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15060 /* 39996 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15061 /* 39999 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15062 /* 40003 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
15063 /* 40006 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15064 /* 40011 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15065 /* 40016 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15066 /* 40021 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15067 /* 40024 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15068 /* 40028 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15069 /* 40033 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15070 /* 40035 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15071 /* 40038 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15072 /* 40042 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15073 /* 40047 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15074 /* 40050 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15075 /* 40054 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
15076 /* 40057 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15077 /* 40062 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15078 /* 40067 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15079 /* 40072 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15080 /* 40075 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15081 /* 40079 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15082 /* 40084 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15083 /* 40086 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15084 /* 40089 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15085 /* 40093 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15086 /* 40098 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15087 /* 40101 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15088 /* 40105 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
15089 /* 40108 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15090 /* 40113 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15091 /* 40118 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15092 /* 40123 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15093 /* 40126 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15094 /* 40130 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15095 /* 40135 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15096 /* 40138 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15097 /* 40141 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15098 /* 40144 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15099 /* 40147 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15100 /* 40149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15101 /* 40152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15102 /* 40154 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
15103 /* 40161 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
15104 /* 40166 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15105 /* 40171 */ // GIR_Coverage, 22097,
15106 /* 40171 */ GIR_EraseRootFromParent_Done,
15107 /* 40172 */ // Label 1208: @40172
15108 /* 40172 */ GIM_Try, /*On fail goto*//*Label 1209*/ GIMT_Encode4(40241),
15109 /* 40177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15110 /* 40181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15111 /* 40185 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1210*/ GIMT_Encode4(40222), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22105 //
15112 /* 40192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15113 /* 40196 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15114 /* 40202 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15115 /* 40204 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15116 /* 40206 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, immAllOnesV:{ *:[v4i32] }) => (VPTERNLOGQZ128rri:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, 15:{ *:[i8] })
15117 /* 40206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
15118 /* 40209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15119 /* 40211 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15120 /* 40213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15121 /* 40215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15122 /* 40217 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15123 /* 40220 */ GIR_RootConstrainSelectedInstOperands,
15124 /* 40221 */ // GIR_Coverage, 22105,
15125 /* 40221 */ GIR_EraseRootFromParent_Done,
15126 /* 40222 */ // Label 1210: @40222
15127 /* 40222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1211*/ GIMT_Encode4(40240), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5840 //
15128 /* 40229 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15129 /* 40233 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPXORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
15130 /* 40233 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rr),
15131 /* 40238 */ GIR_RootConstrainSelectedInstOperands,
15132 /* 40239 */ // GIR_Coverage, 5840,
15133 /* 40239 */ GIR_Done,
15134 /* 40240 */ // Label 1211: @40240
15135 /* 40240 */ GIM_Reject,
15136 /* 40241 */ // Label 1209: @40241
15137 /* 40241 */ GIM_Try, /*On fail goto*//*Label 1212*/ GIMT_Encode4(40287),
15138 /* 40246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15139 /* 40250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15140 /* 40254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15141 /* 40258 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1213*/ GIMT_Encode4(40272), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18247 //
15142 /* 40265 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
15143 /* 40265 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
15144 /* 40270 */ GIR_RootConstrainSelectedInstOperands,
15145 /* 40271 */ // GIR_Coverage, 18247,
15146 /* 40271 */ GIR_Done,
15147 /* 40272 */ // Label 1213: @40272
15148 /* 40272 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1214*/ GIMT_Encode4(40286), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18271 //
15149 /* 40279 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
15150 /* 40279 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
15151 /* 40284 */ GIR_RootConstrainSelectedInstOperands,
15152 /* 40285 */ // GIR_Coverage, 18271,
15153 /* 40285 */ GIR_Done,
15154 /* 40286 */ // Label 1214: @40286
15155 /* 40286 */ GIM_Reject,
15156 /* 40287 */ // Label 1212: @40287
15157 /* 40287 */ GIM_Reject,
15158 /* 40288 */ // Label 1203: @40288
15159 /* 40288 */ GIM_Reject,
15160 /* 40289 */ // Label 999: @40289
15161 /* 40289 */ GIM_Try, /*On fail goto*//*Label 1215*/ GIMT_Encode4(41001),
15162 /* 40294 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
15163 /* 40297 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
15164 /* 40300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1216*/ GIMT_Encode4(40361), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24489 //
15165 /* 40307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15166 /* 40311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15167 /* 40315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15168 /* 40319 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15169 /* 40322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15170 /* 40326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15171 /* 40330 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15172 /* 40334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15173 /* 40336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15174 /* 40343 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15175 /* 40343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15176 /* 40346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15177 /* 40348 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15178 /* 40350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15179 /* 40354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15180 /* 40359 */ GIR_RootConstrainSelectedInstOperands,
15181 /* 40360 */ // GIR_Coverage, 24489,
15182 /* 40360 */ GIR_EraseRootFromParent_Done,
15183 /* 40361 */ // Label 1216: @40361
15184 /* 40361 */ GIM_Try, /*On fail goto*//*Label 1217*/ GIMT_Encode4(40481),
15185 /* 40366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15186 /* 40370 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15187 /* 40374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1218*/ GIMT_Encode4(40427), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25498 //
15188 /* 40381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15189 /* 40385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15190 /* 40389 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15191 /* 40392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15192 /* 40396 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15193 /* 40400 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15194 /* 40402 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15195 /* 40409 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15196 /* 40409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15197 /* 40412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15198 /* 40414 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15199 /* 40416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15200 /* 40420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15201 /* 40425 */ GIR_RootConstrainSelectedInstOperands,
15202 /* 40426 */ // GIR_Coverage, 25498,
15203 /* 40426 */ GIR_EraseRootFromParent_Done,
15204 /* 40427 */ // Label 1218: @40427
15205 /* 40427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1219*/ GIMT_Encode4(40480), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25509 //
15206 /* 40434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15207 /* 40438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15208 /* 40442 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15209 /* 40445 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15210 /* 40449 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15211 /* 40453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15212 /* 40455 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15213 /* 40462 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15214 /* 40462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15215 /* 40465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15216 /* 40467 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15217 /* 40469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15218 /* 40473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15219 /* 40478 */ GIR_RootConstrainSelectedInstOperands,
15220 /* 40479 */ // GIR_Coverage, 25509,
15221 /* 40479 */ GIR_EraseRootFromParent_Done,
15222 /* 40480 */ // Label 1219: @40480
15223 /* 40480 */ GIM_Reject,
15224 /* 40481 */ // Label 1217: @40481
15225 /* 40481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1220*/ GIMT_Encode4(40542), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5834 //
15226 /* 40488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15227 /* 40492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15228 /* 40496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15229 /* 40500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15230 /* 40504 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15231 /* 40507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15232 /* 40511 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15233 /* 40515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15234 /* 40517 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15235 /* 40524 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15236 /* 40524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15237 /* 40527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15238 /* 40529 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15239 /* 40531 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15240 /* 40535 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15241 /* 40540 */ GIR_RootConstrainSelectedInstOperands,
15242 /* 40541 */ // GIR_Coverage, 5834,
15243 /* 40541 */ GIR_EraseRootFromParent_Done,
15244 /* 40542 */ // Label 1220: @40542
15245 /* 40542 */ GIM_Try, /*On fail goto*//*Label 1221*/ GIMT_Encode4(40662),
15246 /* 40547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15247 /* 40551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15248 /* 40555 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1222*/ GIMT_Encode4(40608), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18203 //
15249 /* 40562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15250 /* 40566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15251 /* 40570 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15252 /* 40573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15253 /* 40577 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15254 /* 40581 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15255 /* 40583 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15256 /* 40590 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15257 /* 40590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15258 /* 40593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15259 /* 40595 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15260 /* 40597 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15261 /* 40601 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15262 /* 40606 */ GIR_RootConstrainSelectedInstOperands,
15263 /* 40607 */ // GIR_Coverage, 18203,
15264 /* 40607 */ GIR_EraseRootFromParent_Done,
15265 /* 40608 */ // Label 1222: @40608
15266 /* 40608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1223*/ GIMT_Encode4(40661), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18233 //
15267 /* 40615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15268 /* 40619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15269 /* 40623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15270 /* 40626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15271 /* 40630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15272 /* 40634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15273 /* 40636 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15274 /* 40643 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15275 /* 40643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15276 /* 40646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15277 /* 40648 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15278 /* 40650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15279 /* 40654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15280 /* 40659 */ GIR_RootConstrainSelectedInstOperands,
15281 /* 40660 */ // GIR_Coverage, 18233,
15282 /* 40660 */ GIR_EraseRootFromParent_Done,
15283 /* 40661 */ // Label 1223: @40661
15284 /* 40661 */ GIM_Reject,
15285 /* 40662 */ // Label 1221: @40662
15286 /* 40662 */ GIM_Try, /*On fail goto*//*Label 1224*/ GIMT_Encode4(40954),
15287 /* 40667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15288 /* 40671 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15289 /* 40675 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1225*/ GIMT_Encode4(40898), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22101 //
15290 /* 40682 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15291 /* 40686 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15292 /* 40692 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15293 /* 40694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15294 /* 40696 */ // (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] })
15295 /* 40696 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15296 /* 40699 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15297 /* 40703 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15298 /* 40708 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15299 /* 40710 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15300 /* 40713 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15301 /* 40717 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15302 /* 40722 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15303 /* 40725 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15304 /* 40729 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15305 /* 40732 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15306 /* 40737 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15307 /* 40742 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15308 /* 40747 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15309 /* 40750 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15310 /* 40754 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15311 /* 40759 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15312 /* 40761 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15313 /* 40764 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15314 /* 40768 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15315 /* 40773 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15316 /* 40776 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15317 /* 40780 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15318 /* 40783 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15319 /* 40788 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15320 /* 40793 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15321 /* 40798 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15322 /* 40801 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15323 /* 40805 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15324 /* 40810 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15325 /* 40812 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15326 /* 40815 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15327 /* 40819 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15328 /* 40824 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15329 /* 40827 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15330 /* 40831 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15331 /* 40834 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15332 /* 40839 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15333 /* 40844 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15334 /* 40849 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15335 /* 40852 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15336 /* 40856 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15337 /* 40861 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15338 /* 40864 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15339 /* 40867 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15340 /* 40870 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15341 /* 40873 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15342 /* 40875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15343 /* 40878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15344 /* 40880 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15345 /* 40887 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15346 /* 40892 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15347 /* 40897 */ // GIR_Coverage, 22101,
15348 /* 40897 */ GIR_EraseRootFromParent_Done,
15349 /* 40898 */ // Label 1225: @40898
15350 /* 40898 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1226*/ GIMT_Encode4(40935), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22109 //
15351 /* 40905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15352 /* 40909 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15353 /* 40915 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15354 /* 40917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15355 /* 40919 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, immAllOnesV:{ *:[v8i32] }) => (VPTERNLOGQZ256rri:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, 15:{ *:[i8] })
15356 /* 40919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15357 /* 40922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15358 /* 40924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15359 /* 40926 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15360 /* 40928 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15361 /* 40930 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15362 /* 40933 */ GIR_RootConstrainSelectedInstOperands,
15363 /* 40934 */ // GIR_Coverage, 22109,
15364 /* 40934 */ GIR_EraseRootFromParent_Done,
15365 /* 40935 */ // Label 1226: @40935
15366 /* 40935 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1227*/ GIMT_Encode4(40953), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5831 //
15367 /* 40942 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15368 /* 40946 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPXORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
15369 /* 40946 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rr),
15370 /* 40951 */ GIR_RootConstrainSelectedInstOperands,
15371 /* 40952 */ // GIR_Coverage, 5831,
15372 /* 40952 */ GIR_Done,
15373 /* 40953 */ // Label 1227: @40953
15374 /* 40953 */ GIM_Reject,
15375 /* 40954 */ // Label 1224: @40954
15376 /* 40954 */ GIM_Try, /*On fail goto*//*Label 1228*/ GIMT_Encode4(41000),
15377 /* 40959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15378 /* 40963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15379 /* 40967 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15380 /* 40971 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1229*/ GIMT_Encode4(40985), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18191 //
15381 /* 40978 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPXORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15382 /* 40978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15383 /* 40983 */ GIR_RootConstrainSelectedInstOperands,
15384 /* 40984 */ // GIR_Coverage, 18191,
15385 /* 40984 */ GIR_Done,
15386 /* 40985 */ // Label 1229: @40985
15387 /* 40985 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1230*/ GIMT_Encode4(40999), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18217 //
15388 /* 40992 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VXORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15389 /* 40992 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15390 /* 40997 */ GIR_RootConstrainSelectedInstOperands,
15391 /* 40998 */ // GIR_Coverage, 18217,
15392 /* 40998 */ GIR_Done,
15393 /* 40999 */ // Label 1230: @40999
15394 /* 40999 */ GIM_Reject,
15395 /* 41000 */ // Label 1228: @41000
15396 /* 41000 */ GIM_Reject,
15397 /* 41001 */ // Label 1215: @41001
15398 /* 41001 */ GIM_Reject,
15399 /* 41002 */ // Label 1000: @41002
15400 /* 41002 */ GIM_Try, /*On fail goto*//*Label 1231*/ GIMT_Encode4(41193),
15401 /* 41007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
15402 /* 41010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
15403 /* 41013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15404 /* 41017 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1232*/ GIMT_Encode4(41074), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24483 //
15405 /* 41024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15406 /* 41028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15407 /* 41032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15408 /* 41035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15409 /* 41039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15410 /* 41043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15411 /* 41047 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15412 /* 41049 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15413 /* 41056 */ // (xor:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15414 /* 41056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
15415 /* 41059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15416 /* 41061 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15417 /* 41063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15418 /* 41067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15419 /* 41072 */ GIR_RootConstrainSelectedInstOperands,
15420 /* 41073 */ // GIR_Coverage, 24483,
15421 /* 41073 */ GIR_EraseRootFromParent_Done,
15422 /* 41074 */ // Label 1232: @41074
15423 /* 41074 */ GIM_Try, /*On fail goto*//*Label 1233*/ GIMT_Encode4(41192),
15424 /* 41079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15425 /* 41083 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1234*/ GIMT_Encode4(41136), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5825 //
15426 /* 41090 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15427 /* 41094 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15428 /* 41098 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15429 /* 41101 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15430 /* 41105 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15431 /* 41109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15432 /* 41111 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15433 /* 41118 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15434 /* 41118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
15435 /* 41121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15436 /* 41123 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15437 /* 41125 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15438 /* 41129 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15439 /* 41134 */ GIR_RootConstrainSelectedInstOperands,
15440 /* 41135 */ // GIR_Coverage, 5825,
15441 /* 41135 */ GIR_EraseRootFromParent_Done,
15442 /* 41136 */ // Label 1234: @41136
15443 /* 41136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1235*/ GIMT_Encode4(41173), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22093 //
15444 /* 41143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15445 /* 41147 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15446 /* 41153 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15447 /* 41155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15448 /* 41157 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, immAllOnesV:{ *:[v16i32] }) => (VPTERNLOGQZrri:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, 15:{ *:[i8] })
15449 /* 41157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15450 /* 41160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15451 /* 41162 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15452 /* 41164 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15453 /* 41166 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15454 /* 41168 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15455 /* 41171 */ GIR_RootConstrainSelectedInstOperands,
15456 /* 41172 */ // GIR_Coverage, 22093,
15457 /* 41172 */ GIR_EraseRootFromParent_Done,
15458 /* 41173 */ // Label 1235: @41173
15459 /* 41173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1236*/ GIMT_Encode4(41191), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5822 //
15460 /* 41180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15461 /* 41184 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPXORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
15462 /* 41184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZrr),
15463 /* 41189 */ GIR_RootConstrainSelectedInstOperands,
15464 /* 41190 */ // GIR_Coverage, 5822,
15465 /* 41190 */ GIR_Done,
15466 /* 41191 */ // Label 1236: @41191
15467 /* 41191 */ GIM_Reject,
15468 /* 41192 */ // Label 1233: @41192
15469 /* 41192 */ GIM_Reject,
15470 /* 41193 */ // Label 1231: @41193
15471 /* 41193 */ GIM_Reject,
15472 /* 41194 */ // Label 1001: @41194
15473 /* 41194 */ GIM_Try, /*On fail goto*//*Label 1237*/ GIMT_Encode4(41798),
15474 /* 41199 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
15475 /* 41202 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
15476 /* 41205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1238*/ GIMT_Encode4(41266), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23622 //
15477 /* 41212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15478 /* 41216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15479 /* 41220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15480 /* 41224 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15481 /* 41227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15482 /* 41231 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15483 /* 41235 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15484 /* 41239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15485 /* 41241 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15486 /* 41248 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15487 /* 41248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15488 /* 41251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15489 /* 41253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15490 /* 41255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15491 /* 41259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15492 /* 41264 */ GIR_RootConstrainSelectedInstOperands,
15493 /* 41265 */ // GIR_Coverage, 23622,
15494 /* 41265 */ GIR_EraseRootFromParent_Done,
15495 /* 41266 */ // Label 1238: @41266
15496 /* 41266 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1239*/ GIMT_Encode4(41327), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24477 //
15497 /* 41273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15498 /* 41277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15499 /* 41281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15500 /* 41285 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15501 /* 41288 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15502 /* 41292 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15503 /* 41296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15504 /* 41300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15505 /* 41302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15506 /* 41309 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15507 /* 41309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15508 /* 41312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15509 /* 41314 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15510 /* 41316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15511 /* 41320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15512 /* 41325 */ GIR_RootConstrainSelectedInstOperands,
15513 /* 41326 */ // GIR_Coverage, 24477,
15514 /* 41326 */ GIR_EraseRootFromParent_Done,
15515 /* 41327 */ // Label 1239: @41327
15516 /* 41327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1240*/ GIMT_Encode4(41388), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2104 //
15517 /* 41334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15518 /* 41338 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15519 /* 41342 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15520 /* 41346 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15521 /* 41350 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15522 /* 41353 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15523 /* 41357 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15524 /* 41361 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15525 /* 41363 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15526 /* 41370 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15527 /* 41370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15528 /* 41373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15529 /* 41375 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15530 /* 41377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15531 /* 41381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15532 /* 41386 */ GIR_RootConstrainSelectedInstOperands,
15533 /* 41387 */ // GIR_Coverage, 2104,
15534 /* 41387 */ GIR_EraseRootFromParent_Done,
15535 /* 41388 */ // Label 1240: @41388
15536 /* 41388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1241*/ GIMT_Encode4(41449), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5816 //
15537 /* 41395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15538 /* 41399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15539 /* 41403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15540 /* 41407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15541 /* 41411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15542 /* 41414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15543 /* 41418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15544 /* 41422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15545 /* 41424 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15546 /* 41431 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15547 /* 41431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15548 /* 41434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15549 /* 41436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15550 /* 41438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15551 /* 41442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15552 /* 41447 */ GIR_RootConstrainSelectedInstOperands,
15553 /* 41448 */ // GIR_Coverage, 5816,
15554 /* 41448 */ GIR_EraseRootFromParent_Done,
15555 /* 41449 */ // Label 1241: @41449
15556 /* 41449 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1242*/ GIMT_Encode4(41680), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22098 //
15557 /* 41456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
15558 /* 41460 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15559 /* 41464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15560 /* 41468 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15561 /* 41474 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15562 /* 41476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15563 /* 41478 */ // (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] })
15564 /* 41478 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15565 /* 41481 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15566 /* 41485 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15567 /* 41490 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15568 /* 41492 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15569 /* 41495 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15570 /* 41499 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15571 /* 41504 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15572 /* 41507 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15573 /* 41511 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
15574 /* 41514 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15575 /* 41519 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15576 /* 41524 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15577 /* 41529 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15578 /* 41532 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15579 /* 41536 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15580 /* 41541 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15581 /* 41543 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15582 /* 41546 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15583 /* 41550 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15584 /* 41555 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15585 /* 41558 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15586 /* 41562 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
15587 /* 41565 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15588 /* 41570 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15589 /* 41575 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15590 /* 41580 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15591 /* 41583 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15592 /* 41587 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15593 /* 41592 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15594 /* 41594 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15595 /* 41597 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15596 /* 41601 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15597 /* 41606 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15598 /* 41609 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15599 /* 41613 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
15600 /* 41616 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15601 /* 41621 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15602 /* 41626 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15603 /* 41631 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15604 /* 41634 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15605 /* 41638 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15606 /* 41643 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15607 /* 41646 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15608 /* 41649 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15609 /* 41652 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15610 /* 41655 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15611 /* 41657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15612 /* 41660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15613 /* 41662 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
15614 /* 41669 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
15615 /* 41674 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15616 /* 41679 */ // GIR_Coverage, 22098,
15617 /* 41679 */ GIR_EraseRootFromParent_Done,
15618 /* 41680 */ // Label 1242: @41680
15619 /* 41680 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1243*/ GIMT_Encode4(41725), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22106 //
15620 /* 41687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15621 /* 41691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15622 /* 41695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15623 /* 41699 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15624 /* 41705 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15625 /* 41707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15626 /* 41709 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, immAllOnesV:{ *:[v2i64] }) => (VPTERNLOGQZ128rri:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, 15:{ *:[i8] })
15627 /* 41709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
15628 /* 41712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15629 /* 41714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15630 /* 41716 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15631 /* 41718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15632 /* 41720 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15633 /* 41723 */ GIR_RootConstrainSelectedInstOperands,
15634 /* 41724 */ // GIR_Coverage, 22106,
15635 /* 41724 */ GIR_EraseRootFromParent_Done,
15636 /* 41725 */ // Label 1243: @41725
15637 /* 41725 */ GIM_Try, /*On fail goto*//*Label 1244*/ GIMT_Encode4(41771),
15638 /* 41730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15639 /* 41734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15640 /* 41738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15641 /* 41742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1245*/ GIMT_Encode4(41756), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2103 //
15642 /* 41749 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
15643 /* 41749 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
15644 /* 41754 */ GIR_RootConstrainSelectedInstOperands,
15645 /* 41755 */ // GIR_Coverage, 2103,
15646 /* 41755 */ GIR_Done,
15647 /* 41756 */ // Label 1245: @41756
15648 /* 41756 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1246*/ GIMT_Encode4(41770), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2105 //
15649 /* 41763 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
15650 /* 41763 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
15651 /* 41768 */ GIR_RootConstrainSelectedInstOperands,
15652 /* 41769 */ // GIR_Coverage, 2105,
15653 /* 41769 */ GIR_Done,
15654 /* 41770 */ // Label 1246: @41770
15655 /* 41770 */ GIM_Reject,
15656 /* 41771 */ // Label 1244: @41771
15657 /* 41771 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1247*/ GIMT_Encode4(41797), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5813 //
15658 /* 41778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15659 /* 41782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15660 /* 41786 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15661 /* 41790 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPXORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
15662 /* 41790 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
15663 /* 41795 */ GIR_RootConstrainSelectedInstOperands,
15664 /* 41796 */ // GIR_Coverage, 5813,
15665 /* 41796 */ GIR_Done,
15666 /* 41797 */ // Label 1247: @41797
15667 /* 41797 */ GIM_Reject,
15668 /* 41798 */ // Label 1237: @41798
15669 /* 41798 */ GIM_Reject,
15670 /* 41799 */ // Label 1002: @41799
15671 /* 41799 */ GIM_Try, /*On fail goto*//*Label 1248*/ GIMT_Encode4(42531),
15672 /* 41804 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
15673 /* 41807 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
15674 /* 41810 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1249*/ GIMT_Encode4(41871), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23624 //
15675 /* 41817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15676 /* 41821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15677 /* 41825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15678 /* 41829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15679 /* 41832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15680 /* 41836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15681 /* 41840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15682 /* 41844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15683 /* 41846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15684 /* 41853 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15685 /* 41853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15686 /* 41856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15687 /* 41858 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15688 /* 41860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15689 /* 41864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15690 /* 41869 */ GIR_RootConstrainSelectedInstOperands,
15691 /* 41870 */ // GIR_Coverage, 23624,
15692 /* 41870 */ GIR_EraseRootFromParent_Done,
15693 /* 41871 */ // Label 1249: @41871
15694 /* 41871 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1250*/ GIMT_Encode4(41932), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24471 //
15695 /* 41878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15696 /* 41882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15697 /* 41886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15698 /* 41890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15699 /* 41893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15700 /* 41897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15701 /* 41901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15702 /* 41905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15703 /* 41907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15704 /* 41914 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15705 /* 41914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15706 /* 41917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15707 /* 41919 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15708 /* 41921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15709 /* 41925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15710 /* 41930 */ GIR_RootConstrainSelectedInstOperands,
15711 /* 41931 */ // GIR_Coverage, 24471,
15712 /* 41931 */ GIR_EraseRootFromParent_Done,
15713 /* 41932 */ // Label 1250: @41932
15714 /* 41932 */ GIM_Try, /*On fail goto*//*Label 1251*/ GIMT_Encode4(42056),
15715 /* 41937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15716 /* 41941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1252*/ GIMT_Encode4(41998), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25510 //
15717 /* 41948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15718 /* 41952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15719 /* 41956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15720 /* 41959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15721 /* 41963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15722 /* 41967 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15723 /* 41971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15724 /* 41973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15725 /* 41980 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15726 /* 41980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15727 /* 41983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15728 /* 41985 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15729 /* 41987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15730 /* 41991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15731 /* 41996 */ GIR_RootConstrainSelectedInstOperands,
15732 /* 41997 */ // GIR_Coverage, 25510,
15733 /* 41997 */ GIR_EraseRootFromParent_Done,
15734 /* 41998 */ // Label 1252: @41998
15735 /* 41998 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1253*/ GIMT_Encode4(42055), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2108 //
15736 /* 42005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15737 /* 42009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15738 /* 42013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15739 /* 42017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15740 /* 42020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15741 /* 42024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15742 /* 42028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15743 /* 42030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15744 /* 42037 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15745 /* 42037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15746 /* 42040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15747 /* 42042 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15748 /* 42044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15749 /* 42048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15750 /* 42053 */ GIR_RootConstrainSelectedInstOperands,
15751 /* 42054 */ // GIR_Coverage, 2108,
15752 /* 42054 */ GIR_EraseRootFromParent_Done,
15753 /* 42055 */ // Label 1253: @42055
15754 /* 42055 */ GIM_Reject,
15755 /* 42056 */ // Label 1251: @42056
15756 /* 42056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1254*/ GIMT_Encode4(42117), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5807 //
15757 /* 42063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15758 /* 42067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15759 /* 42071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15760 /* 42075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15761 /* 42079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15762 /* 42082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15763 /* 42086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15764 /* 42090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15765 /* 42092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15766 /* 42099 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15767 /* 42099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15768 /* 42102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15769 /* 42104 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15770 /* 42106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15771 /* 42110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15772 /* 42115 */ GIR_RootConstrainSelectedInstOperands,
15773 /* 42116 */ // GIR_Coverage, 5807,
15774 /* 42116 */ GIR_EraseRootFromParent_Done,
15775 /* 42117 */ // Label 1254: @42117
15776 /* 42117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1255*/ GIMT_Encode4(42178), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18234 //
15777 /* 42124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15778 /* 42128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15779 /* 42132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15780 /* 42136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15781 /* 42140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15782 /* 42143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15783 /* 42147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15784 /* 42151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15785 /* 42153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15786 /* 42160 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15787 /* 42160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15788 /* 42163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15789 /* 42165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15790 /* 42167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15791 /* 42171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15792 /* 42176 */ GIR_RootConstrainSelectedInstOperands,
15793 /* 42177 */ // GIR_Coverage, 18234,
15794 /* 42177 */ GIR_EraseRootFromParent_Done,
15795 /* 42178 */ // Label 1255: @42178
15796 /* 42178 */ GIM_Try, /*On fail goto*//*Label 1256*/ GIMT_Encode4(42452),
15797 /* 42183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15798 /* 42187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15799 /* 42191 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1257*/ GIMT_Encode4(42414), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22102 //
15800 /* 42198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15801 /* 42202 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15802 /* 42208 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15803 /* 42210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15804 /* 42212 */ // (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] })
15805 /* 42212 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15806 /* 42215 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15807 /* 42219 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15808 /* 42224 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15809 /* 42226 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15810 /* 42229 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15811 /* 42233 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15812 /* 42238 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15813 /* 42241 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15814 /* 42245 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15815 /* 42248 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15816 /* 42253 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15817 /* 42258 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15818 /* 42263 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15819 /* 42266 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15820 /* 42270 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15821 /* 42275 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15822 /* 42277 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15823 /* 42280 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15824 /* 42284 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15825 /* 42289 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15826 /* 42292 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15827 /* 42296 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15828 /* 42299 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15829 /* 42304 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15830 /* 42309 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15831 /* 42314 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15832 /* 42317 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15833 /* 42321 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15834 /* 42326 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15835 /* 42328 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15836 /* 42331 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15837 /* 42335 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15838 /* 42340 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15839 /* 42343 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15840 /* 42347 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15841 /* 42350 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15842 /* 42355 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15843 /* 42360 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15844 /* 42365 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15845 /* 42368 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15846 /* 42372 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15847 /* 42377 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15848 /* 42380 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15849 /* 42383 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15850 /* 42386 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15851 /* 42389 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15852 /* 42391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15853 /* 42394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15854 /* 42396 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15855 /* 42403 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15856 /* 42408 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15857 /* 42413 */ // GIR_Coverage, 22102,
15858 /* 42413 */ GIR_EraseRootFromParent_Done,
15859 /* 42414 */ // Label 1257: @42414
15860 /* 42414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1258*/ GIMT_Encode4(42451), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22110 //
15861 /* 42421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15862 /* 42425 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15863 /* 42431 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15864 /* 42433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15865 /* 42435 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, immAllOnesV:{ *:[v4i64] }) => (VPTERNLOGQZ256rri:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, 15:{ *:[i8] })
15866 /* 42435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15867 /* 42438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15868 /* 42440 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15869 /* 42442 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15870 /* 42444 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15871 /* 42446 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15872 /* 42449 */ GIR_RootConstrainSelectedInstOperands,
15873 /* 42450 */ // GIR_Coverage, 22110,
15874 /* 42450 */ GIR_EraseRootFromParent_Done,
15875 /* 42451 */ // Label 1258: @42451
15876 /* 42451 */ GIM_Reject,
15877 /* 42452 */ // Label 1256: @42452
15878 /* 42452 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1259*/ GIMT_Encode4(42478), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2107 //
15879 /* 42459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15880 /* 42463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15881 /* 42467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15882 /* 42471 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPXORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
15883 /* 42471 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15884 /* 42476 */ GIR_RootConstrainSelectedInstOperands,
15885 /* 42477 */ // GIR_Coverage, 2107,
15886 /* 42477 */ GIR_Done,
15887 /* 42478 */ // Label 1259: @42478
15888 /* 42478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1260*/ GIMT_Encode4(42504), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5804 //
15889 /* 42485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15890 /* 42489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15891 /* 42493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15892 /* 42497 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPXORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
15893 /* 42497 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
15894 /* 42502 */ GIR_RootConstrainSelectedInstOperands,
15895 /* 42503 */ // GIR_Coverage, 5804,
15896 /* 42503 */ GIR_Done,
15897 /* 42504 */ // Label 1260: @42504
15898 /* 42504 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1261*/ GIMT_Encode4(42530), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18218 //
15899 /* 42511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15900 /* 42515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15901 /* 42519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15902 /* 42523 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VXORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
15903 /* 42523 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15904 /* 42528 */ GIR_RootConstrainSelectedInstOperands,
15905 /* 42529 */ // GIR_Coverage, 18218,
15906 /* 42529 */ GIR_Done,
15907 /* 42530 */ // Label 1261: @42530
15908 /* 42530 */ GIM_Reject,
15909 /* 42531 */ // Label 1248: @42531
15910 /* 42531 */ GIM_Reject,
15911 /* 42532 */ // Label 1003: @42532
15912 /* 42532 */ GIM_Try, /*On fail goto*//*Label 1262*/ GIMT_Encode4(42723),
15913 /* 42537 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
15914 /* 42540 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
15915 /* 42543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15916 /* 42547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1263*/ GIMT_Encode4(42604), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24465 //
15917 /* 42554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15918 /* 42558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15919 /* 42562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15920 /* 42565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15921 /* 42569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15922 /* 42573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15923 /* 42577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15924 /* 42579 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15925 /* 42586 */ // (xor:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15926 /* 42586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15927 /* 42589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15928 /* 42591 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15929 /* 42593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15930 /* 42597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15931 /* 42602 */ GIR_RootConstrainSelectedInstOperands,
15932 /* 42603 */ // GIR_Coverage, 24465,
15933 /* 42603 */ GIR_EraseRootFromParent_Done,
15934 /* 42604 */ // Label 1263: @42604
15935 /* 42604 */ GIM_Try, /*On fail goto*//*Label 1264*/ GIMT_Encode4(42722),
15936 /* 42609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15937 /* 42613 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1265*/ GIMT_Encode4(42666), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5798 //
15938 /* 42620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15939 /* 42624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15940 /* 42628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15941 /* 42631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15942 /* 42635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15943 /* 42639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15944 /* 42641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15945 /* 42648 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15946 /* 42648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15947 /* 42651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15948 /* 42653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15949 /* 42655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15950 /* 42659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15951 /* 42664 */ GIR_RootConstrainSelectedInstOperands,
15952 /* 42665 */ // GIR_Coverage, 5798,
15953 /* 42665 */ GIR_EraseRootFromParent_Done,
15954 /* 42666 */ // Label 1265: @42666
15955 /* 42666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1266*/ GIMT_Encode4(42703), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22094 //
15956 /* 42673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15957 /* 42677 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15958 /* 42683 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15959 /* 42685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15960 /* 42687 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, immAllOnesV:{ *:[v8i64] }) => (VPTERNLOGQZrri:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, 15:{ *:[i8] })
15961 /* 42687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15962 /* 42690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15963 /* 42692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15964 /* 42694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15965 /* 42696 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15966 /* 42698 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15967 /* 42701 */ GIR_RootConstrainSelectedInstOperands,
15968 /* 42702 */ // GIR_Coverage, 22094,
15969 /* 42702 */ GIR_EraseRootFromParent_Done,
15970 /* 42703 */ // Label 1266: @42703
15971 /* 42703 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1267*/ GIMT_Encode4(42721), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5795 //
15972 /* 42710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15973 /* 42714 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPXORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
15974 /* 42714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
15975 /* 42719 */ GIR_RootConstrainSelectedInstOperands,
15976 /* 42720 */ // GIR_Coverage, 5795,
15977 /* 42720 */ GIR_Done,
15978 /* 42721 */ // Label 1267: @42721
15979 /* 42721 */ GIM_Reject,
15980 /* 42722 */ // Label 1264: @42722
15981 /* 42722 */ GIM_Reject,
15982 /* 42723 */ // Label 1262: @42723
15983 /* 42723 */ GIM_Reject,
15984 /* 42724 */ // Label 1004: @42724
15985 /* 42724 */ GIM_Reject,
15986 /* 42725 */ // Label 6: @42725
15987 /* 42725 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 1274*/ GIMT_Encode4(44346),
15988 /* 42736 */ /*GILLT_v16s8*//*Label 1268*/ GIMT_Encode4(42760),
15989 /* 42740 */ /*GILLT_v32s8*//*Label 1269*/ GIMT_Encode4(43089),
15990 /* 42744 */ /*GILLT_v64s8*//*Label 1270*/ GIMT_Encode4(43398),
15991 /* 42748 */ /*GILLT_v8s16*//*Label 1271*/ GIMT_Encode4(43553),
15992 /* 42752 */ /*GILLT_v16s16*//*Label 1272*/ GIMT_Encode4(43882),
15993 /* 42756 */ /*GILLT_v32s16*//*Label 1273*/ GIMT_Encode4(44191),
15994 /* 42760 */ // Label 1268: @42760
15995 /* 42760 */ GIM_Try, /*On fail goto*//*Label 1275*/ GIMT_Encode4(43088),
15996 /* 42765 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
15997 /* 42768 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
15998 /* 42771 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1276*/ GIMT_Encode4(42832), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23730 //
15999 /* 42778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16000 /* 42782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16001 /* 42786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16002 /* 42790 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16003 /* 42793 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16004 /* 42797 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16005 /* 42801 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16006 /* 42805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16007 /* 42807 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16008 /* 42814 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16009 /* 42814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
16010 /* 42817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16011 /* 42819 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16012 /* 42821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16013 /* 42825 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16014 /* 42830 */ GIR_RootConstrainSelectedInstOperands,
16015 /* 42831 */ // GIR_Coverage, 23730,
16016 /* 42831 */ GIR_EraseRootFromParent_Done,
16017 /* 42832 */ // Label 1276: @42832
16018 /* 42832 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1277*/ GIMT_Encode4(42893), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24129 //
16019 /* 42839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16020 /* 42843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16021 /* 42847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16022 /* 42851 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16023 /* 42854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16024 /* 42858 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16025 /* 42862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16026 /* 42866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16027 /* 42868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16028 /* 42875 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16029 /* 42875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
16030 /* 42878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16031 /* 42880 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16032 /* 42882 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16033 /* 42886 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16034 /* 42891 */ GIR_RootConstrainSelectedInstOperands,
16035 /* 42892 */ // GIR_Coverage, 24129,
16036 /* 42892 */ GIR_EraseRootFromParent_Done,
16037 /* 42893 */ // Label 1277: @42893
16038 /* 42893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1278*/ GIMT_Encode4(42954), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2643 //
16039 /* 42900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16040 /* 42904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16041 /* 42908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16042 /* 42912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16043 /* 42916 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16044 /* 42919 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16045 /* 42923 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16046 /* 42927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16047 /* 42929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16048 /* 42936 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16049 /* 42936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
16050 /* 42939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16051 /* 42941 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16052 /* 42943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16053 /* 42947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16054 /* 42952 */ GIR_RootConstrainSelectedInstOperands,
16055 /* 42953 */ // GIR_Coverage, 2643,
16056 /* 42953 */ GIR_EraseRootFromParent_Done,
16057 /* 42954 */ // Label 1278: @42954
16058 /* 42954 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1279*/ GIMT_Encode4(43015), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5117 //
16059 /* 42961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16060 /* 42965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16061 /* 42969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16062 /* 42973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16063 /* 42977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16064 /* 42980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16065 /* 42984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16066 /* 42988 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16067 /* 42990 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16068 /* 42997 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16069 /* 42997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
16070 /* 43000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16071 /* 43002 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16072 /* 43004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16073 /* 43008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16074 /* 43013 */ GIR_RootConstrainSelectedInstOperands,
16075 /* 43014 */ // GIR_Coverage, 5117,
16076 /* 43014 */ GIR_EraseRootFromParent_Done,
16077 /* 43015 */ // Label 1279: @43015
16078 /* 43015 */ GIM_Try, /*On fail goto*//*Label 1280*/ GIMT_Encode4(43061),
16079 /* 43020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16080 /* 43024 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16081 /* 43028 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16082 /* 43032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1281*/ GIMT_Encode4(43046), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2642 //
16083 /* 43039 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16084 /* 43039 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBrr),
16085 /* 43044 */ GIR_RootConstrainSelectedInstOperands,
16086 /* 43045 */ // GIR_Coverage, 2642,
16087 /* 43045 */ GIR_Done,
16088 /* 43046 */ // Label 1281: @43046
16089 /* 43046 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1282*/ GIMT_Encode4(43060), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2644 //
16090 /* 43053 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16091 /* 43053 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGBrr),
16092 /* 43058 */ GIR_RootConstrainSelectedInstOperands,
16093 /* 43059 */ // GIR_Coverage, 2644,
16094 /* 43059 */ GIR_Done,
16095 /* 43060 */ // Label 1282: @43060
16096 /* 43060 */ GIM_Reject,
16097 /* 43061 */ // Label 1280: @43061
16098 /* 43061 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1283*/ GIMT_Encode4(43087), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5114 //
16099 /* 43068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16100 /* 43072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16101 /* 43076 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16102 /* 43080 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPAVGBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
16103 /* 43080 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rr),
16104 /* 43085 */ GIR_RootConstrainSelectedInstOperands,
16105 /* 43086 */ // GIR_Coverage, 5114,
16106 /* 43086 */ GIR_Done,
16107 /* 43087 */ // Label 1283: @43087
16108 /* 43087 */ GIM_Reject,
16109 /* 43088 */ // Label 1275: @43088
16110 /* 43088 */ GIM_Reject,
16111 /* 43089 */ // Label 1269: @43089
16112 /* 43089 */ GIM_Try, /*On fail goto*//*Label 1284*/ GIMT_Encode4(43397),
16113 /* 43094 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
16114 /* 43097 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
16115 /* 43100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1285*/ GIMT_Encode4(43161), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23732 //
16116 /* 43107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16117 /* 43111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16118 /* 43115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16119 /* 43119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16120 /* 43122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16121 /* 43126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16122 /* 43130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16123 /* 43134 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16124 /* 43136 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16125 /* 43143 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16126 /* 43143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
16127 /* 43146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16128 /* 43148 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16129 /* 43150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16130 /* 43154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16131 /* 43159 */ GIR_RootConstrainSelectedInstOperands,
16132 /* 43160 */ // GIR_Coverage, 23732,
16133 /* 43160 */ GIR_EraseRootFromParent_Done,
16134 /* 43161 */ // Label 1285: @43161
16135 /* 43161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1286*/ GIMT_Encode4(43222), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24126 //
16136 /* 43168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16137 /* 43172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16138 /* 43176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16139 /* 43180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16140 /* 43183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16141 /* 43187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16142 /* 43191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16143 /* 43195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16144 /* 43197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16145 /* 43204 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16146 /* 43204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
16147 /* 43207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16148 /* 43209 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16149 /* 43211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16150 /* 43215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16151 /* 43220 */ GIR_RootConstrainSelectedInstOperands,
16152 /* 43221 */ // GIR_Coverage, 24126,
16153 /* 43221 */ GIR_EraseRootFromParent_Done,
16154 /* 43222 */ // Label 1286: @43222
16155 /* 43222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1287*/ GIMT_Encode4(43283), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2647 //
16156 /* 43229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16157 /* 43233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16158 /* 43237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16159 /* 43241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16160 /* 43245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16161 /* 43248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16162 /* 43252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16163 /* 43256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16164 /* 43258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16165 /* 43265 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16166 /* 43265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
16167 /* 43268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16168 /* 43270 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16169 /* 43272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16170 /* 43276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16171 /* 43281 */ GIR_RootConstrainSelectedInstOperands,
16172 /* 43282 */ // GIR_Coverage, 2647,
16173 /* 43282 */ GIR_EraseRootFromParent_Done,
16174 /* 43283 */ // Label 1287: @43283
16175 /* 43283 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1288*/ GIMT_Encode4(43344), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5111 //
16176 /* 43290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16177 /* 43294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16178 /* 43298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16179 /* 43302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16180 /* 43306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16181 /* 43309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16182 /* 43313 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16183 /* 43317 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16184 /* 43319 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16185 /* 43326 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16186 /* 43326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
16187 /* 43329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16188 /* 43331 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16189 /* 43333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16190 /* 43337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16191 /* 43342 */ GIR_RootConstrainSelectedInstOperands,
16192 /* 43343 */ // GIR_Coverage, 5111,
16193 /* 43343 */ GIR_EraseRootFromParent_Done,
16194 /* 43344 */ // Label 1288: @43344
16195 /* 43344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1289*/ GIMT_Encode4(43370), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2646 //
16196 /* 43351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16197 /* 43355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16198 /* 43359 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16199 /* 43363 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPAVGBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
16200 /* 43363 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrr),
16201 /* 43368 */ GIR_RootConstrainSelectedInstOperands,
16202 /* 43369 */ // GIR_Coverage, 2646,
16203 /* 43369 */ GIR_Done,
16204 /* 43370 */ // Label 1289: @43370
16205 /* 43370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1290*/ GIMT_Encode4(43396), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5108 //
16206 /* 43377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16207 /* 43381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16208 /* 43385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16209 /* 43389 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPAVGBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
16210 /* 43389 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rr),
16211 /* 43394 */ GIR_RootConstrainSelectedInstOperands,
16212 /* 43395 */ // GIR_Coverage, 5108,
16213 /* 43395 */ GIR_Done,
16214 /* 43396 */ // Label 1290: @43396
16215 /* 43396 */ GIM_Reject,
16216 /* 43397 */ // Label 1284: @43397
16217 /* 43397 */ GIM_Reject,
16218 /* 43398 */ // Label 1270: @43398
16219 /* 43398 */ GIM_Try, /*On fail goto*//*Label 1291*/ GIMT_Encode4(43552),
16220 /* 43403 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
16221 /* 43406 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
16222 /* 43409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16223 /* 43413 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1292*/ GIMT_Encode4(43470), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24123 //
16224 /* 43420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16225 /* 43424 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16226 /* 43428 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16227 /* 43431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16228 /* 43435 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16229 /* 43439 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16230 /* 43443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16231 /* 43445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16232 /* 43452 */ // (avgceilu:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16233 /* 43452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
16234 /* 43455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16235 /* 43457 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16236 /* 43459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16237 /* 43463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16238 /* 43468 */ GIR_RootConstrainSelectedInstOperands,
16239 /* 43469 */ // GIR_Coverage, 24123,
16240 /* 43469 */ GIR_EraseRootFromParent_Done,
16241 /* 43470 */ // Label 1292: @43470
16242 /* 43470 */ GIM_Try, /*On fail goto*//*Label 1293*/ GIMT_Encode4(43551),
16243 /* 43475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16244 /* 43479 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1294*/ GIMT_Encode4(43532), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5105 //
16245 /* 43486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16246 /* 43490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16247 /* 43494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16248 /* 43497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16249 /* 43501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16250 /* 43505 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16251 /* 43507 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16252 /* 43514 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16253 /* 43514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
16254 /* 43517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16255 /* 43519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16256 /* 43521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16257 /* 43525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16258 /* 43530 */ GIR_RootConstrainSelectedInstOperands,
16259 /* 43531 */ // GIR_Coverage, 5105,
16260 /* 43531 */ GIR_EraseRootFromParent_Done,
16261 /* 43532 */ // Label 1294: @43532
16262 /* 43532 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1295*/ GIMT_Encode4(43550), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5102 //
16263 /* 43539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16264 /* 43543 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPAVGBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
16265 /* 43543 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrr),
16266 /* 43548 */ GIR_RootConstrainSelectedInstOperands,
16267 /* 43549 */ // GIR_Coverage, 5102,
16268 /* 43549 */ GIR_Done,
16269 /* 43550 */ // Label 1295: @43550
16270 /* 43550 */ GIM_Reject,
16271 /* 43551 */ // Label 1293: @43551
16272 /* 43551 */ GIM_Reject,
16273 /* 43552 */ // Label 1291: @43552
16274 /* 43552 */ GIM_Reject,
16275 /* 43553 */ // Label 1271: @43553
16276 /* 43553 */ GIM_Try, /*On fail goto*//*Label 1296*/ GIMT_Encode4(43881),
16277 /* 43558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
16278 /* 43561 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
16279 /* 43564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1297*/ GIMT_Encode4(43625), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23733 //
16280 /* 43571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16281 /* 43575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16282 /* 43579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16283 /* 43583 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16284 /* 43586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16285 /* 43590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16286 /* 43594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16287 /* 43598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16288 /* 43600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16289 /* 43607 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16290 /* 43607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
16291 /* 43610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16292 /* 43612 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16293 /* 43614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16294 /* 43618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16295 /* 43623 */ GIR_RootConstrainSelectedInstOperands,
16296 /* 43624 */ // GIR_Coverage, 23733,
16297 /* 43624 */ GIR_EraseRootFromParent_Done,
16298 /* 43625 */ // Label 1297: @43625
16299 /* 43625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1298*/ GIMT_Encode4(43686), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24120 //
16300 /* 43632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16301 /* 43636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16302 /* 43640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16303 /* 43644 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16304 /* 43647 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16305 /* 43651 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16306 /* 43655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16307 /* 43659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16308 /* 43661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16309 /* 43668 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16310 /* 43668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
16311 /* 43671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16312 /* 43673 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16313 /* 43675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16314 /* 43679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16315 /* 43684 */ GIR_RootConstrainSelectedInstOperands,
16316 /* 43685 */ // GIR_Coverage, 24120,
16317 /* 43685 */ GIR_EraseRootFromParent_Done,
16318 /* 43686 */ // Label 1298: @43686
16319 /* 43686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1299*/ GIMT_Encode4(43747), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2649 //
16320 /* 43693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16321 /* 43697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16322 /* 43701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16323 /* 43705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16324 /* 43709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16325 /* 43712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16326 /* 43716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16327 /* 43720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16328 /* 43722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16329 /* 43729 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16330 /* 43729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
16331 /* 43732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16332 /* 43734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16333 /* 43736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16334 /* 43740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16335 /* 43745 */ GIR_RootConstrainSelectedInstOperands,
16336 /* 43746 */ // GIR_Coverage, 2649,
16337 /* 43746 */ GIR_EraseRootFromParent_Done,
16338 /* 43747 */ // Label 1299: @43747
16339 /* 43747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1300*/ GIMT_Encode4(43808), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5099 //
16340 /* 43754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16341 /* 43758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16342 /* 43762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16343 /* 43766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16344 /* 43770 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16345 /* 43773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16346 /* 43777 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16347 /* 43781 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16348 /* 43783 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16349 /* 43790 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16350 /* 43790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
16351 /* 43793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16352 /* 43795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16353 /* 43797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16354 /* 43801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16355 /* 43806 */ GIR_RootConstrainSelectedInstOperands,
16356 /* 43807 */ // GIR_Coverage, 5099,
16357 /* 43807 */ GIR_EraseRootFromParent_Done,
16358 /* 43808 */ // Label 1300: @43808
16359 /* 43808 */ GIM_Try, /*On fail goto*//*Label 1301*/ GIMT_Encode4(43854),
16360 /* 43813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16361 /* 43817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16362 /* 43821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16363 /* 43825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1302*/ GIMT_Encode4(43839), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2648 //
16364 /* 43832 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
16365 /* 43832 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWrr),
16366 /* 43837 */ GIR_RootConstrainSelectedInstOperands,
16367 /* 43838 */ // GIR_Coverage, 2648,
16368 /* 43838 */ GIR_Done,
16369 /* 43839 */ // Label 1302: @43839
16370 /* 43839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1303*/ GIMT_Encode4(43853), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2650 //
16371 /* 43846 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
16372 /* 43846 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGWrr),
16373 /* 43851 */ GIR_RootConstrainSelectedInstOperands,
16374 /* 43852 */ // GIR_Coverage, 2650,
16375 /* 43852 */ GIR_Done,
16376 /* 43853 */ // Label 1303: @43853
16377 /* 43853 */ GIM_Reject,
16378 /* 43854 */ // Label 1301: @43854
16379 /* 43854 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1304*/ GIMT_Encode4(43880), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5096 //
16380 /* 43861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16381 /* 43865 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16382 /* 43869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16383 /* 43873 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPAVGWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
16384 /* 43873 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rr),
16385 /* 43878 */ GIR_RootConstrainSelectedInstOperands,
16386 /* 43879 */ // GIR_Coverage, 5096,
16387 /* 43879 */ GIR_Done,
16388 /* 43880 */ // Label 1304: @43880
16389 /* 43880 */ GIM_Reject,
16390 /* 43881 */ // Label 1296: @43881
16391 /* 43881 */ GIM_Reject,
16392 /* 43882 */ // Label 1272: @43882
16393 /* 43882 */ GIM_Try, /*On fail goto*//*Label 1305*/ GIMT_Encode4(44190),
16394 /* 43887 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
16395 /* 43890 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
16396 /* 43893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1306*/ GIMT_Encode4(43954), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23735 //
16397 /* 43900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16398 /* 43904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16399 /* 43908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16400 /* 43912 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16401 /* 43915 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16402 /* 43919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16403 /* 43923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16404 /* 43927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16405 /* 43929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16406 /* 43936 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16407 /* 43936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
16408 /* 43939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16409 /* 43941 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16410 /* 43943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16411 /* 43947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16412 /* 43952 */ GIR_RootConstrainSelectedInstOperands,
16413 /* 43953 */ // GIR_Coverage, 23735,
16414 /* 43953 */ GIR_EraseRootFromParent_Done,
16415 /* 43954 */ // Label 1306: @43954
16416 /* 43954 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1307*/ GIMT_Encode4(44015), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24117 //
16417 /* 43961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16418 /* 43965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16419 /* 43969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16420 /* 43973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16421 /* 43976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16422 /* 43980 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16423 /* 43984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16424 /* 43988 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16425 /* 43990 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16426 /* 43997 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16427 /* 43997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
16428 /* 44000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16429 /* 44002 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16430 /* 44004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16431 /* 44008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16432 /* 44013 */ GIR_RootConstrainSelectedInstOperands,
16433 /* 44014 */ // GIR_Coverage, 24117,
16434 /* 44014 */ GIR_EraseRootFromParent_Done,
16435 /* 44015 */ // Label 1307: @44015
16436 /* 44015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1308*/ GIMT_Encode4(44076), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2653 //
16437 /* 44022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16438 /* 44026 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16439 /* 44030 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16440 /* 44034 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16441 /* 44038 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16442 /* 44041 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16443 /* 44045 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16444 /* 44049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16445 /* 44051 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16446 /* 44058 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16447 /* 44058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
16448 /* 44061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16449 /* 44063 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16450 /* 44065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16451 /* 44069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16452 /* 44074 */ GIR_RootConstrainSelectedInstOperands,
16453 /* 44075 */ // GIR_Coverage, 2653,
16454 /* 44075 */ GIR_EraseRootFromParent_Done,
16455 /* 44076 */ // Label 1308: @44076
16456 /* 44076 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1309*/ GIMT_Encode4(44137), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5093 //
16457 /* 44083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16458 /* 44087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16459 /* 44091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16460 /* 44095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16461 /* 44099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16462 /* 44102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16463 /* 44106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16464 /* 44110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16465 /* 44112 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16466 /* 44119 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16467 /* 44119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
16468 /* 44122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16469 /* 44124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16470 /* 44126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16471 /* 44130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16472 /* 44135 */ GIR_RootConstrainSelectedInstOperands,
16473 /* 44136 */ // GIR_Coverage, 5093,
16474 /* 44136 */ GIR_EraseRootFromParent_Done,
16475 /* 44137 */ // Label 1309: @44137
16476 /* 44137 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1310*/ GIMT_Encode4(44163), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2652 //
16477 /* 44144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16478 /* 44148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16479 /* 44152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16480 /* 44156 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPAVGWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
16481 /* 44156 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrr),
16482 /* 44161 */ GIR_RootConstrainSelectedInstOperands,
16483 /* 44162 */ // GIR_Coverage, 2652,
16484 /* 44162 */ GIR_Done,
16485 /* 44163 */ // Label 1310: @44163
16486 /* 44163 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1311*/ GIMT_Encode4(44189), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5090 //
16487 /* 44170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16488 /* 44174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16489 /* 44178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16490 /* 44182 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPAVGWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
16491 /* 44182 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rr),
16492 /* 44187 */ GIR_RootConstrainSelectedInstOperands,
16493 /* 44188 */ // GIR_Coverage, 5090,
16494 /* 44188 */ GIR_Done,
16495 /* 44189 */ // Label 1311: @44189
16496 /* 44189 */ GIM_Reject,
16497 /* 44190 */ // Label 1305: @44190
16498 /* 44190 */ GIM_Reject,
16499 /* 44191 */ // Label 1273: @44191
16500 /* 44191 */ GIM_Try, /*On fail goto*//*Label 1312*/ GIMT_Encode4(44345),
16501 /* 44196 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
16502 /* 44199 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
16503 /* 44202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16504 /* 44206 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1313*/ GIMT_Encode4(44263), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24114 //
16505 /* 44213 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16506 /* 44217 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16507 /* 44221 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16508 /* 44224 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16509 /* 44228 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16510 /* 44232 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16511 /* 44236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16512 /* 44238 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16513 /* 44245 */ // (avgceilu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16514 /* 44245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
16515 /* 44248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16516 /* 44250 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16517 /* 44252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16518 /* 44256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16519 /* 44261 */ GIR_RootConstrainSelectedInstOperands,
16520 /* 44262 */ // GIR_Coverage, 24114,
16521 /* 44262 */ GIR_EraseRootFromParent_Done,
16522 /* 44263 */ // Label 1313: @44263
16523 /* 44263 */ GIM_Try, /*On fail goto*//*Label 1314*/ GIMT_Encode4(44344),
16524 /* 44268 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16525 /* 44272 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1315*/ GIMT_Encode4(44325), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5087 //
16526 /* 44279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16527 /* 44283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16528 /* 44287 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16529 /* 44290 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16530 /* 44294 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16531 /* 44298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16532 /* 44300 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16533 /* 44307 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16534 /* 44307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
16535 /* 44310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16536 /* 44312 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16537 /* 44314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16538 /* 44318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16539 /* 44323 */ GIR_RootConstrainSelectedInstOperands,
16540 /* 44324 */ // GIR_Coverage, 5087,
16541 /* 44324 */ GIR_EraseRootFromParent_Done,
16542 /* 44325 */ // Label 1315: @44325
16543 /* 44325 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1316*/ GIMT_Encode4(44343), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5084 //
16544 /* 44332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16545 /* 44336 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPAVGWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
16546 /* 44336 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrr),
16547 /* 44341 */ GIR_RootConstrainSelectedInstOperands,
16548 /* 44342 */ // GIR_Coverage, 5084,
16549 /* 44342 */ GIR_Done,
16550 /* 44343 */ // Label 1316: @44343
16551 /* 44343 */ GIM_Reject,
16552 /* 44344 */ // Label 1314: @44344
16553 /* 44344 */ GIM_Reject,
16554 /* 44345 */ // Label 1312: @44345
16555 /* 44345 */ GIM_Reject,
16556 /* 44346 */ // Label 1274: @44346
16557 /* 44346 */ GIM_Reject,
16558 /* 44347 */ // Label 7: @44347
16559 /* 44347 */ GIM_Try, /*On fail goto*//*Label 1317*/ GIMT_Encode4(44490),
16560 /* 44352 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
16561 /* 44355 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(10), GIMT_Encode2(13), /*)*//*default:*//*Label 1321*/ GIMT_Encode4(44489),
16562 /* 44366 */ /*GILLT_v16s1*//*Label 1318*/ GIMT_Encode4(44378),
16563 /* 44370 */ /*GILLT_v32s1*//*Label 1319*/ GIMT_Encode4(44415),
16564 /* 44374 */ /*GILLT_v64s1*//*Label 1320*/ GIMT_Encode4(44452),
16565 /* 44378 */ // Label 1318: @44378
16566 /* 44378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1322*/ GIMT_Encode4(44414), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19607 //
16567 /* 44385 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
16568 /* 44388 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
16569 /* 44391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16570 /* 44395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
16571 /* 44399 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
16572 /* 44403 */ // (concat_vectors:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KUNPCKBWkk:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK8:{ *:[v8i1] }:$src1)
16573 /* 44403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKBWkk),
16574 /* 44406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16575 /* 44408 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16576 /* 44410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16577 /* 44412 */ GIR_RootConstrainSelectedInstOperands,
16578 /* 44413 */ // GIR_Coverage, 19607,
16579 /* 44413 */ GIR_EraseRootFromParent_Done,
16580 /* 44414 */ // Label 1322: @44414
16581 /* 44414 */ GIM_Reject,
16582 /* 44415 */ // Label 1319: @44415
16583 /* 44415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1323*/ GIMT_Encode4(44451), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19608 //
16584 /* 44422 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
16585 /* 44425 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
16586 /* 44428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16587 /* 44432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16588 /* 44436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16589 /* 44440 */ // (concat_vectors:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KUNPCKWDkk:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src2, VK16:{ *:[v16i1] }:$src1)
16590 /* 44440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKWDkk),
16591 /* 44443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16592 /* 44445 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16593 /* 44447 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16594 /* 44449 */ GIR_RootConstrainSelectedInstOperands,
16595 /* 44450 */ // GIR_Coverage, 19608,
16596 /* 44450 */ GIR_EraseRootFromParent_Done,
16597 /* 44451 */ // Label 1323: @44451
16598 /* 44451 */ GIM_Reject,
16599 /* 44452 */ // Label 1320: @44452
16600 /* 44452 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1324*/ GIMT_Encode4(44488), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19609 //
16601 /* 44459 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
16602 /* 44462 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
16603 /* 44465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16604 /* 44469 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16605 /* 44473 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16606 /* 44477 */ // (concat_vectors:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KUNPCKDQkk:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src2, VK32:{ *:[v32i1] }:$src1)
16607 /* 44477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKDQkk),
16608 /* 44480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16609 /* 44482 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16610 /* 44484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16611 /* 44486 */ GIR_RootConstrainSelectedInstOperands,
16612 /* 44487 */ // GIR_Coverage, 19609,
16613 /* 44487 */ GIR_EraseRootFromParent_Done,
16614 /* 44488 */ // Label 1324: @44488
16615 /* 44488 */ GIM_Reject,
16616 /* 44489 */ // Label 1321: @44489
16617 /* 44489 */ GIM_Reject,
16618 /* 44490 */ // Label 1317: @44490
16619 /* 44490 */ GIM_Reject,
16620 /* 44491 */ // Label 8: @44491
16621 /* 44491 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(13), /*)*//*default:*//*Label 1333*/ GIMT_Encode4(47097),
16622 /* 44502 */ /*GILLT_s8*//*Label 1325*/ GIMT_Encode4(44550),
16623 /* 44506 */ /*GILLT_s16*//*Label 1326*/ GIMT_Encode4(44611),
16624 /* 44510 */ /*GILLT_s32*//*Label 1327*/ GIMT_Encode4(45457),
16625 /* 44514 */ /*GILLT_s64*//*Label 1328*/ GIMT_Encode4(45888), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16626 /* 44534 */ /*GILLT_v8s1*//*Label 1329*/ GIMT_Encode4(46319),
16627 /* 44538 */ /*GILLT_v16s1*//*Label 1330*/ GIMT_Encode4(46504),
16628 /* 44542 */ /*GILLT_v32s1*//*Label 1331*/ GIMT_Encode4(46689),
16629 /* 44546 */ /*GILLT_v64s1*//*Label 1332*/ GIMT_Encode4(46870),
16630 /* 44550 */ // Label 1325: @44550
16631 /* 44550 */ GIM_Try, /*On fail goto*//*Label 1334*/ GIMT_Encode4(44610), // Rule ID 19534 //
16632 /* 44555 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
16633 /* 44558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
16634 /* 44562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
16635 /* 44566 */ // (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
16636 /* 44566 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16637 /* 44569 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16638 /* 44573 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16639 /* 44578 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
16640 /* 44582 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
16641 /* 44587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16642 /* 44590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16643 /* 44592 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
16644 /* 44599 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
16645 /* 44604 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16646 /* 44609 */ // GIR_Coverage, 19534,
16647 /* 44609 */ GIR_EraseRootFromParent_Done,
16648 /* 44610 */ // Label 1334: @44610
16649 /* 44610 */ GIM_Reject,
16650 /* 44611 */ // Label 1326: @44611
16651 /* 44611 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(11), /*)*//*default:*//*Label 1337*/ GIMT_Encode4(45456),
16652 /* 44622 */ /*GILLT_s16*//*Label 1335*/ GIMT_Encode4(44658), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16653 /* 44654 */ /*GILLT_v16s1*//*Label 1336*/ GIMT_Encode4(45398),
16654 /* 44658 */ // Label 1335: @44658
16655 /* 44658 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1338*/ GIMT_Encode4(44755), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22342 //
16656 /* 44665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16657 /* 44669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16658 /* 44673 */ // (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] })
16659 /* 44673 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
16660 /* 44676 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16661 /* 44680 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16662 /* 44685 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16663 /* 44687 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
16664 /* 44690 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16665 /* 44694 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16666 /* 44699 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16667 /* 44702 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16668 /* 44706 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/4,
16669 /* 44709 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16670 /* 44714 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16671 /* 44719 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
16672 /* 44724 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
16673 /* 44727 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVW2SHrr),
16674 /* 44731 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16675 /* 44736 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16676 /* 44739 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16677 /* 44741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16678 /* 44744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16679 /* 44746 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16680 /* 44749 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
16681 /* 44754 */ // GIR_Coverage, 22342,
16682 /* 44754 */ GIR_EraseRootFromParent_Done,
16683 /* 44755 */ // Label 1338: @44755
16684 /* 44755 */ GIM_Try, /*On fail goto*//*Label 1339*/ GIMT_Encode4(44908),
16685 /* 44760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16686 /* 44764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1340*/ GIMT_Encode4(44836), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22355 //
16687 /* 44771 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16688 /* 44775 */ // (bitconvert:{ *:[i16] } FR16X:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VMOVSH2Wrr:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[f128] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] })), sub_16bit:{ *:[i32] })
16689 /* 44775 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s128,
16690 /* 44778 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16691 /* 44782 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16692 /* 44787 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16693 /* 44791 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
16694 /* 44796 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16695 /* 44799 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSH2Wrr),
16696 /* 44803 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16697 /* 44808 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16698 /* 44811 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16699 /* 44813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16700 /* 44816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16701 /* 44818 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16702 /* 44825 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16703 /* 44830 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16704 /* 44835 */ // GIR_Coverage, 22355,
16705 /* 44835 */ GIR_EraseRootFromParent_Done,
16706 /* 44836 */ // Label 1340: @44836
16707 /* 44836 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1341*/ GIMT_Encode4(44907), GIMT_Encode2(GIFBS_HasAVX_NoBWI), // Rule ID 18437 //
16708 /* 44843 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
16709 /* 44843 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16710 /* 44846 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16711 /* 44850 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16712 /* 44855 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16713 /* 44859 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
16714 /* 44864 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16715 /* 44867 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWrri),
16716 /* 44871 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16717 /* 44876 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16718 /* 44879 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16719 /* 44882 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16720 /* 44884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16721 /* 44887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16722 /* 44889 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16723 /* 44896 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16724 /* 44901 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16725 /* 44906 */ // GIR_Coverage, 18437,
16726 /* 44906 */ GIR_EraseRootFromParent_Done,
16727 /* 44907 */ // Label 1341: @44907
16728 /* 44907 */ GIM_Reject,
16729 /* 44908 */ // Label 1339: @44908
16730 /* 44908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1342*/ GIMT_Encode4(45021), GIMT_Encode2(GIFBS_HasAVX_NoBWI), // Rule ID 18438 //
16731 /* 44915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
16732 /* 44919 */ // (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] })
16733 /* 44919 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
16734 /* 44922 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16735 /* 44926 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16736 /* 44931 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
16737 /* 44933 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
16738 /* 44936 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16739 /* 44940 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16740 /* 44945 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
16741 /* 44948 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
16742 /* 44952 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
16743 /* 44955 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16744 /* 44960 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16745 /* 44965 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
16746 /* 44970 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16747 /* 44973 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16748 /* 44977 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16749 /* 44982 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16750 /* 44984 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
16751 /* 44987 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrri),
16752 /* 44991 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16753 /* 44996 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16754 /* 44999 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
16755 /* 45002 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16756 /* 45005 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16757 /* 45007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16758 /* 45010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16759 /* 45012 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16760 /* 45015 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
16761 /* 45020 */ // GIR_Coverage, 18438,
16762 /* 45020 */ GIR_EraseRootFromParent_Done,
16763 /* 45021 */ // Label 1342: @45021
16764 /* 45021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1343*/ GIMT_Encode4(45096), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18434 //
16765 /* 45028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16766 /* 45032 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (PEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
16767 /* 45032 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16768 /* 45035 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16769 /* 45039 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16770 /* 45044 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16771 /* 45048 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
16772 /* 45053 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16773 /* 45056 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
16774 /* 45060 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16775 /* 45065 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16776 /* 45068 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16777 /* 45071 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16778 /* 45073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16779 /* 45076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16780 /* 45078 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16781 /* 45085 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16782 /* 45090 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16783 /* 45095 */ // GIR_Coverage, 18434,
16784 /* 45095 */ GIR_EraseRootFromParent_Done,
16785 /* 45096 */ // Label 1343: @45096
16786 /* 45096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1344*/ GIMT_Encode4(45209), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18435 //
16787 /* 45103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
16788 /* 45107 */ // (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] })
16789 /* 45107 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
16790 /* 45110 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16791 /* 45114 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16792 /* 45119 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
16793 /* 45121 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
16794 /* 45124 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16795 /* 45128 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16796 /* 45133 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
16797 /* 45136 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
16798 /* 45140 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
16799 /* 45143 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16800 /* 45148 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16801 /* 45153 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
16802 /* 45158 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16803 /* 45161 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16804 /* 45165 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16805 /* 45170 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16806 /* 45172 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
16807 /* 45175 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrri),
16808 /* 45179 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16809 /* 45184 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16810 /* 45187 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
16811 /* 45190 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16812 /* 45193 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16813 /* 45195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16814 /* 45198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16815 /* 45200 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16816 /* 45203 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
16817 /* 45208 */ // GIR_Coverage, 18435,
16818 /* 45208 */ GIR_EraseRootFromParent_Done,
16819 /* 45209 */ // Label 1344: @45209
16820 /* 45209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1345*/ GIMT_Encode4(45284), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21993 //
16821 /* 45216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16822 /* 45220 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWZrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
16823 /* 45220 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16824 /* 45223 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16825 /* 45227 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16826 /* 45232 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16827 /* 45236 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
16828 /* 45241 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16829 /* 45244 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZrri),
16830 /* 45248 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16831 /* 45253 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16832 /* 45256 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16833 /* 45259 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16834 /* 45261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16835 /* 45264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16836 /* 45266 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16837 /* 45273 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16838 /* 45278 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16839 /* 45283 */ // GIR_Coverage, 21993,
16840 /* 45283 */ GIR_EraseRootFromParent_Done,
16841 /* 45284 */ // Label 1345: @45284
16842 /* 45284 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1346*/ GIMT_Encode4(45397), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21994 //
16843 /* 45291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16844 /* 45295 */ // (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] })
16845 /* 45295 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
16846 /* 45298 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16847 /* 45302 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16848 /* 45307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
16849 /* 45309 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
16850 /* 45312 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16851 /* 45316 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16852 /* 45321 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
16853 /* 45324 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
16854 /* 45328 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
16855 /* 45331 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16856 /* 45336 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16857 /* 45341 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
16858 /* 45346 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16859 /* 45349 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16860 /* 45353 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16861 /* 45358 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16862 /* 45360 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
16863 /* 45363 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrri),
16864 /* 45367 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16865 /* 45372 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16866 /* 45375 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
16867 /* 45378 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16868 /* 45381 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16869 /* 45383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16870 /* 45386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16871 /* 45388 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16872 /* 45391 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
16873 /* 45396 */ // GIR_Coverage, 21994,
16874 /* 45396 */ GIR_EraseRootFromParent_Done,
16875 /* 45397 */ // Label 1346: @45397
16876 /* 45397 */ GIM_Reject,
16877 /* 45398 */ // Label 1336: @45398
16878 /* 45398 */ GIM_Try, /*On fail goto*//*Label 1347*/ GIMT_Encode4(45455), // Rule ID 19531 //
16879 /* 45403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16880 /* 45407 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16881 /* 45411 */ // (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_16bit:{ *:[i32] })
16882 /* 45411 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16883 /* 45414 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16884 /* 45418 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16885 /* 45423 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
16886 /* 45427 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
16887 /* 45432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16888 /* 45435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16889 /* 45437 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16890 /* 45444 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16891 /* 45449 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16892 /* 45454 */ // GIR_Coverage, 19531,
16893 /* 45454 */ GIR_EraseRootFromParent_Done,
16894 /* 45455 */ // Label 1347: @45455
16895 /* 45455 */ GIM_Reject,
16896 /* 45456 */ // Label 1337: @45456
16897 /* 45456 */ GIM_Reject,
16898 /* 45457 */ // Label 1327: @45457
16899 /* 45457 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(12), /*)*//*default:*//*Label 1350*/ GIMT_Encode4(45887),
16900 /* 45468 */ /*GILLT_s32*//*Label 1348*/ GIMT_Encode4(45504), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16901 /* 45500 */ /*GILLT_v32s1*//*Label 1349*/ GIMT_Encode4(45821),
16902 /* 45504 */ // Label 1348: @45504
16903 /* 45504 */ GIM_Try, /*On fail goto*//*Label 1351*/ GIMT_Encode4(45630),
16904 /* 45509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
16905 /* 45513 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1352*/ GIMT_Encode4(45571), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22753 //
16906 /* 45520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16907 /* 45524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16908 /* 45528 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
16909 /* 45531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16910 /* 45535 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
16911 /* 45542 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16912 /* 45546 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16913 /* 45548 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16914 /* 45555 */ // (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)
16915 /* 45555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
16916 /* 45558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16917 /* 45560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
16918 /* 45564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16919 /* 45569 */ GIR_RootConstrainSelectedInstOperands,
16920 /* 45570 */ // GIR_Coverage, 22753,
16921 /* 45570 */ GIR_EraseRootFromParent_Done,
16922 /* 45571 */ // Label 1352: @45571
16923 /* 45571 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1353*/ GIMT_Encode4(45629), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22754 //
16924 /* 45578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16925 /* 45582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16926 /* 45586 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
16927 /* 45589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16928 /* 45593 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
16929 /* 45600 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16930 /* 45604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16931 /* 45606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16932 /* 45613 */ // (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)
16933 /* 45613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
16934 /* 45616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16935 /* 45618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
16936 /* 45622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16937 /* 45627 */ GIR_RootConstrainSelectedInstOperands,
16938 /* 45628 */ // GIR_Coverage, 22754,
16939 /* 45628 */ GIR_EraseRootFromParent_Done,
16940 /* 45629 */ // Label 1353: @45629
16941 /* 45629 */ GIM_Reject,
16942 /* 45630 */ // Label 1351: @45630
16943 /* 45630 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1354*/ GIMT_Encode4(45692), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22755 //
16944 /* 45637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
16945 /* 45641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16946 /* 45645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16947 /* 45649 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
16948 /* 45652 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16949 /* 45656 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
16950 /* 45663 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16951 /* 45667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16952 /* 45669 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16953 /* 45676 */ // (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)
16954 /* 45676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
16955 /* 45679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16956 /* 45681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
16957 /* 45685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16958 /* 45690 */ GIR_RootConstrainSelectedInstOperands,
16959 /* 45691 */ // GIR_Coverage, 22755,
16960 /* 45691 */ GIR_EraseRootFromParent_Done,
16961 /* 45692 */ // Label 1354: @45692
16962 /* 45692 */ GIM_Try, /*On fail goto*//*Label 1355*/ GIMT_Encode4(45734),
16963 /* 45697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
16964 /* 45701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
16965 /* 45705 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1356*/ GIMT_Encode4(45719), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2897 //
16966 /* 45712 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
16967 /* 45712 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSrr),
16968 /* 45717 */ GIR_RootConstrainSelectedInstOperands,
16969 /* 45718 */ // GIR_Coverage, 2897,
16970 /* 45718 */ GIR_Done,
16971 /* 45719 */ // Label 1356: @45719
16972 /* 45719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1357*/ GIMT_Encode4(45733), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2898 //
16973 /* 45726 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (MOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
16974 /* 45726 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVDI2SSrr),
16975 /* 45731 */ GIR_RootConstrainSelectedInstOperands,
16976 /* 45732 */ // GIR_Coverage, 2898,
16977 /* 45732 */ GIR_Done,
16978 /* 45733 */ // Label 1357: @45733
16979 /* 45733 */ GIM_Reject,
16980 /* 45734 */ // Label 1355: @45734
16981 /* 45734 */ GIM_Try, /*On fail goto*//*Label 1358*/ GIMT_Encode4(45776),
16982 /* 45739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
16983 /* 45743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
16984 /* 45747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1359*/ GIMT_Encode4(45761), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2909 //
16985 /* 45754 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VMOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
16986 /* 45754 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIrr),
16987 /* 45759 */ GIR_RootConstrainSelectedInstOperands,
16988 /* 45760 */ // GIR_Coverage, 2909,
16989 /* 45760 */ GIR_Done,
16990 /* 45761 */ // Label 1359: @45761
16991 /* 45761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1360*/ GIMT_Encode4(45775), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2910 //
16992 /* 45768 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (MOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
16993 /* 45768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSS2DIrr),
16994 /* 45773 */ GIR_RootConstrainSelectedInstOperands,
16995 /* 45774 */ // GIR_Coverage, 2910,
16996 /* 45774 */ GIR_Done,
16997 /* 45775 */ // Label 1360: @45775
16998 /* 45775 */ GIM_Reject,
16999 /* 45776 */ // Label 1358: @45776
17000 /* 45776 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1361*/ GIMT_Encode4(45798), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4597 //
17001 /* 45783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17002 /* 45787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17003 /* 45791 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17004 /* 45791 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
17005 /* 45796 */ GIR_RootConstrainSelectedInstOperands,
17006 /* 45797 */ // GIR_Coverage, 4597,
17007 /* 45797 */ GIR_Done,
17008 /* 45798 */ // Label 1361: @45798
17009 /* 45798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1362*/ GIMT_Encode4(45820), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4604 //
17010 /* 45805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17011 /* 45809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17012 /* 45813 */ // (bitconvert:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
17013 /* 45813 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
17014 /* 45818 */ GIR_RootConstrainSelectedInstOperands,
17015 /* 45819 */ // GIR_Coverage, 4604,
17016 /* 45819 */ GIR_Done,
17017 /* 45820 */ // Label 1362: @45820
17018 /* 45820 */ GIM_Reject,
17019 /* 45821 */ // Label 1349: @45821
17020 /* 45821 */ GIM_Try, /*On fail goto*//*Label 1363*/ GIMT_Encode4(45845), // Rule ID 19546 //
17021 /* 45826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17022 /* 45830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17023 /* 45834 */ // (bitconvert:{ *:[i32] } VK32:{ *:[v32i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } VK32:{ *:[v32i1] }:$src, GR32:{ *:[i32] })
17024 /* 45834 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17025 /* 45839 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17026 /* 45844 */ // GIR_Coverage, 19546,
17027 /* 45844 */ GIR_Done,
17028 /* 45845 */ // Label 1363: @45845
17029 /* 45845 */ GIM_Try, /*On fail goto*//*Label 1364*/ GIMT_Encode4(45886), // Rule ID 20004 //
17030 /* 45850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17031 /* 45854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17032 /* 45858 */ // (bitconvert:{ *:[f32] } VK32:{ *:[v32i1] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } (KMOVDrk:{ *:[i32] } VK32:{ *:[v32i1] }:$src))
17033 /* 45858 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17034 /* 45861 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVDrk),
17035 /* 45865 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17036 /* 45870 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17037 /* 45874 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17038 /* 45876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
17039 /* 45879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17040 /* 45881 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17041 /* 45884 */ GIR_RootConstrainSelectedInstOperands,
17042 /* 45885 */ // GIR_Coverage, 20004,
17043 /* 45885 */ GIR_EraseRootFromParent_Done,
17044 /* 45886 */ // Label 1364: @45886
17045 /* 45886 */ GIM_Reject,
17046 /* 45887 */ // Label 1350: @45887
17047 /* 45887 */ GIM_Reject,
17048 /* 45888 */ // Label 1328: @45888
17049 /* 45888 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(4), GIMT_Encode2(13), /*)*//*default:*//*Label 1367*/ GIMT_Encode4(46318),
17050 /* 45899 */ /*GILLT_s64*//*Label 1365*/ GIMT_Encode4(45935), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17051 /* 45931 */ /*GILLT_v64s1*//*Label 1366*/ GIMT_Encode4(46252),
17052 /* 45935 */ // Label 1365: @45935
17053 /* 45935 */ GIM_Try, /*On fail goto*//*Label 1368*/ GIMT_Encode4(46061),
17054 /* 45940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17055 /* 45944 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1369*/ GIMT_Encode4(46002), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 22756 //
17056 /* 45951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17057 /* 45955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17058 /* 45959 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17059 /* 45962 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17060 /* 45966 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17061 /* 45973 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17062 /* 45977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17063 /* 45979 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17064 /* 45986 */ // (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)
17065 /* 45986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
17066 /* 45989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17067 /* 45991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17068 /* 45995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17069 /* 46000 */ GIR_RootConstrainSelectedInstOperands,
17070 /* 46001 */ // GIR_Coverage, 22756,
17071 /* 46001 */ GIR_EraseRootFromParent_Done,
17072 /* 46002 */ // Label 1369: @46002
17073 /* 46002 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1370*/ GIMT_Encode4(46060), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22757 //
17074 /* 46009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17075 /* 46013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17076 /* 46017 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17077 /* 46020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17078 /* 46024 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17079 /* 46031 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17080 /* 46035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17081 /* 46037 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17082 /* 46044 */ // (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)
17083 /* 46044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
17084 /* 46047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17085 /* 46049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17086 /* 46053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17087 /* 46058 */ GIR_RootConstrainSelectedInstOperands,
17088 /* 46059 */ // GIR_Coverage, 22757,
17089 /* 46059 */ GIR_EraseRootFromParent_Done,
17090 /* 46060 */ // Label 1370: @46060
17091 /* 46060 */ GIM_Reject,
17092 /* 46061 */ // Label 1368: @46061
17093 /* 46061 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1371*/ GIMT_Encode4(46123), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22758 //
17094 /* 46068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17095 /* 46072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17096 /* 46076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17097 /* 46080 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17098 /* 46083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17099 /* 46087 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17100 /* 46094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17101 /* 46098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17102 /* 46100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17103 /* 46107 */ // (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)
17104 /* 46107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
17105 /* 46110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17106 /* 46112 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17107 /* 46116 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17108 /* 46121 */ GIR_RootConstrainSelectedInstOperands,
17109 /* 46122 */ // GIR_Coverage, 22758,
17110 /* 46122 */ GIR_EraseRootFromParent_Done,
17111 /* 46123 */ // Label 1371: @46123
17112 /* 46123 */ GIM_Try, /*On fail goto*//*Label 1372*/ GIMT_Encode4(46165),
17113 /* 46128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17114 /* 46132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17115 /* 46136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1373*/ GIMT_Encode4(46150), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2892 //
17116 /* 46143 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17117 /* 46143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDrr),
17118 /* 46148 */ GIR_RootConstrainSelectedInstOperands,
17119 /* 46149 */ // GIR_Coverage, 2892,
17120 /* 46149 */ GIR_Done,
17121 /* 46150 */ // Label 1373: @46150
17122 /* 46150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1374*/ GIMT_Encode4(46164), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2896 //
17123 /* 46157 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (MOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17124 /* 46157 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOV64toSDrr),
17125 /* 46162 */ GIR_RootConstrainSelectedInstOperands,
17126 /* 46163 */ // GIR_Coverage, 2896,
17127 /* 46163 */ GIR_Done,
17128 /* 46164 */ // Label 1374: @46164
17129 /* 46164 */ GIM_Reject,
17130 /* 46165 */ // Label 1372: @46165
17131 /* 46165 */ GIM_Try, /*On fail goto*//*Label 1375*/ GIMT_Encode4(46207),
17132 /* 46170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17133 /* 46174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17134 /* 46178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1376*/ GIMT_Encode4(46192), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2907 //
17135 /* 46185 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VMOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17136 /* 46185 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64rr),
17137 /* 46190 */ GIR_RootConstrainSelectedInstOperands,
17138 /* 46191 */ // GIR_Coverage, 2907,
17139 /* 46191 */ GIR_Done,
17140 /* 46192 */ // Label 1376: @46192
17141 /* 46192 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1377*/ GIMT_Encode4(46206), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2908 //
17142 /* 46199 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (MOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17143 /* 46199 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSDto64rr),
17144 /* 46204 */ GIR_RootConstrainSelectedInstOperands,
17145 /* 46205 */ // GIR_Coverage, 2908,
17146 /* 46205 */ GIR_Done,
17147 /* 46206 */ // Label 1377: @46206
17148 /* 46206 */ GIM_Reject,
17149 /* 46207 */ // Label 1375: @46207
17150 /* 46207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1378*/ GIMT_Encode4(46229), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4595 //
17151 /* 46214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17152 /* 46218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17153 /* 46222 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDZrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17154 /* 46222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17155 /* 46227 */ GIR_RootConstrainSelectedInstOperands,
17156 /* 46228 */ // GIR_Coverage, 4595,
17157 /* 46228 */ GIR_Done,
17158 /* 46229 */ // Label 1378: @46229
17159 /* 46229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1379*/ GIMT_Encode4(46251), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4596 //
17160 /* 46236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17161 /* 46240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17162 /* 46244 */ // (bitconvert:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
17163 /* 46244 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
17164 /* 46249 */ GIR_RootConstrainSelectedInstOperands,
17165 /* 46250 */ // GIR_Coverage, 4596,
17166 /* 46250 */ GIR_Done,
17167 /* 46251 */ // Label 1379: @46251
17168 /* 46251 */ GIM_Reject,
17169 /* 46252 */ // Label 1366: @46252
17170 /* 46252 */ GIM_Try, /*On fail goto*//*Label 1380*/ GIMT_Encode4(46276), // Rule ID 19548 //
17171 /* 46257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17172 /* 46261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17173 /* 46265 */ // (bitconvert:{ *:[i64] } VK64:{ *:[v64i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i64] } VK64:{ *:[v64i1] }:$src, GR64:{ *:[i32] })
17174 /* 46265 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17175 /* 46270 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
17176 /* 46275 */ // GIR_Coverage, 19548,
17177 /* 46275 */ GIR_Done,
17178 /* 46276 */ // Label 1380: @46276
17179 /* 46276 */ GIM_Try, /*On fail goto*//*Label 1381*/ GIMT_Encode4(46317), // Rule ID 20006 //
17180 /* 46281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17181 /* 46285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17182 /* 46289 */ // (bitconvert:{ *:[f64] } VK64:{ *:[v64i1] }:$src) => (VMOV64toSDZrr:{ *:[f64] } (KMOVQrk:{ *:[i64] } VK64:{ *:[v64i1] }:$src))
17183 /* 46289 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
17184 /* 46292 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVQrk),
17185 /* 46296 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17186 /* 46301 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17187 /* 46305 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17188 /* 46307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17189 /* 46310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17190 /* 46312 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17191 /* 46315 */ GIR_RootConstrainSelectedInstOperands,
17192 /* 46316 */ // GIR_Coverage, 20006,
17193 /* 46316 */ GIR_EraseRootFromParent_Done,
17194 /* 46317 */ // Label 1381: @46317
17195 /* 46317 */ GIM_Reject,
17196 /* 46318 */ // Label 1367: @46318
17197 /* 46318 */ GIM_Reject,
17198 /* 46319 */ // Label 1329: @46319
17199 /* 46319 */ GIM_Try, /*On fail goto*//*Label 1382*/ GIMT_Encode4(46503),
17200 /* 46324 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
17201 /* 46327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17202 /* 46331 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1383*/ GIMT_Encode4(46403), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19552 //
17203 /* 46338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17204 /* 46342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17205 /* 46346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17206 /* 46349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17207 /* 46353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17208 /* 46357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17209 /* 46359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17210 /* 46366 */ // (bitconvert:{ *:[v8i1] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (COPY_TO_REGCLASS:{ *:[v8i1] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), VK8:{ *:[i32] })
17211 /* 46366 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17212 /* 46369 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
17213 /* 46373 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17214 /* 46378 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
17215 /* 46382 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17216 /* 46387 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17217 /* 46389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17218 /* 46392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17219 /* 46394 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17220 /* 46397 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17221 /* 46402 */ // GIR_Coverage, 19552,
17222 /* 46402 */ GIR_EraseRootFromParent_Done,
17223 /* 46403 */ // Label 1383: @46403
17224 /* 46403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1384*/ GIMT_Encode4(46428), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19708 //
17225 /* 46410 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17226 /* 46421 */ // (bitconvert:{ *:[v8i1] } 255:{ *:[i8] }) => (KSET1B:{ *:[v8i1] })
17227 /* 46421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17228 /* 46424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17229 /* 46426 */ GIR_RootConstrainSelectedInstOperands,
17230 /* 46427 */ // GIR_Coverage, 19708,
17231 /* 46427 */ GIR_EraseRootFromParent_Done,
17232 /* 46428 */ // Label 1384: @46428
17233 /* 46428 */ GIM_Try, /*On fail goto*//*Label 1385*/ GIMT_Encode4(46502), // Rule ID 19533 //
17234 /* 46433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
17235 /* 46437 */ // (bitconvert:{ *:[v8i1] } GR8:{ *:[i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src, sub_8bit:{ *:[i32] }), VK8:{ *:[i32] })
17236 /* 46437 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17237 /* 46440 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17238 /* 46444 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17239 /* 46449 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17240 /* 46451 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17241 /* 46454 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17242 /* 46458 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17243 /* 46463 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17244 /* 46466 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17245 /* 46470 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
17246 /* 46473 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17247 /* 46478 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17248 /* 46483 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
17249 /* 46488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17250 /* 46491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17251 /* 46493 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17252 /* 46496 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17253 /* 46501 */ // GIR_Coverage, 19533,
17254 /* 46501 */ GIR_EraseRootFromParent_Done,
17255 /* 46502 */ // Label 1385: @46502
17256 /* 46502 */ GIM_Reject,
17257 /* 46503 */ // Label 1382: @46503
17258 /* 46503 */ GIM_Reject,
17259 /* 46504 */ // Label 1330: @46504
17260 /* 46504 */ GIM_Try, /*On fail goto*//*Label 1386*/ GIMT_Encode4(46688),
17261 /* 46509 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17262 /* 46512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17263 /* 46516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1387*/ GIMT_Encode4(46567), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19553 //
17264 /* 46523 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17265 /* 46527 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17266 /* 46531 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17267 /* 46534 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17268 /* 46538 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
17269 /* 46542 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17270 /* 46544 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17271 /* 46551 */ // (bitconvert:{ *:[v16i1] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
17272 /* 46551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
17273 /* 46554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17274 /* 46556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17275 /* 46560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17276 /* 46565 */ GIR_RootConstrainSelectedInstOperands,
17277 /* 46566 */ // GIR_Coverage, 19553,
17278 /* 46566 */ GIR_EraseRootFromParent_Done,
17279 /* 46567 */ // Label 1387: @46567
17280 /* 46567 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1388*/ GIMT_Encode4(46613), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19709 //
17281 /* 46574 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17282 /* 46585 */ // (bitconvert:{ *:[v16i1] } 255:{ *:[i16] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } (KSET1B:{ *:[v8i1] }), VK16:{ *:[i32] })
17283 /* 46585 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17284 /* 46588 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17285 /* 46592 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17286 /* 46597 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17287 /* 46599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17288 /* 46602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17289 /* 46604 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17290 /* 46607 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
17291 /* 46612 */ // GIR_Coverage, 19709,
17292 /* 46612 */ GIR_EraseRootFromParent_Done,
17293 /* 46613 */ // Label 1388: @46613
17294 /* 46613 */ GIM_Try, /*On fail goto*//*Label 1389*/ GIMT_Encode4(46687), // Rule ID 19530 //
17295 /* 46618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17296 /* 46622 */ // (bitconvert:{ *:[v16i1] } GR16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] }), VK16:{ *:[i32] })
17297 /* 46622 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17298 /* 46625 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17299 /* 46629 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17300 /* 46634 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17301 /* 46636 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17302 /* 46639 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17303 /* 46643 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17304 /* 46648 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17305 /* 46651 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17306 /* 46655 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/4,
17307 /* 46658 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17308 /* 46663 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17309 /* 46668 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17310 /* 46673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17311 /* 46676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17312 /* 46678 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17313 /* 46681 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
17314 /* 46686 */ // GIR_Coverage, 19530,
17315 /* 46686 */ GIR_EraseRootFromParent_Done,
17316 /* 46687 */ // Label 1389: @46687
17317 /* 46687 */ GIM_Reject,
17318 /* 46688 */ // Label 1386: @46688
17319 /* 46688 */ GIM_Reject,
17320 /* 46689 */ // Label 1331: @46689
17321 /* 46689 */ GIM_Try, /*On fail goto*//*Label 1390*/ GIMT_Encode4(46869),
17322 /* 46694 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17323 /* 46697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17324 /* 46701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1391*/ GIMT_Encode4(46719), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19710 //
17325 /* 46708 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
17326 /* 46712 */ // (bitconvert:{ *:[v32i1] } -1:{ *:[i32] }) => (KSET1D:{ *:[v32i1] })
17327 /* 46712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1D),
17328 /* 46715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17329 /* 46717 */ GIR_RootConstrainSelectedInstOperands,
17330 /* 46718 */ // GIR_Coverage, 19710,
17331 /* 46718 */ GIR_EraseRootFromParent_Done,
17332 /* 46719 */ // Label 1391: @46719
17333 /* 46719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1392*/ GIMT_Encode4(46765), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19712 //
17334 /* 46726 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17335 /* 46737 */ // (bitconvert:{ *:[v32i1] } 255:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1B:{ *:[v8i1] }), VK32:{ *:[i32] })
17336 /* 46737 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17337 /* 46740 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17338 /* 46744 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17339 /* 46749 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17340 /* 46751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17341 /* 46754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17342 /* 46756 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17343 /* 46759 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17344 /* 46764 */ // GIR_Coverage, 19712,
17345 /* 46764 */ GIR_EraseRootFromParent_Done,
17346 /* 46765 */ // Label 1392: @46765
17347 /* 46765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1393*/ GIMT_Encode4(46811), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19713 //
17348 /* 46772 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
17349 /* 46783 */ // (bitconvert:{ *:[v32i1] } 65535:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1W:{ *:[v16i1] }), VK32:{ *:[i32] })
17350 /* 46783 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
17351 /* 46786 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
17352 /* 46790 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17353 /* 46795 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17354 /* 46797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17355 /* 46800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17356 /* 46802 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17357 /* 46805 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17358 /* 46810 */ // GIR_Coverage, 19713,
17359 /* 46810 */ GIR_EraseRootFromParent_Done,
17360 /* 46811 */ // Label 1393: @46811
17361 /* 46811 */ GIM_Try, /*On fail goto*//*Label 1394*/ GIMT_Encode4(46831), // Rule ID 19545 //
17362 /* 46816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17363 /* 46820 */ // (bitconvert:{ *:[v32i1] } GR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v32i1] } GR32:{ *:[i32] }:$src, VK32:{ *:[i32] })
17364 /* 46820 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17365 /* 46825 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17366 /* 46830 */ // GIR_Coverage, 19545,
17367 /* 46830 */ GIR_Done,
17368 /* 46831 */ // Label 1394: @46831
17369 /* 46831 */ GIM_Try, /*On fail goto*//*Label 1395*/ GIMT_Encode4(46868), // Rule ID 20003 //
17370 /* 46836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17371 /* 46840 */ // (bitconvert:{ *:[v32i1] } FR32X:{ *:[f32] }:$src) => (KMOVDkr:{ *:[v32i1] } (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src))
17372 /* 46840 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17373 /* 46843 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
17374 /* 46847 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17375 /* 46852 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17376 /* 46856 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17377 /* 46858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkr),
17378 /* 46861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17379 /* 46863 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17380 /* 46866 */ GIR_RootConstrainSelectedInstOperands,
17381 /* 46867 */ // GIR_Coverage, 20003,
17382 /* 46867 */ GIR_EraseRootFromParent_Done,
17383 /* 46868 */ // Label 1395: @46868
17384 /* 46868 */ GIM_Reject,
17385 /* 46869 */ // Label 1390: @46869
17386 /* 46869 */ GIM_Reject,
17387 /* 46870 */ // Label 1332: @46870
17388 /* 46870 */ GIM_Try, /*On fail goto*//*Label 1396*/ GIMT_Encode4(47096),
17389 /* 46875 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17390 /* 46878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17391 /* 46882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1397*/ GIMT_Encode4(46900), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19711 //
17392 /* 46889 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
17393 /* 46893 */ // (bitconvert:{ *:[v64i1] } -1:{ *:[i64] }) => (KSET1Q:{ *:[v64i1] })
17394 /* 46893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1Q),
17395 /* 46896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17396 /* 46898 */ GIR_RootConstrainSelectedInstOperands,
17397 /* 46899 */ // GIR_Coverage, 19711,
17398 /* 46899 */ GIR_EraseRootFromParent_Done,
17399 /* 46900 */ // Label 1397: @46900
17400 /* 46900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1398*/ GIMT_Encode4(46946), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19714 //
17401 /* 46907 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17402 /* 46918 */ // (bitconvert:{ *:[v64i1] } 255:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1B:{ *:[v8i1] }), VK64:{ *:[i32] })
17403 /* 46918 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17404 /* 46921 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17405 /* 46925 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17406 /* 46930 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17407 /* 46932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17408 /* 46935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17409 /* 46937 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17410 /* 46940 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17411 /* 46945 */ // GIR_Coverage, 19714,
17412 /* 46945 */ GIR_EraseRootFromParent_Done,
17413 /* 46946 */ // Label 1398: @46946
17414 /* 46946 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1399*/ GIMT_Encode4(46992), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19715 //
17415 /* 46953 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
17416 /* 46964 */ // (bitconvert:{ *:[v64i1] } 65535:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1W:{ *:[v16i1] }), VK64:{ *:[i32] })
17417 /* 46964 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
17418 /* 46967 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
17419 /* 46971 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17420 /* 46976 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17421 /* 46978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17422 /* 46981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17423 /* 46983 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17424 /* 46986 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17425 /* 46991 */ // GIR_Coverage, 19715,
17426 /* 46991 */ GIR_EraseRootFromParent_Done,
17427 /* 46992 */ // Label 1399: @46992
17428 /* 46992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1400*/ GIMT_Encode4(47038), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19716 //
17429 /* 46999 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(4294967295),
17430 /* 47010 */ // (bitconvert:{ *:[v64i1] } 4294967295:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1D:{ *:[v32i1] }), VK64:{ *:[i32] })
17431 /* 47010 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
17432 /* 47013 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1D),
17433 /* 47017 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17434 /* 47022 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17435 /* 47024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17436 /* 47027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17437 /* 47029 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17438 /* 47032 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17439 /* 47037 */ // GIR_Coverage, 19716,
17440 /* 47037 */ GIR_EraseRootFromParent_Done,
17441 /* 47038 */ // Label 1400: @47038
17442 /* 47038 */ GIM_Try, /*On fail goto*//*Label 1401*/ GIMT_Encode4(47058), // Rule ID 19547 //
17443 /* 47043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17444 /* 47047 */ // (bitconvert:{ *:[v64i1] } GR64:{ *:[i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v64i1] } GR64:{ *:[i64] }:$src, VK64:{ *:[i32] })
17445 /* 47047 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17446 /* 47052 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17447 /* 47057 */ // GIR_Coverage, 19547,
17448 /* 47057 */ GIR_Done,
17449 /* 47058 */ // Label 1401: @47058
17450 /* 47058 */ GIM_Try, /*On fail goto*//*Label 1402*/ GIMT_Encode4(47095), // Rule ID 20005 //
17451 /* 47063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17452 /* 47067 */ // (bitconvert:{ *:[v64i1] } FR64X:{ *:[f64] }:$src) => (KMOVQkr:{ *:[v64i1] } (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src))
17453 /* 47067 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
17454 /* 47070 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
17455 /* 47074 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17456 /* 47079 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17457 /* 47083 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17458 /* 47085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkr),
17459 /* 47088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17460 /* 47090 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17461 /* 47093 */ GIR_RootConstrainSelectedInstOperands,
17462 /* 47094 */ // GIR_Coverage, 20005,
17463 /* 47094 */ GIR_EraseRootFromParent_Done,
17464 /* 47095 */ // Label 1402: @47095
17465 /* 47095 */ GIM_Reject,
17466 /* 47096 */ // Label 1396: @47096
17467 /* 47096 */ GIM_Reject,
17468 /* 47097 */ // Label 1333: @47097
17469 /* 47097 */ GIM_Reject,
17470 /* 47098 */ // Label 9: @47098
17471 /* 47098 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 1415*/ GIMT_Encode4(50255),
17472 /* 47109 */ /*GILLT_s16*//*Label 1403*/ GIMT_Encode4(47201),
17473 /* 47113 */ /*GILLT_s32*//*Label 1404*/ GIMT_Encode4(47261),
17474 /* 47117 */ /*GILLT_s64*//*Label 1405*/ GIMT_Encode4(47833), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17475 /* 47165 */ /*GILLT_v8s16*//*Label 1406*/ GIMT_Encode4(48397),
17476 /* 47169 */ /*GILLT_v16s16*//*Label 1407*/ GIMT_Encode4(48484),
17477 /* 47173 */ /*GILLT_v32s16*//*Label 1408*/ GIMT_Encode4(48571),
17478 /* 47177 */ /*GILLT_v4s32*//*Label 1409*/ GIMT_Encode4(48658),
17479 /* 47181 */ /*GILLT_v8s32*//*Label 1410*/ GIMT_Encode4(49097),
17480 /* 47185 */ /*GILLT_v16s32*//*Label 1411*/ GIMT_Encode4(49472),
17481 /* 47189 */ /*GILLT_v2s64*//*Label 1412*/ GIMT_Encode4(49668),
17482 /* 47193 */ /*GILLT_v4s64*//*Label 1413*/ GIMT_Encode4(49755),
17483 /* 47197 */ /*GILLT_v8s64*//*Label 1414*/ GIMT_Encode4(49955),
17484 /* 47201 */ // Label 1403: @47201
17485 /* 47201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1416*/ GIMT_Encode4(47260), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22371 //
17486 /* 47208 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17487 /* 47211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17488 /* 47215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17489 /* 47219 */ // (lrint:{ *:[i16] } FR16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src), sub_16bit:{ *:[i32] })
17490 /* 47219 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17491 /* 47222 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
17492 /* 47226 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17493 /* 47231 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17494 /* 47235 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17495 /* 47237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17496 /* 47240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17497 /* 47242 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17498 /* 47249 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17499 /* 47254 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17500 /* 47259 */ // GIR_Coverage, 22371,
17501 /* 47259 */ GIR_EraseRootFromParent_Done,
17502 /* 47260 */ // Label 1416: @47260
17503 /* 47260 */ GIM_Reject,
17504 /* 47261 */ // Label 1404: @47261
17505 /* 47261 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1420*/ GIMT_Encode4(47832),
17506 /* 47272 */ /*GILLT_s16*//*Label 1417*/ GIMT_Encode4(47284),
17507 /* 47276 */ /*GILLT_s32*//*Label 1418*/ GIMT_Encode4(47368),
17508 /* 47280 */ /*GILLT_s64*//*Label 1419*/ GIMT_Encode4(47600),
17509 /* 47284 */ // Label 1417: @47284
17510 /* 47284 */ GIM_Try, /*On fail goto*//*Label 1421*/ GIMT_Encode4(47367),
17511 /* 47289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17512 /* 47293 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1422*/ GIMT_Encode4(47344), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22373 //
17513 /* 47300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17514 /* 47304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17515 /* 47308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17516 /* 47311 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17517 /* 47315 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17518 /* 47319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17519 /* 47321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17520 /* 47328 */ // (lrint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17521 /* 47328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
17522 /* 47331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17523 /* 47333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17524 /* 47337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17525 /* 47342 */ GIR_RootConstrainSelectedInstOperands,
17526 /* 47343 */ // GIR_Coverage, 22373,
17527 /* 47343 */ GIR_EraseRootFromParent_Done,
17528 /* 47344 */ // Label 1422: @47344
17529 /* 47344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1423*/ GIMT_Encode4(47366), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22372 //
17530 /* 47351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17531 /* 47355 */ // (lrint:{ *:[i32] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src)
17532 /* 47355 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
17533 /* 47360 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17534 /* 47364 */ GIR_RootConstrainSelectedInstOperands,
17535 /* 47365 */ // GIR_Coverage, 22372,
17536 /* 47365 */ GIR_Done,
17537 /* 47366 */ // Label 1423: @47366
17538 /* 47366 */ GIM_Reject,
17539 /* 47367 */ // Label 1421: @47367
17540 /* 47367 */ GIM_Reject,
17541 /* 47368 */ // Label 1418: @47368
17542 /* 47368 */ GIM_Try, /*On fail goto*//*Label 1424*/ GIMT_Encode4(47599),
17543 /* 47373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17544 /* 47377 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1425*/ GIMT_Encode4(47428), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1737 //
17545 /* 47384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17546 /* 47388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17547 /* 47392 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17548 /* 47395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17549 /* 47399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17550 /* 47403 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17551 /* 47405 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17552 /* 47412 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17553 /* 47412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrm),
17554 /* 47415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17555 /* 47417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17556 /* 47421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17557 /* 47426 */ GIR_RootConstrainSelectedInstOperands,
17558 /* 47427 */ // GIR_Coverage, 1737,
17559 /* 47427 */ GIR_EraseRootFromParent_Done,
17560 /* 47428 */ // Label 1425: @47428
17561 /* 47428 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1426*/ GIMT_Encode4(47479), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1761 //
17562 /* 47435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17563 /* 47439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17564 /* 47443 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17565 /* 47446 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17566 /* 47450 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17567 /* 47454 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17568 /* 47456 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17569 /* 47463 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17570 /* 47463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrm),
17571 /* 47466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17572 /* 47468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17573 /* 47472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17574 /* 47477 */ GIR_RootConstrainSelectedInstOperands,
17575 /* 47478 */ // GIR_Coverage, 1761,
17576 /* 47478 */ GIR_EraseRootFromParent_Done,
17577 /* 47479 */ // Label 1426: @47479
17578 /* 47479 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1427*/ GIMT_Encode4(47530), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10354 //
17579 /* 47486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17580 /* 47490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17581 /* 47494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17582 /* 47497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17583 /* 47501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17584 /* 47505 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17585 /* 47507 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17586 /* 47514 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17587 /* 47514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrm),
17588 /* 47517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17589 /* 47519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17590 /* 47523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17591 /* 47528 */ GIR_RootConstrainSelectedInstOperands,
17592 /* 47529 */ // GIR_Coverage, 10354,
17593 /* 47529 */ GIR_EraseRootFromParent_Done,
17594 /* 47530 */ // Label 1427: @47530
17595 /* 47530 */ GIM_Try, /*On fail goto*//*Label 1428*/ GIMT_Encode4(47576),
17596 /* 47535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17597 /* 47539 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1429*/ GIMT_Encode4(47557), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1736 //
17598 /* 47546 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17599 /* 47546 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrr),
17600 /* 47551 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17601 /* 47555 */ GIR_RootConstrainSelectedInstOperands,
17602 /* 47556 */ // GIR_Coverage, 1736,
17603 /* 47556 */ GIR_Done,
17604 /* 47557 */ // Label 1429: @47557
17605 /* 47557 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1430*/ GIMT_Encode4(47575), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1760 //
17606 /* 47564 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17607 /* 47564 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrr),
17608 /* 47569 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17609 /* 47573 */ GIR_RootConstrainSelectedInstOperands,
17610 /* 47574 */ // GIR_Coverage, 1760,
17611 /* 47574 */ GIR_Done,
17612 /* 47575 */ // Label 1430: @47575
17613 /* 47575 */ GIM_Reject,
17614 /* 47576 */ // Label 1428: @47576
17615 /* 47576 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1431*/ GIMT_Encode4(47598), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10353 //
17616 /* 47583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17617 /* 47587 */ // (lrint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
17618 /* 47587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrr),
17619 /* 47592 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17620 /* 47596 */ GIR_RootConstrainSelectedInstOperands,
17621 /* 47597 */ // GIR_Coverage, 10353,
17622 /* 47597 */ GIR_Done,
17623 /* 47598 */ // Label 1431: @47598
17624 /* 47598 */ GIM_Reject,
17625 /* 47599 */ // Label 1424: @47599
17626 /* 47599 */ GIM_Reject,
17627 /* 47600 */ // Label 1419: @47600
17628 /* 47600 */ GIM_Try, /*On fail goto*//*Label 1432*/ GIMT_Encode4(47831),
17629 /* 47605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17630 /* 47609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1433*/ GIMT_Encode4(47660), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1741 //
17631 /* 47616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17632 /* 47620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17633 /* 47624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17634 /* 47627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17635 /* 47631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17636 /* 47635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17637 /* 47637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17638 /* 47644 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17639 /* 47644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrm),
17640 /* 47647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17641 /* 47649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17642 /* 47653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17643 /* 47658 */ GIR_RootConstrainSelectedInstOperands,
17644 /* 47659 */ // GIR_Coverage, 1741,
17645 /* 47659 */ GIR_EraseRootFromParent_Done,
17646 /* 47660 */ // Label 1433: @47660
17647 /* 47660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1434*/ GIMT_Encode4(47711), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1765 //
17648 /* 47667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17649 /* 47671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17650 /* 47675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17651 /* 47678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17652 /* 47682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17653 /* 47686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17654 /* 47688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17655 /* 47695 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17656 /* 47695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrm),
17657 /* 47698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17658 /* 47700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17659 /* 47704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17660 /* 47709 */ GIR_RootConstrainSelectedInstOperands,
17661 /* 47710 */ // GIR_Coverage, 1765,
17662 /* 47710 */ GIR_EraseRootFromParent_Done,
17663 /* 47711 */ // Label 1434: @47711
17664 /* 47711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1435*/ GIMT_Encode4(47762), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10358 //
17665 /* 47718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17666 /* 47722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17667 /* 47726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17668 /* 47729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17669 /* 47733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17670 /* 47737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17671 /* 47739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17672 /* 47746 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17673 /* 47746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrm),
17674 /* 47749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17675 /* 47751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17676 /* 47755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17677 /* 47760 */ GIR_RootConstrainSelectedInstOperands,
17678 /* 47761 */ // GIR_Coverage, 10358,
17679 /* 47761 */ GIR_EraseRootFromParent_Done,
17680 /* 47762 */ // Label 1435: @47762
17681 /* 47762 */ GIM_Try, /*On fail goto*//*Label 1436*/ GIMT_Encode4(47808),
17682 /* 47767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17683 /* 47771 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1437*/ GIMT_Encode4(47789), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1740 //
17684 /* 47778 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
17685 /* 47778 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrr),
17686 /* 47783 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17687 /* 47787 */ GIR_RootConstrainSelectedInstOperands,
17688 /* 47788 */ // GIR_Coverage, 1740,
17689 /* 47788 */ GIR_Done,
17690 /* 47789 */ // Label 1437: @47789
17691 /* 47789 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1438*/ GIMT_Encode4(47807), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1764 //
17692 /* 47796 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
17693 /* 47796 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrr),
17694 /* 47801 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17695 /* 47805 */ GIR_RootConstrainSelectedInstOperands,
17696 /* 47806 */ // GIR_Coverage, 1764,
17697 /* 47806 */ GIR_Done,
17698 /* 47807 */ // Label 1438: @47807
17699 /* 47807 */ GIM_Reject,
17700 /* 47808 */ // Label 1436: @47808
17701 /* 47808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1439*/ GIMT_Encode4(47830), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10357 //
17702 /* 47815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17703 /* 47819 */ // (lrint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
17704 /* 47819 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrr),
17705 /* 47824 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17706 /* 47828 */ GIR_RootConstrainSelectedInstOperands,
17707 /* 47829 */ // GIR_Coverage, 10357,
17708 /* 47829 */ GIR_Done,
17709 /* 47830 */ // Label 1439: @47830
17710 /* 47830 */ GIM_Reject,
17711 /* 47831 */ // Label 1432: @47831
17712 /* 47831 */ GIM_Reject,
17713 /* 47832 */ // Label 1420: @47832
17714 /* 47832 */ GIM_Reject,
17715 /* 47833 */ // Label 1405: @47833
17716 /* 47833 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1443*/ GIMT_Encode4(48396),
17717 /* 47844 */ /*GILLT_s16*//*Label 1440*/ GIMT_Encode4(47856),
17718 /* 47848 */ /*GILLT_s32*//*Label 1441*/ GIMT_Encode4(47940),
17719 /* 47852 */ /*GILLT_s64*//*Label 1442*/ GIMT_Encode4(48168),
17720 /* 47856 */ // Label 1440: @47856
17721 /* 47856 */ GIM_Try, /*On fail goto*//*Label 1444*/ GIMT_Encode4(47939),
17722 /* 47861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17723 /* 47865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1445*/ GIMT_Encode4(47916), GIMT_Encode2(GIFBS_HasFP16_In64BitMode), // Rule ID 22375 //
17724 /* 47872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17725 /* 47876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17726 /* 47880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17727 /* 47883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17728 /* 47887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17729 /* 47891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17730 /* 47893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17731 /* 47900 */ // (lrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17732 /* 47900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
17733 /* 47903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17734 /* 47905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17735 /* 47909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17736 /* 47914 */ GIR_RootConstrainSelectedInstOperands,
17737 /* 47915 */ // GIR_Coverage, 22375,
17738 /* 47915 */ GIR_EraseRootFromParent_Done,
17739 /* 47916 */ // Label 1445: @47916
17740 /* 47916 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1446*/ GIMT_Encode4(47938), GIMT_Encode2(GIFBS_HasFP16_In64BitMode), // Rule ID 22374 //
17741 /* 47923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17742 /* 47927 */ // (lrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
17743 /* 47927 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
17744 /* 47932 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17745 /* 47936 */ GIR_RootConstrainSelectedInstOperands,
17746 /* 47937 */ // GIR_Coverage, 22374,
17747 /* 47937 */ GIR_Done,
17748 /* 47938 */ // Label 1446: @47938
17749 /* 47938 */ GIM_Reject,
17750 /* 47939 */ // Label 1444: @47939
17751 /* 47939 */ GIM_Reject,
17752 /* 47940 */ // Label 1441: @47940
17753 /* 47940 */ GIM_Try, /*On fail goto*//*Label 1447*/ GIMT_Encode4(48167),
17754 /* 47945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17755 /* 47949 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1448*/ GIMT_Encode4(48000), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18059 //
17756 /* 47956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17757 /* 47960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17758 /* 47964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17759 /* 47967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17760 /* 47971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17761 /* 47975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17762 /* 47977 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17763 /* 47984 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17764 /* 47984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
17765 /* 47987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17766 /* 47989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17767 /* 47993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17768 /* 47998 */ GIR_RootConstrainSelectedInstOperands,
17769 /* 47999 */ // GIR_Coverage, 18059,
17770 /* 47999 */ GIR_EraseRootFromParent_Done,
17771 /* 48000 */ // Label 1448: @48000
17772 /* 48000 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1449*/ GIMT_Encode4(48051), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18063 //
17773 /* 48007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17774 /* 48011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17775 /* 48015 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17776 /* 48018 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17777 /* 48022 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17778 /* 48026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17779 /* 48028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17780 /* 48035 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17781 /* 48035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
17782 /* 48038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17783 /* 48040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17784 /* 48044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17785 /* 48049 */ GIR_RootConstrainSelectedInstOperands,
17786 /* 48050 */ // GIR_Coverage, 18063,
17787 /* 48050 */ GIR_EraseRootFromParent_Done,
17788 /* 48051 */ // Label 1449: @48051
17789 /* 48051 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1450*/ GIMT_Encode4(48102), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21312 //
17790 /* 48058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17791 /* 48062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17792 /* 48066 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17793 /* 48069 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17794 /* 48073 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17795 /* 48077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17796 /* 48079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17797 /* 48086 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17798 /* 48086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
17799 /* 48089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17800 /* 48091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17801 /* 48095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17802 /* 48100 */ GIR_RootConstrainSelectedInstOperands,
17803 /* 48101 */ // GIR_Coverage, 21312,
17804 /* 48101 */ GIR_EraseRootFromParent_Done,
17805 /* 48102 */ // Label 1450: @48102
17806 /* 48102 */ GIM_Try, /*On fail goto*//*Label 1451*/ GIMT_Encode4(48166),
17807 /* 48107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17808 /* 48111 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1452*/ GIMT_Encode4(48129), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18058 //
17809 /* 48118 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
17810 /* 48118 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
17811 /* 48123 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17812 /* 48127 */ GIR_RootConstrainSelectedInstOperands,
17813 /* 48128 */ // GIR_Coverage, 18058,
17814 /* 48128 */ GIR_Done,
17815 /* 48129 */ // Label 1452: @48129
17816 /* 48129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1453*/ GIMT_Encode4(48147), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18062 //
17817 /* 48136 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
17818 /* 48136 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
17819 /* 48141 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17820 /* 48145 */ GIR_RootConstrainSelectedInstOperands,
17821 /* 48146 */ // GIR_Coverage, 18062,
17822 /* 48146 */ GIR_Done,
17823 /* 48147 */ // Label 1453: @48147
17824 /* 48147 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1454*/ GIMT_Encode4(48165), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21311 //
17825 /* 48154 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32:{ *:[f32] }:$src)
17826 /* 48154 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
17827 /* 48159 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17828 /* 48163 */ GIR_RootConstrainSelectedInstOperands,
17829 /* 48164 */ // GIR_Coverage, 21311,
17830 /* 48164 */ GIR_Done,
17831 /* 48165 */ // Label 1454: @48165
17832 /* 48165 */ GIM_Reject,
17833 /* 48166 */ // Label 1451: @48166
17834 /* 48166 */ GIM_Reject,
17835 /* 48167 */ // Label 1447: @48167
17836 /* 48167 */ GIM_Reject,
17837 /* 48168 */ // Label 1442: @48168
17838 /* 48168 */ GIM_Try, /*On fail goto*//*Label 1455*/ GIMT_Encode4(48395),
17839 /* 48173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17840 /* 48177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1456*/ GIMT_Encode4(48228), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18061 //
17841 /* 48184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17842 /* 48188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17843 /* 48192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17844 /* 48195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17845 /* 48199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17846 /* 48203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17847 /* 48205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17848 /* 48212 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17849 /* 48212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
17850 /* 48215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17851 /* 48217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17852 /* 48221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17853 /* 48226 */ GIR_RootConstrainSelectedInstOperands,
17854 /* 48227 */ // GIR_Coverage, 18061,
17855 /* 48227 */ GIR_EraseRootFromParent_Done,
17856 /* 48228 */ // Label 1456: @48228
17857 /* 48228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1457*/ GIMT_Encode4(48279), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18065 //
17858 /* 48235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17859 /* 48239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17860 /* 48243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17861 /* 48246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17862 /* 48250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17863 /* 48254 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17864 /* 48256 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17865 /* 48263 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17866 /* 48263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
17867 /* 48266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17868 /* 48268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17869 /* 48272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17870 /* 48277 */ GIR_RootConstrainSelectedInstOperands,
17871 /* 48278 */ // GIR_Coverage, 18065,
17872 /* 48278 */ GIR_EraseRootFromParent_Done,
17873 /* 48279 */ // Label 1457: @48279
17874 /* 48279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1458*/ GIMT_Encode4(48330), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21314 //
17875 /* 48286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17876 /* 48290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17877 /* 48294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17878 /* 48297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17879 /* 48301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17880 /* 48305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17881 /* 48307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17882 /* 48314 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17883 /* 48314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
17884 /* 48317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17885 /* 48319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17886 /* 48323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17887 /* 48328 */ GIR_RootConstrainSelectedInstOperands,
17888 /* 48329 */ // GIR_Coverage, 21314,
17889 /* 48329 */ GIR_EraseRootFromParent_Done,
17890 /* 48330 */ // Label 1458: @48330
17891 /* 48330 */ GIM_Try, /*On fail goto*//*Label 1459*/ GIMT_Encode4(48394),
17892 /* 48335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17893 /* 48339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1460*/ GIMT_Encode4(48357), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18060 //
17894 /* 48346 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17895 /* 48346 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
17896 /* 48351 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17897 /* 48355 */ GIR_RootConstrainSelectedInstOperands,
17898 /* 48356 */ // GIR_Coverage, 18060,
17899 /* 48356 */ GIR_Done,
17900 /* 48357 */ // Label 1460: @48357
17901 /* 48357 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1461*/ GIMT_Encode4(48375), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18064 //
17902 /* 48364 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17903 /* 48364 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
17904 /* 48369 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17905 /* 48373 */ GIR_RootConstrainSelectedInstOperands,
17906 /* 48374 */ // GIR_Coverage, 18064,
17907 /* 48374 */ GIR_Done,
17908 /* 48375 */ // Label 1461: @48375
17909 /* 48375 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1462*/ GIMT_Encode4(48393), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21313 //
17910 /* 48382 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17911 /* 48382 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
17912 /* 48387 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17913 /* 48391 */ GIR_RootConstrainSelectedInstOperands,
17914 /* 48392 */ // GIR_Coverage, 21313,
17915 /* 48392 */ GIR_Done,
17916 /* 48393 */ // Label 1462: @48393
17917 /* 48393 */ GIM_Reject,
17918 /* 48394 */ // Label 1459: @48394
17919 /* 48394 */ GIM_Reject,
17920 /* 48395 */ // Label 1455: @48395
17921 /* 48395 */ GIM_Reject,
17922 /* 48396 */ // Label 1443: @48396
17923 /* 48396 */ GIM_Reject,
17924 /* 48397 */ // Label 1406: @48397
17925 /* 48397 */ GIM_Try, /*On fail goto*//*Label 1463*/ GIMT_Encode4(48483),
17926 /* 48402 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
17927 /* 48405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17928 /* 48409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1464*/ GIMT_Encode4(48460), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22358 //
17929 /* 48416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17930 /* 48420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17931 /* 48424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17932 /* 48427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17933 /* 48431 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17934 /* 48435 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17935 /* 48437 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17936 /* 48444 */ // (lrint:{ *:[v8i16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
17937 /* 48444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rm),
17938 /* 48447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17939 /* 48449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17940 /* 48453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17941 /* 48458 */ GIR_RootConstrainSelectedInstOperands,
17942 /* 48459 */ // GIR_Coverage, 22358,
17943 /* 48459 */ GIR_EraseRootFromParent_Done,
17944 /* 48460 */ // Label 1464: @48460
17945 /* 48460 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1465*/ GIMT_Encode4(48482), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22357 //
17946 /* 48467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17947 /* 48471 */ // (lrint:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2WZ128rr:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src)
17948 /* 48471 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rr),
17949 /* 48476 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17950 /* 48480 */ GIR_RootConstrainSelectedInstOperands,
17951 /* 48481 */ // GIR_Coverage, 22357,
17952 /* 48481 */ GIR_Done,
17953 /* 48482 */ // Label 1465: @48482
17954 /* 48482 */ GIM_Reject,
17955 /* 48483 */ // Label 1463: @48483
17956 /* 48483 */ GIM_Reject,
17957 /* 48484 */ // Label 1407: @48484
17958 /* 48484 */ GIM_Try, /*On fail goto*//*Label 1466*/ GIMT_Encode4(48570),
17959 /* 48489 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
17960 /* 48492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17961 /* 48496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1467*/ GIMT_Encode4(48547), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22360 //
17962 /* 48503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17963 /* 48507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17964 /* 48511 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17965 /* 48514 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17966 /* 48518 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17967 /* 48522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17968 /* 48524 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17969 /* 48531 */ // (lrint:{ *:[v16i16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
17970 /* 48531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rm),
17971 /* 48534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17972 /* 48536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17973 /* 48540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17974 /* 48545 */ GIR_RootConstrainSelectedInstOperands,
17975 /* 48546 */ // GIR_Coverage, 22360,
17976 /* 48546 */ GIR_EraseRootFromParent_Done,
17977 /* 48547 */ // Label 1467: @48547
17978 /* 48547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1468*/ GIMT_Encode4(48569), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22359 //
17979 /* 48554 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17980 /* 48558 */ // (lrint:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2WZ256rr:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src)
17981 /* 48558 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rr),
17982 /* 48563 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17983 /* 48567 */ GIR_RootConstrainSelectedInstOperands,
17984 /* 48568 */ // GIR_Coverage, 22359,
17985 /* 48568 */ GIR_Done,
17986 /* 48569 */ // Label 1468: @48569
17987 /* 48569 */ GIM_Reject,
17988 /* 48570 */ // Label 1466: @48570
17989 /* 48570 */ GIM_Reject,
17990 /* 48571 */ // Label 1408: @48571
17991 /* 48571 */ GIM_Try, /*On fail goto*//*Label 1469*/ GIMT_Encode4(48657),
17992 /* 48576 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
17993 /* 48579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17994 /* 48583 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1470*/ GIMT_Encode4(48634), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22364 //
17995 /* 48590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17996 /* 48594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17997 /* 48598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17998 /* 48601 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17999 /* 48605 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18000 /* 48609 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18001 /* 48611 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18002 /* 48618 */ // (lrint:{ *:[v32i16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
18003 /* 48618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrm),
18004 /* 48621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18005 /* 48623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18006 /* 48627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18007 /* 48632 */ GIR_RootConstrainSelectedInstOperands,
18008 /* 48633 */ // GIR_Coverage, 22364,
18009 /* 48633 */ GIR_EraseRootFromParent_Done,
18010 /* 48634 */ // Label 1470: @48634
18011 /* 48634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1471*/ GIMT_Encode4(48656), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22363 //
18012 /* 48641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18013 /* 48645 */ // (lrint:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src) => (VCVTPH2WZrr:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src)
18014 /* 48645 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrr),
18015 /* 48650 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18016 /* 48654 */ GIR_RootConstrainSelectedInstOperands,
18017 /* 48655 */ // GIR_Coverage, 22363,
18018 /* 48655 */ GIR_Done,
18019 /* 48656 */ // Label 1471: @48656
18020 /* 48656 */ GIM_Reject,
18021 /* 48657 */ // Label 1469: @48657
18022 /* 48657 */ GIM_Reject,
18023 /* 48658 */ // Label 1409: @48658
18024 /* 48658 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 1474*/ GIMT_Encode4(49096),
18025 /* 48669 */ /*GILLT_v4s32*//*Label 1472*/ GIMT_Encode4(48689), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18026 /* 48685 */ /*GILLT_v4s64*//*Label 1473*/ GIMT_Encode4(48933),
18027 /* 48689 */ // Label 1472: @48689
18028 /* 48689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1475*/ GIMT_Encode4(48744), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18137 //
18029 /* 48696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18030 /* 48700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18031 /* 48704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18032 /* 48708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18033 /* 48711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18034 /* 48715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18035 /* 48719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18036 /* 48721 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18037 /* 48728 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18038 /* 48728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrm),
18039 /* 48731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18040 /* 48733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18041 /* 48737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18042 /* 48742 */ GIR_RootConstrainSelectedInstOperands,
18043 /* 48743 */ // GIR_Coverage, 18137,
18044 /* 48743 */ GIR_EraseRootFromParent_Done,
18045 /* 48744 */ // Label 1475: @48744
18046 /* 48744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1476*/ GIMT_Encode4(48799), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18143 //
18047 /* 48751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18048 /* 48755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18049 /* 48759 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18050 /* 48763 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18051 /* 48766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18052 /* 48770 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18053 /* 48774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18054 /* 48776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18055 /* 48783 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18056 /* 48783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrm),
18057 /* 48786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18058 /* 48788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18059 /* 48792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18060 /* 48797 */ GIR_RootConstrainSelectedInstOperands,
18061 /* 48798 */ // GIR_Coverage, 18143,
18062 /* 48798 */ GIR_EraseRootFromParent_Done,
18063 /* 48799 */ // Label 1476: @48799
18064 /* 48799 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1477*/ GIMT_Encode4(48854), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21509 //
18065 /* 48806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18066 /* 48810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18067 /* 48814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18068 /* 48818 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18069 /* 48821 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18070 /* 48825 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18071 /* 48829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18072 /* 48831 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18073 /* 48838 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18074 /* 48838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rm),
18075 /* 48841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18076 /* 48843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18077 /* 48847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18078 /* 48852 */ GIR_RootConstrainSelectedInstOperands,
18079 /* 48853 */ // GIR_Coverage, 21509,
18080 /* 48853 */ GIR_EraseRootFromParent_Done,
18081 /* 48854 */ // Label 1477: @48854
18082 /* 48854 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1478*/ GIMT_Encode4(48880), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18136 //
18083 /* 48861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18084 /* 48865 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18085 /* 48869 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18086 /* 48869 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrr),
18087 /* 48874 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18088 /* 48878 */ GIR_RootConstrainSelectedInstOperands,
18089 /* 48879 */ // GIR_Coverage, 18136,
18090 /* 48879 */ GIR_Done,
18091 /* 48880 */ // Label 1478: @48880
18092 /* 48880 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1479*/ GIMT_Encode4(48906), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18142 //
18093 /* 48887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18094 /* 48891 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18095 /* 48895 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (CVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18096 /* 48895 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrr),
18097 /* 48900 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18098 /* 48904 */ GIR_RootConstrainSelectedInstOperands,
18099 /* 48905 */ // GIR_Coverage, 18142,
18100 /* 48905 */ GIR_Done,
18101 /* 48906 */ // Label 1479: @48906
18102 /* 48906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1480*/ GIMT_Encode4(48932), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21508 //
18103 /* 48913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18104 /* 48917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18105 /* 48921 */ // (lrint:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2DQZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
18106 /* 48921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rr),
18107 /* 48926 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18108 /* 48930 */ GIR_RootConstrainSelectedInstOperands,
18109 /* 48931 */ // GIR_Coverage, 21508,
18110 /* 48931 */ GIR_Done,
18111 /* 48932 */ // Label 1480: @48932
18112 /* 48932 */ GIM_Reject,
18113 /* 48933 */ // Label 1473: @48933
18114 /* 48933 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1481*/ GIMT_Encode4(48988), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18141 //
18115 /* 48940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18116 /* 48944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18117 /* 48948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18118 /* 48952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18119 /* 48955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18120 /* 48959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18121 /* 48963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18122 /* 48965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18123 /* 48972 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18124 /* 48972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrm),
18125 /* 48975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18126 /* 48977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18127 /* 48981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18128 /* 48986 */ GIR_RootConstrainSelectedInstOperands,
18129 /* 48987 */ // GIR_Coverage, 18141,
18130 /* 48987 */ GIR_EraseRootFromParent_Done,
18131 /* 48988 */ // Label 1481: @48988
18132 /* 48988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1482*/ GIMT_Encode4(49043), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21513 //
18133 /* 48995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18134 /* 48999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18135 /* 49003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18136 /* 49007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18137 /* 49010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18138 /* 49014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18139 /* 49018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18140 /* 49020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18141 /* 49027 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZ256rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18142 /* 49027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rm),
18143 /* 49030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18144 /* 49032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18145 /* 49036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18146 /* 49041 */ GIR_RootConstrainSelectedInstOperands,
18147 /* 49042 */ // GIR_Coverage, 21513,
18148 /* 49042 */ GIR_EraseRootFromParent_Done,
18149 /* 49043 */ // Label 1482: @49043
18150 /* 49043 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1483*/ GIMT_Encode4(49069), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18140 //
18151 /* 49050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18152 /* 49054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18153 /* 49058 */ // (lrint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
18154 /* 49058 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrr),
18155 /* 49063 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18156 /* 49067 */ GIR_RootConstrainSelectedInstOperands,
18157 /* 49068 */ // GIR_Coverage, 18140,
18158 /* 49068 */ GIR_Done,
18159 /* 49069 */ // Label 1483: @49069
18160 /* 49069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1484*/ GIMT_Encode4(49095), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21512 //
18161 /* 49076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18162 /* 49080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18163 /* 49084 */ // (lrint:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2DQZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
18164 /* 49084 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rr),
18165 /* 49089 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18166 /* 49093 */ GIR_RootConstrainSelectedInstOperands,
18167 /* 49094 */ // GIR_Coverage, 21512,
18168 /* 49094 */ GIR_Done,
18169 /* 49095 */ // Label 1484: @49095
18170 /* 49095 */ GIM_Reject,
18171 /* 49096 */ // Label 1474: @49096
18172 /* 49096 */ GIM_Reject,
18173 /* 49097 */ // Label 1410: @49097
18174 /* 49097 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 1488*/ GIMT_Encode4(49471),
18175 /* 49108 */ /*GILLT_v8s16*//*Label 1485*/ GIMT_Encode4(49144), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18176 /* 49124 */ /*GILLT_v8s32*//*Label 1486*/ GIMT_Encode4(49228), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18177 /* 49140 */ /*GILLT_v8s64*//*Label 1487*/ GIMT_Encode4(49391),
18178 /* 49144 */ // Label 1485: @49144
18179 /* 49144 */ GIM_Try, /*On fail goto*//*Label 1489*/ GIMT_Encode4(49227),
18180 /* 49149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18181 /* 49153 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1490*/ GIMT_Encode4(49204), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22362 //
18182 /* 49160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18183 /* 49164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18184 /* 49168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18185 /* 49171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18186 /* 49175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18187 /* 49179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18188 /* 49181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18189 /* 49188 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18190 /* 49188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rm),
18191 /* 49191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18192 /* 49193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18193 /* 49197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18194 /* 49202 */ GIR_RootConstrainSelectedInstOperands,
18195 /* 49203 */ // GIR_Coverage, 22362,
18196 /* 49203 */ GIR_EraseRootFromParent_Done,
18197 /* 49204 */ // Label 1490: @49204
18198 /* 49204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1491*/ GIMT_Encode4(49226), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22361 //
18199 /* 49211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18200 /* 49215 */ // (lrint:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2DQZ256rr:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src)
18201 /* 49215 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rr),
18202 /* 49220 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18203 /* 49224 */ GIR_RootConstrainSelectedInstOperands,
18204 /* 49225 */ // GIR_Coverage, 22361,
18205 /* 49225 */ GIR_Done,
18206 /* 49226 */ // Label 1491: @49226
18207 /* 49226 */ GIM_Reject,
18208 /* 49227 */ // Label 1489: @49227
18209 /* 49227 */ GIM_Reject,
18210 /* 49228 */ // Label 1486: @49228
18211 /* 49228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1492*/ GIMT_Encode4(49283), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18139 //
18212 /* 49235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18213 /* 49239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18214 /* 49243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18215 /* 49247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18216 /* 49250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18217 /* 49254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18218 /* 49258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18219 /* 49260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18220 /* 49267 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18221 /* 49267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrm),
18222 /* 49270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18223 /* 49272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18224 /* 49276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18225 /* 49281 */ GIR_RootConstrainSelectedInstOperands,
18226 /* 49282 */ // GIR_Coverage, 18139,
18227 /* 49282 */ GIR_EraseRootFromParent_Done,
18228 /* 49283 */ // Label 1492: @49283
18229 /* 49283 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1493*/ GIMT_Encode4(49338), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21511 //
18230 /* 49290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18231 /* 49294 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18232 /* 49298 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18233 /* 49302 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18234 /* 49305 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18235 /* 49309 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18236 /* 49313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18237 /* 49315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18238 /* 49322 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18239 /* 49322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rm),
18240 /* 49325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18241 /* 49327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18242 /* 49331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18243 /* 49336 */ GIR_RootConstrainSelectedInstOperands,
18244 /* 49337 */ // GIR_Coverage, 21511,
18245 /* 49337 */ GIR_EraseRootFromParent_Done,
18246 /* 49338 */ // Label 1493: @49338
18247 /* 49338 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1494*/ GIMT_Encode4(49364), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18138 //
18248 /* 49345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18249 /* 49349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18250 /* 49353 */ // (lrint:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src) => (VCVTPS2DQYrr:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src)
18251 /* 49353 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrr),
18252 /* 49358 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18253 /* 49362 */ GIR_RootConstrainSelectedInstOperands,
18254 /* 49363 */ // GIR_Coverage, 18138,
18255 /* 49363 */ GIR_Done,
18256 /* 49364 */ // Label 1494: @49364
18257 /* 49364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1495*/ GIMT_Encode4(49390), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21510 //
18258 /* 49371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18259 /* 49375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18260 /* 49379 */ // (lrint:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2DQZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
18261 /* 49379 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rr),
18262 /* 49384 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18263 /* 49388 */ GIR_RootConstrainSelectedInstOperands,
18264 /* 49389 */ // GIR_Coverage, 21510,
18265 /* 49389 */ GIR_Done,
18266 /* 49390 */ // Label 1495: @49390
18267 /* 49390 */ GIM_Reject,
18268 /* 49391 */ // Label 1487: @49391
18269 /* 49391 */ GIM_Try, /*On fail goto*//*Label 1496*/ GIMT_Encode4(49470),
18270 /* 49396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18271 /* 49400 */ GIM_Try, /*On fail goto*//*Label 1497*/ GIMT_Encode4(49449), // Rule ID 21517 //
18272 /* 49405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18273 /* 49409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18274 /* 49413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18275 /* 49416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18276 /* 49420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18277 /* 49424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18278 /* 49426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18279 /* 49433 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18280 /* 49433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrm),
18281 /* 49436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18282 /* 49438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18283 /* 49442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18284 /* 49447 */ GIR_RootConstrainSelectedInstOperands,
18285 /* 49448 */ // GIR_Coverage, 21517,
18286 /* 49448 */ GIR_EraseRootFromParent_Done,
18287 /* 49449 */ // Label 1497: @49449
18288 /* 49449 */ GIM_Try, /*On fail goto*//*Label 1498*/ GIMT_Encode4(49469), // Rule ID 21516 //
18289 /* 49454 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18290 /* 49458 */ // (lrint:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2DQZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
18291 /* 49458 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrr),
18292 /* 49463 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18293 /* 49467 */ GIR_RootConstrainSelectedInstOperands,
18294 /* 49468 */ // GIR_Coverage, 21516,
18295 /* 49468 */ GIR_Done,
18296 /* 49469 */ // Label 1498: @49469
18297 /* 49469 */ GIM_Reject,
18298 /* 49470 */ // Label 1496: @49470
18299 /* 49470 */ GIM_Reject,
18300 /* 49471 */ // Label 1488: @49471
18301 /* 49471 */ GIM_Reject,
18302 /* 49472 */ // Label 1411: @49472
18303 /* 49472 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(22), /*)*//*default:*//*Label 1501*/ GIMT_Encode4(49667),
18304 /* 49483 */ /*GILLT_v16s16*//*Label 1499*/ GIMT_Encode4(49503), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18305 /* 49499 */ /*GILLT_v16s32*//*Label 1500*/ GIMT_Encode4(49587),
18306 /* 49503 */ // Label 1499: @49503
18307 /* 49503 */ GIM_Try, /*On fail goto*//*Label 1502*/ GIMT_Encode4(49586),
18308 /* 49508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18309 /* 49512 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1503*/ GIMT_Encode4(49563), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22366 //
18310 /* 49519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18311 /* 49523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18312 /* 49527 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18313 /* 49530 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18314 /* 49534 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18315 /* 49538 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18316 /* 49540 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18317 /* 49547 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
18318 /* 49547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrm),
18319 /* 49550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18320 /* 49552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18321 /* 49556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18322 /* 49561 */ GIR_RootConstrainSelectedInstOperands,
18323 /* 49562 */ // GIR_Coverage, 22366,
18324 /* 49562 */ GIR_EraseRootFromParent_Done,
18325 /* 49563 */ // Label 1503: @49563
18326 /* 49563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1504*/ GIMT_Encode4(49585), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22365 //
18327 /* 49570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18328 /* 49574 */ // (lrint:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2DQZrr:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src)
18329 /* 49574 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrr),
18330 /* 49579 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18331 /* 49583 */ GIR_RootConstrainSelectedInstOperands,
18332 /* 49584 */ // GIR_Coverage, 22365,
18333 /* 49584 */ GIR_Done,
18334 /* 49585 */ // Label 1504: @49585
18335 /* 49585 */ GIM_Reject,
18336 /* 49586 */ // Label 1502: @49586
18337 /* 49586 */ GIM_Reject,
18338 /* 49587 */ // Label 1500: @49587
18339 /* 49587 */ GIM_Try, /*On fail goto*//*Label 1505*/ GIMT_Encode4(49666),
18340 /* 49592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18341 /* 49596 */ GIM_Try, /*On fail goto*//*Label 1506*/ GIMT_Encode4(49645), // Rule ID 21515 //
18342 /* 49601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18343 /* 49605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18344 /* 49609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18345 /* 49612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18346 /* 49616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18347 /* 49620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18348 /* 49622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18349 /* 49629 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
18350 /* 49629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrm),
18351 /* 49632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18352 /* 49634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18353 /* 49638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18354 /* 49643 */ GIR_RootConstrainSelectedInstOperands,
18355 /* 49644 */ // GIR_Coverage, 21515,
18356 /* 49644 */ GIR_EraseRootFromParent_Done,
18357 /* 49645 */ // Label 1506: @49645
18358 /* 49645 */ GIM_Try, /*On fail goto*//*Label 1507*/ GIMT_Encode4(49665), // Rule ID 21514 //
18359 /* 49650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18360 /* 49654 */ // (lrint:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src) => (VCVTPS2DQZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
18361 /* 49654 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrr),
18362 /* 49659 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18363 /* 49663 */ GIR_RootConstrainSelectedInstOperands,
18364 /* 49664 */ // GIR_Coverage, 21514,
18365 /* 49664 */ GIR_Done,
18366 /* 49665 */ // Label 1507: @49665
18367 /* 49665 */ GIM_Reject,
18368 /* 49666 */ // Label 1505: @49666
18369 /* 49666 */ GIM_Reject,
18370 /* 49667 */ // Label 1501: @49667
18371 /* 49667 */ GIM_Reject,
18372 /* 49668 */ // Label 1412: @49668
18373 /* 49668 */ GIM_Try, /*On fail goto*//*Label 1508*/ GIMT_Encode4(49754),
18374 /* 49673 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
18375 /* 49676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18376 /* 49680 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1509*/ GIMT_Encode4(49731), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21537 //
18377 /* 49687 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18378 /* 49691 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18379 /* 49695 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18380 /* 49698 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18381 /* 49702 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18382 /* 49706 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18383 /* 49708 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18384 /* 49715 */ // (lrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
18385 /* 49715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
18386 /* 49718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18387 /* 49720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18388 /* 49724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18389 /* 49729 */ GIR_RootConstrainSelectedInstOperands,
18390 /* 49730 */ // GIR_Coverage, 21537,
18391 /* 49730 */ GIR_EraseRootFromParent_Done,
18392 /* 49731 */ // Label 1509: @49731
18393 /* 49731 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1510*/ GIMT_Encode4(49753), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21536 //
18394 /* 49738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18395 /* 49742 */ // (lrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
18396 /* 49742 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
18397 /* 49747 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18398 /* 49751 */ GIR_RootConstrainSelectedInstOperands,
18399 /* 49752 */ // GIR_Coverage, 21536,
18400 /* 49752 */ GIR_Done,
18401 /* 49753 */ // Label 1510: @49753
18402 /* 49753 */ GIM_Reject,
18403 /* 49754 */ // Label 1508: @49754
18404 /* 49754 */ GIM_Reject,
18405 /* 49755 */ // Label 1413: @49755
18406 /* 49755 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 1513*/ GIMT_Encode4(49954),
18407 /* 49766 */ /*GILLT_v4s32*//*Label 1511*/ GIMT_Encode4(49786), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18408 /* 49782 */ /*GILLT_v4s64*//*Label 1512*/ GIMT_Encode4(49870),
18409 /* 49786 */ // Label 1511: @49786
18410 /* 49786 */ GIM_Try, /*On fail goto*//*Label 1514*/ GIMT_Encode4(49869),
18411 /* 49791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18412 /* 49795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1515*/ GIMT_Encode4(49846), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21533 //
18413 /* 49802 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18414 /* 49806 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18415 /* 49810 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18416 /* 49813 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18417 /* 49817 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18418 /* 49821 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18419 /* 49823 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18420 /* 49830 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18421 /* 49830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
18422 /* 49833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18423 /* 49835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18424 /* 49839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18425 /* 49844 */ GIR_RootConstrainSelectedInstOperands,
18426 /* 49845 */ // GIR_Coverage, 21533,
18427 /* 49845 */ GIR_EraseRootFromParent_Done,
18428 /* 49846 */ // Label 1515: @49846
18429 /* 49846 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1516*/ GIMT_Encode4(49868), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21532 //
18430 /* 49853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18431 /* 49857 */ // (lrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
18432 /* 49857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
18433 /* 49862 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18434 /* 49866 */ GIR_RootConstrainSelectedInstOperands,
18435 /* 49867 */ // GIR_Coverage, 21532,
18436 /* 49867 */ GIR_Done,
18437 /* 49868 */ // Label 1516: @49868
18438 /* 49868 */ GIM_Reject,
18439 /* 49869 */ // Label 1514: @49869
18440 /* 49869 */ GIM_Reject,
18441 /* 49870 */ // Label 1512: @49870
18442 /* 49870 */ GIM_Try, /*On fail goto*//*Label 1517*/ GIMT_Encode4(49953),
18443 /* 49875 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18444 /* 49879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1518*/ GIMT_Encode4(49930), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21539 //
18445 /* 49886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18446 /* 49890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18447 /* 49894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18448 /* 49897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18449 /* 49901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18450 /* 49905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18451 /* 49907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18452 /* 49914 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18453 /* 49914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
18454 /* 49917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18455 /* 49919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18456 /* 49923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18457 /* 49928 */ GIR_RootConstrainSelectedInstOperands,
18458 /* 49929 */ // GIR_Coverage, 21539,
18459 /* 49929 */ GIR_EraseRootFromParent_Done,
18460 /* 49930 */ // Label 1518: @49930
18461 /* 49930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1519*/ GIMT_Encode4(49952), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21538 //
18462 /* 49937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18463 /* 49941 */ // (lrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
18464 /* 49941 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
18465 /* 49946 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18466 /* 49950 */ GIR_RootConstrainSelectedInstOperands,
18467 /* 49951 */ // GIR_Coverage, 21538,
18468 /* 49951 */ GIR_Done,
18469 /* 49952 */ // Label 1519: @49952
18470 /* 49952 */ GIM_Reject,
18471 /* 49953 */ // Label 1517: @49953
18472 /* 49953 */ GIM_Reject,
18473 /* 49954 */ // Label 1513: @49954
18474 /* 49954 */ GIM_Reject,
18475 /* 49955 */ // Label 1414: @49955
18476 /* 49955 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 1523*/ GIMT_Encode4(50254),
18477 /* 49966 */ /*GILLT_v8s16*//*Label 1520*/ GIMT_Encode4(50002), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18478 /* 49982 */ /*GILLT_v8s32*//*Label 1521*/ GIMT_Encode4(50086), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18479 /* 49998 */ /*GILLT_v8s64*//*Label 1522*/ GIMT_Encode4(50170),
18480 /* 50002 */ // Label 1520: @50002
18481 /* 50002 */ GIM_Try, /*On fail goto*//*Label 1524*/ GIMT_Encode4(50085),
18482 /* 50007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18483 /* 50011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1525*/ GIMT_Encode4(50062), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22368 //
18484 /* 50018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18485 /* 50022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18486 /* 50026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18487 /* 50029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18488 /* 50033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18489 /* 50037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18490 /* 50039 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18491 /* 50046 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18492 /* 50046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
18493 /* 50049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18494 /* 50051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18495 /* 50055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18496 /* 50060 */ GIR_RootConstrainSelectedInstOperands,
18497 /* 50061 */ // GIR_Coverage, 22368,
18498 /* 50061 */ GIR_EraseRootFromParent_Done,
18499 /* 50062 */ // Label 1525: @50062
18500 /* 50062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1526*/ GIMT_Encode4(50084), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22367 //
18501 /* 50069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18502 /* 50073 */ // (lrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
18503 /* 50073 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
18504 /* 50078 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18505 /* 50082 */ GIR_RootConstrainSelectedInstOperands,
18506 /* 50083 */ // GIR_Coverage, 22367,
18507 /* 50083 */ GIR_Done,
18508 /* 50084 */ // Label 1526: @50084
18509 /* 50084 */ GIM_Reject,
18510 /* 50085 */ // Label 1524: @50085
18511 /* 50085 */ GIM_Reject,
18512 /* 50086 */ // Label 1521: @50086
18513 /* 50086 */ GIM_Try, /*On fail goto*//*Label 1527*/ GIMT_Encode4(50169),
18514 /* 50091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18515 /* 50095 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1528*/ GIMT_Encode4(50146), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21545 //
18516 /* 50102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18517 /* 50106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18518 /* 50110 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18519 /* 50113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18520 /* 50117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18521 /* 50121 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18522 /* 50123 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18523 /* 50130 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18524 /* 50130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
18525 /* 50133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18526 /* 50135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18527 /* 50139 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18528 /* 50144 */ GIR_RootConstrainSelectedInstOperands,
18529 /* 50145 */ // GIR_Coverage, 21545,
18530 /* 50145 */ GIR_EraseRootFromParent_Done,
18531 /* 50146 */ // Label 1528: @50146
18532 /* 50146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1529*/ GIMT_Encode4(50168), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21544 //
18533 /* 50153 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18534 /* 50157 */ // (lrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
18535 /* 50157 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
18536 /* 50162 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18537 /* 50166 */ GIR_RootConstrainSelectedInstOperands,
18538 /* 50167 */ // GIR_Coverage, 21544,
18539 /* 50167 */ GIR_Done,
18540 /* 50168 */ // Label 1529: @50168
18541 /* 50168 */ GIM_Reject,
18542 /* 50169 */ // Label 1527: @50169
18543 /* 50169 */ GIM_Reject,
18544 /* 50170 */ // Label 1522: @50170
18545 /* 50170 */ GIM_Try, /*On fail goto*//*Label 1530*/ GIMT_Encode4(50253),
18546 /* 50175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18547 /* 50179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1531*/ GIMT_Encode4(50230), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21549 //
18548 /* 50186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18549 /* 50190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18550 /* 50194 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18551 /* 50197 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18552 /* 50201 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18553 /* 50205 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18554 /* 50207 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18555 /* 50214 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18556 /* 50214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
18557 /* 50217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18558 /* 50219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18559 /* 50223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18560 /* 50228 */ GIR_RootConstrainSelectedInstOperands,
18561 /* 50229 */ // GIR_Coverage, 21549,
18562 /* 50229 */ GIR_EraseRootFromParent_Done,
18563 /* 50230 */ // Label 1531: @50230
18564 /* 50230 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1532*/ GIMT_Encode4(50252), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21548 //
18565 /* 50237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18566 /* 50241 */ // (lrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
18567 /* 50241 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
18568 /* 50246 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18569 /* 50250 */ GIR_RootConstrainSelectedInstOperands,
18570 /* 50251 */ // GIR_Coverage, 21548,
18571 /* 50251 */ GIR_Done,
18572 /* 50252 */ // Label 1532: @50252
18573 /* 50252 */ GIM_Reject,
18574 /* 50253 */ // Label 1530: @50253
18575 /* 50253 */ GIM_Reject,
18576 /* 50254 */ // Label 1523: @50254
18577 /* 50254 */ GIM_Reject,
18578 /* 50255 */ // Label 1415: @50255
18579 /* 50255 */ GIM_Reject,
18580 /* 50256 */ // Label 10: @50256
18581 /* 50256 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(25), /*)*//*default:*//*Label 1537*/ GIMT_Encode4(51510),
18582 /* 50267 */ /*GILLT_s64*//*Label 1533*/ GIMT_Encode4(50351), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18583 /* 50339 */ /*GILLT_v2s64*//*Label 1534*/ GIMT_Encode4(50923),
18584 /* 50343 */ /*GILLT_v4s64*//*Label 1535*/ GIMT_Encode4(51010),
18585 /* 50347 */ /*GILLT_v8s64*//*Label 1536*/ GIMT_Encode4(51210),
18586 /* 50351 */ // Label 1533: @50351
18587 /* 50351 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1541*/ GIMT_Encode4(50922),
18588 /* 50362 */ /*GILLT_s16*//*Label 1538*/ GIMT_Encode4(50374),
18589 /* 50366 */ /*GILLT_s32*//*Label 1539*/ GIMT_Encode4(50458),
18590 /* 50370 */ /*GILLT_s64*//*Label 1540*/ GIMT_Encode4(50690),
18591 /* 50374 */ // Label 1538: @50374
18592 /* 50374 */ GIM_Try, /*On fail goto*//*Label 1542*/ GIMT_Encode4(50457),
18593 /* 50379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18594 /* 50383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1543*/ GIMT_Encode4(50434), GIMT_Encode2(GIFBS_HasFP16_In64BitMode), // Rule ID 22377 //
18595 /* 50390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18596 /* 50394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18597 /* 50398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18598 /* 50401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18599 /* 50405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18600 /* 50409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18601 /* 50411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18602 /* 50418 */ // (llrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18603 /* 50418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
18604 /* 50421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18605 /* 50423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18606 /* 50427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18607 /* 50432 */ GIR_RootConstrainSelectedInstOperands,
18608 /* 50433 */ // GIR_Coverage, 22377,
18609 /* 50433 */ GIR_EraseRootFromParent_Done,
18610 /* 50434 */ // Label 1543: @50434
18611 /* 50434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1544*/ GIMT_Encode4(50456), GIMT_Encode2(GIFBS_HasFP16_In64BitMode), // Rule ID 22376 //
18612 /* 50441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18613 /* 50445 */ // (llrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
18614 /* 50445 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
18615 /* 50450 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18616 /* 50454 */ GIR_RootConstrainSelectedInstOperands,
18617 /* 50455 */ // GIR_Coverage, 22376,
18618 /* 50455 */ GIR_Done,
18619 /* 50456 */ // Label 1544: @50456
18620 /* 50456 */ GIM_Reject,
18621 /* 50457 */ // Label 1542: @50457
18622 /* 50457 */ GIM_Reject,
18623 /* 50458 */ // Label 1539: @50458
18624 /* 50458 */ GIM_Try, /*On fail goto*//*Label 1545*/ GIMT_Encode4(50689),
18625 /* 50463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18626 /* 50467 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1546*/ GIMT_Encode4(50518), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1739 //
18627 /* 50474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18628 /* 50478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18629 /* 50482 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18630 /* 50485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18631 /* 50489 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18632 /* 50493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18633 /* 50495 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18634 /* 50502 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18635 /* 50502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
18636 /* 50505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18637 /* 50507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18638 /* 50511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18639 /* 50516 */ GIR_RootConstrainSelectedInstOperands,
18640 /* 50517 */ // GIR_Coverage, 1739,
18641 /* 50517 */ GIR_EraseRootFromParent_Done,
18642 /* 50518 */ // Label 1546: @50518
18643 /* 50518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1547*/ GIMT_Encode4(50569), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1763 //
18644 /* 50525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18645 /* 50529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18646 /* 50533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18647 /* 50536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18648 /* 50540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18649 /* 50544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18650 /* 50546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18651 /* 50553 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18652 /* 50553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
18653 /* 50556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18654 /* 50558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18655 /* 50562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18656 /* 50567 */ GIR_RootConstrainSelectedInstOperands,
18657 /* 50568 */ // GIR_Coverage, 1763,
18658 /* 50568 */ GIR_EraseRootFromParent_Done,
18659 /* 50569 */ // Label 1547: @50569
18660 /* 50569 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1548*/ GIMT_Encode4(50620), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10356 //
18661 /* 50576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18662 /* 50580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18663 /* 50584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18664 /* 50587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18665 /* 50591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18666 /* 50595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18667 /* 50597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18668 /* 50604 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18669 /* 50604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
18670 /* 50607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18671 /* 50609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18672 /* 50613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18673 /* 50618 */ GIR_RootConstrainSelectedInstOperands,
18674 /* 50619 */ // GIR_Coverage, 10356,
18675 /* 50619 */ GIR_EraseRootFromParent_Done,
18676 /* 50620 */ // Label 1548: @50620
18677 /* 50620 */ GIM_Try, /*On fail goto*//*Label 1549*/ GIMT_Encode4(50666),
18678 /* 50625 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18679 /* 50629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1550*/ GIMT_Encode4(50647), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1738 //
18680 /* 50636 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18681 /* 50636 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
18682 /* 50641 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18683 /* 50645 */ GIR_RootConstrainSelectedInstOperands,
18684 /* 50646 */ // GIR_Coverage, 1738,
18685 /* 50646 */ GIR_Done,
18686 /* 50647 */ // Label 1550: @50647
18687 /* 50647 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1551*/ GIMT_Encode4(50665), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1762 //
18688 /* 50654 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18689 /* 50654 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
18690 /* 50659 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18691 /* 50663 */ GIR_RootConstrainSelectedInstOperands,
18692 /* 50664 */ // GIR_Coverage, 1762,
18693 /* 50664 */ GIR_Done,
18694 /* 50665 */ // Label 1551: @50665
18695 /* 50665 */ GIM_Reject,
18696 /* 50666 */ // Label 1549: @50666
18697 /* 50666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1552*/ GIMT_Encode4(50688), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10355 //
18698 /* 50673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18699 /* 50677 */ // (llrint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
18700 /* 50677 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
18701 /* 50682 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18702 /* 50686 */ GIR_RootConstrainSelectedInstOperands,
18703 /* 50687 */ // GIR_Coverage, 10355,
18704 /* 50687 */ GIR_Done,
18705 /* 50688 */ // Label 1552: @50688
18706 /* 50688 */ GIM_Reject,
18707 /* 50689 */ // Label 1545: @50689
18708 /* 50689 */ GIM_Reject,
18709 /* 50690 */ // Label 1540: @50690
18710 /* 50690 */ GIM_Try, /*On fail goto*//*Label 1553*/ GIMT_Encode4(50921),
18711 /* 50695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18712 /* 50699 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1554*/ GIMT_Encode4(50750), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1743 //
18713 /* 50706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18714 /* 50710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18715 /* 50714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18716 /* 50717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18717 /* 50721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18718 /* 50725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18719 /* 50727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18720 /* 50734 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18721 /* 50734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
18722 /* 50737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18723 /* 50739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18724 /* 50743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18725 /* 50748 */ GIR_RootConstrainSelectedInstOperands,
18726 /* 50749 */ // GIR_Coverage, 1743,
18727 /* 50749 */ GIR_EraseRootFromParent_Done,
18728 /* 50750 */ // Label 1554: @50750
18729 /* 50750 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1555*/ GIMT_Encode4(50801), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1767 //
18730 /* 50757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18731 /* 50761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18732 /* 50765 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18733 /* 50768 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18734 /* 50772 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18735 /* 50776 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18736 /* 50778 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18737 /* 50785 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18738 /* 50785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
18739 /* 50788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18740 /* 50790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18741 /* 50794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18742 /* 50799 */ GIR_RootConstrainSelectedInstOperands,
18743 /* 50800 */ // GIR_Coverage, 1767,
18744 /* 50800 */ GIR_EraseRootFromParent_Done,
18745 /* 50801 */ // Label 1555: @50801
18746 /* 50801 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1556*/ GIMT_Encode4(50852), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10360 //
18747 /* 50808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18748 /* 50812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18749 /* 50816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18750 /* 50819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18751 /* 50823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18752 /* 50827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18753 /* 50829 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18754 /* 50836 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18755 /* 50836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
18756 /* 50839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18757 /* 50841 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18758 /* 50845 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18759 /* 50850 */ GIR_RootConstrainSelectedInstOperands,
18760 /* 50851 */ // GIR_Coverage, 10360,
18761 /* 50851 */ GIR_EraseRootFromParent_Done,
18762 /* 50852 */ // Label 1556: @50852
18763 /* 50852 */ GIM_Try, /*On fail goto*//*Label 1557*/ GIMT_Encode4(50898),
18764 /* 50857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18765 /* 50861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1558*/ GIMT_Encode4(50879), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1742 //
18766 /* 50868 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18767 /* 50868 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
18768 /* 50873 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18769 /* 50877 */ GIR_RootConstrainSelectedInstOperands,
18770 /* 50878 */ // GIR_Coverage, 1742,
18771 /* 50878 */ GIR_Done,
18772 /* 50879 */ // Label 1558: @50879
18773 /* 50879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1559*/ GIMT_Encode4(50897), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1766 //
18774 /* 50886 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18775 /* 50886 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
18776 /* 50891 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18777 /* 50895 */ GIR_RootConstrainSelectedInstOperands,
18778 /* 50896 */ // GIR_Coverage, 1766,
18779 /* 50896 */ GIR_Done,
18780 /* 50897 */ // Label 1559: @50897
18781 /* 50897 */ GIM_Reject,
18782 /* 50898 */ // Label 1557: @50898
18783 /* 50898 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1560*/ GIMT_Encode4(50920), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10359 //
18784 /* 50905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18785 /* 50909 */ // (llrint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
18786 /* 50909 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
18787 /* 50914 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18788 /* 50918 */ GIR_RootConstrainSelectedInstOperands,
18789 /* 50919 */ // GIR_Coverage, 10359,
18790 /* 50919 */ GIR_Done,
18791 /* 50920 */ // Label 1560: @50920
18792 /* 50920 */ GIM_Reject,
18793 /* 50921 */ // Label 1553: @50921
18794 /* 50921 */ GIM_Reject,
18795 /* 50922 */ // Label 1541: @50922
18796 /* 50922 */ GIM_Reject,
18797 /* 50923 */ // Label 1534: @50923
18798 /* 50923 */ GIM_Try, /*On fail goto*//*Label 1561*/ GIMT_Encode4(51009),
18799 /* 50928 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
18800 /* 50931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18801 /* 50935 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1562*/ GIMT_Encode4(50986), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21541 //
18802 /* 50942 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18803 /* 50946 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18804 /* 50950 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18805 /* 50953 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18806 /* 50957 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18807 /* 50961 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18808 /* 50963 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18809 /* 50970 */ // (llrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
18810 /* 50970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
18811 /* 50973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18812 /* 50975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18813 /* 50979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18814 /* 50984 */ GIR_RootConstrainSelectedInstOperands,
18815 /* 50985 */ // GIR_Coverage, 21541,
18816 /* 50985 */ GIR_EraseRootFromParent_Done,
18817 /* 50986 */ // Label 1562: @50986
18818 /* 50986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1563*/ GIMT_Encode4(51008), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21540 //
18819 /* 50993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18820 /* 50997 */ // (llrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
18821 /* 50997 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
18822 /* 51002 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18823 /* 51006 */ GIR_RootConstrainSelectedInstOperands,
18824 /* 51007 */ // GIR_Coverage, 21540,
18825 /* 51007 */ GIR_Done,
18826 /* 51008 */ // Label 1563: @51008
18827 /* 51008 */ GIM_Reject,
18828 /* 51009 */ // Label 1561: @51009
18829 /* 51009 */ GIM_Reject,
18830 /* 51010 */ // Label 1535: @51010
18831 /* 51010 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 1566*/ GIMT_Encode4(51209),
18832 /* 51021 */ /*GILLT_v4s32*//*Label 1564*/ GIMT_Encode4(51041), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18833 /* 51037 */ /*GILLT_v4s64*//*Label 1565*/ GIMT_Encode4(51125),
18834 /* 51041 */ // Label 1564: @51041
18835 /* 51041 */ GIM_Try, /*On fail goto*//*Label 1567*/ GIMT_Encode4(51124),
18836 /* 51046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18837 /* 51050 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1568*/ GIMT_Encode4(51101), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21535 //
18838 /* 51057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18839 /* 51061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18840 /* 51065 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18841 /* 51068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18842 /* 51072 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18843 /* 51076 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18844 /* 51078 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18845 /* 51085 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18846 /* 51085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
18847 /* 51088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18848 /* 51090 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18849 /* 51094 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18850 /* 51099 */ GIR_RootConstrainSelectedInstOperands,
18851 /* 51100 */ // GIR_Coverage, 21535,
18852 /* 51100 */ GIR_EraseRootFromParent_Done,
18853 /* 51101 */ // Label 1568: @51101
18854 /* 51101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1569*/ GIMT_Encode4(51123), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21534 //
18855 /* 51108 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18856 /* 51112 */ // (llrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
18857 /* 51112 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
18858 /* 51117 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18859 /* 51121 */ GIR_RootConstrainSelectedInstOperands,
18860 /* 51122 */ // GIR_Coverage, 21534,
18861 /* 51122 */ GIR_Done,
18862 /* 51123 */ // Label 1569: @51123
18863 /* 51123 */ GIM_Reject,
18864 /* 51124 */ // Label 1567: @51124
18865 /* 51124 */ GIM_Reject,
18866 /* 51125 */ // Label 1565: @51125
18867 /* 51125 */ GIM_Try, /*On fail goto*//*Label 1570*/ GIMT_Encode4(51208),
18868 /* 51130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18869 /* 51134 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1571*/ GIMT_Encode4(51185), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21543 //
18870 /* 51141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18871 /* 51145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18872 /* 51149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18873 /* 51152 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18874 /* 51156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18875 /* 51160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18876 /* 51162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18877 /* 51169 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18878 /* 51169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
18879 /* 51172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18880 /* 51174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18881 /* 51178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18882 /* 51183 */ GIR_RootConstrainSelectedInstOperands,
18883 /* 51184 */ // GIR_Coverage, 21543,
18884 /* 51184 */ GIR_EraseRootFromParent_Done,
18885 /* 51185 */ // Label 1571: @51185
18886 /* 51185 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1572*/ GIMT_Encode4(51207), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21542 //
18887 /* 51192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18888 /* 51196 */ // (llrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
18889 /* 51196 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
18890 /* 51201 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18891 /* 51205 */ GIR_RootConstrainSelectedInstOperands,
18892 /* 51206 */ // GIR_Coverage, 21542,
18893 /* 51206 */ GIR_Done,
18894 /* 51207 */ // Label 1572: @51207
18895 /* 51207 */ GIM_Reject,
18896 /* 51208 */ // Label 1570: @51208
18897 /* 51208 */ GIM_Reject,
18898 /* 51209 */ // Label 1566: @51209
18899 /* 51209 */ GIM_Reject,
18900 /* 51210 */ // Label 1536: @51210
18901 /* 51210 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 1576*/ GIMT_Encode4(51509),
18902 /* 51221 */ /*GILLT_v8s16*//*Label 1573*/ GIMT_Encode4(51257), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18903 /* 51237 */ /*GILLT_v8s32*//*Label 1574*/ GIMT_Encode4(51341), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18904 /* 51253 */ /*GILLT_v8s64*//*Label 1575*/ GIMT_Encode4(51425),
18905 /* 51257 */ // Label 1573: @51257
18906 /* 51257 */ GIM_Try, /*On fail goto*//*Label 1577*/ GIMT_Encode4(51340),
18907 /* 51262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18908 /* 51266 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1578*/ GIMT_Encode4(51317), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22370 //
18909 /* 51273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18910 /* 51277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18911 /* 51281 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18912 /* 51284 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18913 /* 51288 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18914 /* 51292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18915 /* 51294 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18916 /* 51301 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18917 /* 51301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
18918 /* 51304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18919 /* 51306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18920 /* 51310 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18921 /* 51315 */ GIR_RootConstrainSelectedInstOperands,
18922 /* 51316 */ // GIR_Coverage, 22370,
18923 /* 51316 */ GIR_EraseRootFromParent_Done,
18924 /* 51317 */ // Label 1578: @51317
18925 /* 51317 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1579*/ GIMT_Encode4(51339), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22369 //
18926 /* 51324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18927 /* 51328 */ // (llrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
18928 /* 51328 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
18929 /* 51333 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18930 /* 51337 */ GIR_RootConstrainSelectedInstOperands,
18931 /* 51338 */ // GIR_Coverage, 22369,
18932 /* 51338 */ GIR_Done,
18933 /* 51339 */ // Label 1579: @51339
18934 /* 51339 */ GIM_Reject,
18935 /* 51340 */ // Label 1577: @51340
18936 /* 51340 */ GIM_Reject,
18937 /* 51341 */ // Label 1574: @51341
18938 /* 51341 */ GIM_Try, /*On fail goto*//*Label 1580*/ GIMT_Encode4(51424),
18939 /* 51346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18940 /* 51350 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1581*/ GIMT_Encode4(51401), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21547 //
18941 /* 51357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18942 /* 51361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18943 /* 51365 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18944 /* 51368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18945 /* 51372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18946 /* 51376 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18947 /* 51378 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18948 /* 51385 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18949 /* 51385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
18950 /* 51388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18951 /* 51390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18952 /* 51394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18953 /* 51399 */ GIR_RootConstrainSelectedInstOperands,
18954 /* 51400 */ // GIR_Coverage, 21547,
18955 /* 51400 */ GIR_EraseRootFromParent_Done,
18956 /* 51401 */ // Label 1581: @51401
18957 /* 51401 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1582*/ GIMT_Encode4(51423), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21546 //
18958 /* 51408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18959 /* 51412 */ // (llrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
18960 /* 51412 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
18961 /* 51417 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18962 /* 51421 */ GIR_RootConstrainSelectedInstOperands,
18963 /* 51422 */ // GIR_Coverage, 21546,
18964 /* 51422 */ GIR_Done,
18965 /* 51423 */ // Label 1582: @51423
18966 /* 51423 */ GIM_Reject,
18967 /* 51424 */ // Label 1580: @51424
18968 /* 51424 */ GIM_Reject,
18969 /* 51425 */ // Label 1575: @51425
18970 /* 51425 */ GIM_Try, /*On fail goto*//*Label 1583*/ GIMT_Encode4(51508),
18971 /* 51430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18972 /* 51434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1584*/ GIMT_Encode4(51485), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21551 //
18973 /* 51441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18974 /* 51445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18975 /* 51449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18976 /* 51452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18977 /* 51456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18978 /* 51460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18979 /* 51462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18980 /* 51469 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18981 /* 51469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
18982 /* 51472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18983 /* 51474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18984 /* 51478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18985 /* 51483 */ GIR_RootConstrainSelectedInstOperands,
18986 /* 51484 */ // GIR_Coverage, 21551,
18987 /* 51484 */ GIR_EraseRootFromParent_Done,
18988 /* 51485 */ // Label 1584: @51485
18989 /* 51485 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1585*/ GIMT_Encode4(51507), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21550 //
18990 /* 51492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18991 /* 51496 */ // (llrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
18992 /* 51496 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
18993 /* 51501 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18994 /* 51505 */ GIR_RootConstrainSelectedInstOperands,
18995 /* 51506 */ // GIR_Coverage, 21550,
18996 /* 51506 */ GIR_Done,
18997 /* 51507 */ // Label 1585: @51507
18998 /* 51507 */ GIM_Reject,
18999 /* 51508 */ // Label 1583: @51508
19000 /* 51508 */ GIM_Reject,
19001 /* 51509 */ // Label 1576: @51509
19002 /* 51509 */ GIM_Reject,
19003 /* 51510 */ // Label 1537: @51510
19004 /* 51510 */ GIM_Reject,
19005 /* 51511 */ // Label 11: @51511
19006 /* 51511 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 1611*/ GIMT_Encode4(57414),
19007 /* 51522 */ /*GILLT_s1*//*Label 1586*/ GIMT_Encode4(51622),
19008 /* 51526 */ /*GILLT_s8*//*Label 1587*/ GIMT_Encode4(51688),
19009 /* 51530 */ /*GILLT_s16*//*Label 1588*/ GIMT_Encode4(51832),
19010 /* 51534 */ /*GILLT_s32*//*Label 1589*/ GIMT_Encode4(52360),
19011 /* 51538 */ /*GILLT_s64*//*Label 1590*/ GIMT_Encode4(52744),
19012 /* 51542 */ /*GILLT_s80*//*Label 1591*/ GIMT_Encode4(53211),
19013 /* 51546 */ /*GILLT_s128*//*Label 1592*/ GIMT_Encode4(53259),
19014 /* 51550 */ /*GILLT_v2s1*//*Label 1593*/ GIMT_Encode4(53382),
19015 /* 51554 */ /*GILLT_v4s1*//*Label 1594*/ GIMT_Encode4(53448),
19016 /* 51558 */ /*GILLT_v8s1*//*Label 1595*/ GIMT_Encode4(53514),
19017 /* 51562 */ /*GILLT_v16s1*//*Label 1596*/ GIMT_Encode4(53594),
19018 /* 51566 */ /*GILLT_v32s1*//*Label 1597*/ GIMT_Encode4(53674),
19019 /* 51570 */ /*GILLT_v64s1*//*Label 1598*/ GIMT_Encode4(53754),
19020 /* 51574 */ /*GILLT_v16s8*//*Label 1599*/ GIMT_Encode4(53834),
19021 /* 51578 */ /*GILLT_v32s8*//*Label 1600*/ GIMT_Encode4(54076),
19022 /* 51582 */ /*GILLT_v64s8*//*Label 1601*/ GIMT_Encode4(54248),
19023 /* 51586 */ /*GILLT_v8s16*//*Label 1602*/ GIMT_Encode4(54340),
19024 /* 51590 */ /*GILLT_v16s16*//*Label 1603*/ GIMT_Encode4(54826),
19025 /* 51594 */ /*GILLT_v32s16*//*Label 1604*/ GIMT_Encode4(55138),
19026 /* 51598 */ /*GILLT_v4s32*//*Label 1605*/ GIMT_Encode4(55300),
19027 /* 51602 */ /*GILLT_v8s32*//*Label 1606*/ GIMT_Encode4(55885),
19028 /* 51606 */ /*GILLT_v16s32*//*Label 1607*/ GIMT_Encode4(56205),
19029 /* 51610 */ /*GILLT_v2s64*//*Label 1608*/ GIMT_Encode4(56367),
19030 /* 51614 */ /*GILLT_v4s64*//*Label 1609*/ GIMT_Encode4(56936),
19031 /* 51618 */ /*GILLT_v8s64*//*Label 1610*/ GIMT_Encode4(57252),
19032 /* 51622 */ // Label 1586: @51622
19033 /* 51622 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1612*/ GIMT_Encode4(51687), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19549 //
19034 /* 51629 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19035 /* 51632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19036 /* 51636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
19037 /* 51640 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19038 /* 51644 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19039 /* 51651 */ // (ld:{ *:[v1i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v1i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK1:{ *:[i32] })
19040 /* 51651 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
19041 /* 51654 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19042 /* 51658 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19043 /* 51663 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19044 /* 51667 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19045 /* 51671 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19046 /* 51673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19047 /* 51676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19048 /* 51678 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19049 /* 51681 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
19050 /* 51686 */ // GIR_Coverage, 19549,
19051 /* 51686 */ GIR_EraseRootFromParent_Done,
19052 /* 51687 */ // Label 1612: @51687
19053 /* 51687 */ GIM_Reject,
19054 /* 51688 */ // Label 1587: @51688
19055 /* 51688 */ GIM_Try, /*On fail goto*//*Label 1613*/ GIMT_Encode4(51737), // Rule ID 22719 //
19056 /* 51693 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19057 /* 51696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19058 /* 51700 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19059 /* 51707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19060 /* 51711 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19061 /* 51715 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19062 /* 51722 */ // (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19063 /* 51722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19064 /* 51725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19065 /* 51727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19066 /* 51731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19067 /* 51735 */ GIR_RootConstrainSelectedInstOperands,
19068 /* 51736 */ // GIR_Coverage, 22719,
19069 /* 51736 */ GIR_EraseRootFromParent_Done,
19070 /* 51737 */ // Label 1613: @51737
19071 /* 51737 */ GIM_Try, /*On fail goto*//*Label 1614*/ GIMT_Encode4(51831),
19072 /* 51742 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19073 /* 51745 */ GIM_Try, /*On fail goto*//*Label 1615*/ GIMT_Encode4(51791), // Rule ID 22823 //
19074 /* 51750 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19075 /* 51754 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19076 /* 51761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19077 /* 51765 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19078 /* 51769 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19079 /* 51776 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19080 /* 51776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19081 /* 51779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19082 /* 51781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19083 /* 51785 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19084 /* 51789 */ GIR_RootConstrainSelectedInstOperands,
19085 /* 51790 */ // GIR_Coverage, 22823,
19086 /* 51790 */ GIR_EraseRootFromParent_Done,
19087 /* 51791 */ // Label 1615: @51791
19088 /* 51791 */ GIM_Try, /*On fail goto*//*Label 1616*/ GIMT_Encode4(51830), // Rule ID 28 //
19089 /* 51796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19090 /* 51800 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19091 /* 51804 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
19092 /* 51808 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19093 /* 51815 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19094 /* 51815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19095 /* 51818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19096 /* 51820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19097 /* 51824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19098 /* 51828 */ GIR_RootConstrainSelectedInstOperands,
19099 /* 51829 */ // GIR_Coverage, 28,
19100 /* 51829 */ GIR_EraseRootFromParent_Done,
19101 /* 51830 */ // Label 1616: @51830
19102 /* 51830 */ GIM_Reject,
19103 /* 51831 */ // Label 1614: @51831
19104 /* 51831 */ GIM_Reject,
19105 /* 51832 */ // Label 1588: @51832
19106 /* 51832 */ GIM_Try, /*On fail goto*//*Label 1617*/ GIMT_Encode4(51881), // Rule ID 22720 //
19107 /* 51837 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19108 /* 51840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19109 /* 51844 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19110 /* 51851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19111 /* 51855 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19112 /* 51859 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19113 /* 51866 */ // (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19114 /* 51866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19115 /* 51869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19116 /* 51871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19117 /* 51875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19118 /* 51879 */ GIR_RootConstrainSelectedInstOperands,
19119 /* 51880 */ // GIR_Coverage, 22720,
19120 /* 51880 */ GIR_EraseRootFromParent_Done,
19121 /* 51881 */ // Label 1617: @51881
19122 /* 51881 */ GIM_Try, /*On fail goto*//*Label 1618*/ GIMT_Encode4(52359),
19123 /* 51886 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19124 /* 51889 */ GIM_Try, /*On fail goto*//*Label 1619*/ GIMT_Encode4(52028),
19125 /* 51894 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19126 /* 51898 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19127 /* 51905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19128 /* 51909 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19129 /* 51913 */ GIM_Try, /*On fail goto*//*Label 1620*/ GIMT_Encode4(51970), // Rule ID 22824 //
19130 /* 51918 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19131 /* 51925 */ // (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] })
19132 /* 51925 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19133 /* 51928 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19134 /* 51932 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19135 /* 51937 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19136 /* 51941 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19137 /* 51945 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19138 /* 51947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19139 /* 51950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19140 /* 51952 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19141 /* 51959 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19142 /* 51964 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19143 /* 51969 */ // GIR_Coverage, 22824,
19144 /* 51969 */ GIR_EraseRootFromParent_Done,
19145 /* 51970 */ // Label 1620: @51970
19146 /* 51970 */ GIM_Try, /*On fail goto*//*Label 1621*/ GIMT_Encode4(52027), // Rule ID 22826 //
19147 /* 51975 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19148 /* 51982 */ // (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] })
19149 /* 51982 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19150 /* 51985 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19151 /* 51989 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19152 /* 51994 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19153 /* 51998 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19154 /* 52002 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19155 /* 52004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19156 /* 52007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19157 /* 52009 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19158 /* 52016 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19159 /* 52021 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19160 /* 52026 */ // GIR_Coverage, 22826,
19161 /* 52026 */ GIR_EraseRootFromParent_Done,
19162 /* 52027 */ // Label 1621: @52027
19163 /* 52027 */ GIM_Reject,
19164 /* 52028 */ // Label 1619: @52028
19165 /* 52028 */ GIM_Try, /*On fail goto*//*Label 1622*/ GIMT_Encode4(52153),
19166 /* 52033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19167 /* 52037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1623*/ GIMT_Encode4(52074), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 4622 //
19168 /* 52044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19169 /* 52048 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19170 /* 52052 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19171 /* 52059 */ // (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSHZrm_alt:{ *:[f16] } addr:{ *:[iPTR] }:$src)
19172 /* 52059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZrm_alt),
19173 /* 52062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19174 /* 52064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19175 /* 52068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19176 /* 52072 */ GIR_RootConstrainSelectedInstOperands,
19177 /* 52073 */ // GIR_Coverage, 4622,
19178 /* 52073 */ GIR_EraseRootFromParent_Done,
19179 /* 52074 */ // Label 1623: @52074
19180 /* 52074 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1624*/ GIMT_Encode4(52152), GIMT_Encode2(GIFBS_HasAVX_NoBWI), // Rule ID 18436 //
19181 /* 52081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19182 /* 52085 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19183 /* 52089 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19184 /* 52096 */ // (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] })
19185 /* 52096 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19186 /* 52099 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19187 /* 52103 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19188 /* 52108 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19189 /* 52110 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19190 /* 52113 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrmi),
19191 /* 52117 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19192 /* 52122 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19193 /* 52125 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19194 /* 52129 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19195 /* 52132 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19196 /* 52136 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19197 /* 52138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19198 /* 52141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19199 /* 52143 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19200 /* 52146 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19201 /* 52151 */ // GIR_Coverage, 18436,
19202 /* 52151 */ GIR_EraseRootFromParent_Done,
19203 /* 52152 */ // Label 1624: @52152
19204 /* 52152 */ GIM_Reject,
19205 /* 52153 */ // Label 1622: @52153
19206 /* 52153 */ GIM_Try, /*On fail goto*//*Label 1625*/ GIMT_Encode4(52192), // Rule ID 29 //
19207 /* 52158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19208 /* 52162 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19209 /* 52166 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
19210 /* 52170 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19211 /* 52177 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19212 /* 52177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19213 /* 52180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19214 /* 52182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19215 /* 52186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19216 /* 52190 */ GIR_RootConstrainSelectedInstOperands,
19217 /* 52191 */ // GIR_Coverage, 29,
19218 /* 52191 */ GIR_EraseRootFromParent_Done,
19219 /* 52192 */ // Label 1625: @52192
19220 /* 52192 */ GIM_Try, /*On fail goto*//*Label 1626*/ GIMT_Encode4(52358),
19221 /* 52197 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19222 /* 52201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1627*/ GIMT_Encode4(52279), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18432 //
19223 /* 52208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19224 /* 52212 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19225 /* 52216 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19226 /* 52223 */ // (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] })
19227 /* 52223 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19228 /* 52226 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19229 /* 52230 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19230 /* 52235 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19231 /* 52237 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19232 /* 52240 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrmi),
19233 /* 52244 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19234 /* 52249 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19235 /* 52252 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19236 /* 52256 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19237 /* 52259 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19238 /* 52263 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19239 /* 52265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19240 /* 52268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19241 /* 52270 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19242 /* 52273 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19243 /* 52278 */ // GIR_Coverage, 18432,
19244 /* 52278 */ GIR_EraseRootFromParent_Done,
19245 /* 52279 */ // Label 1627: @52279
19246 /* 52279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1628*/ GIMT_Encode4(52357), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21991 //
19247 /* 52286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19248 /* 52290 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19249 /* 52294 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19250 /* 52301 */ // (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] })
19251 /* 52301 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19252 /* 52304 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19253 /* 52308 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19254 /* 52313 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19255 /* 52315 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19256 /* 52318 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrmi),
19257 /* 52322 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19258 /* 52327 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19259 /* 52330 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19260 /* 52334 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19261 /* 52337 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19262 /* 52341 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19263 /* 52343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19264 /* 52346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19265 /* 52348 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19266 /* 52351 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
19267 /* 52356 */ // GIR_Coverage, 21991,
19268 /* 52356 */ GIR_EraseRootFromParent_Done,
19269 /* 52357 */ // Label 1628: @52357
19270 /* 52357 */ GIM_Reject,
19271 /* 52358 */ // Label 1626: @52358
19272 /* 52358 */ GIM_Reject,
19273 /* 52359 */ // Label 1618: @52359
19274 /* 52359 */ GIM_Reject,
19275 /* 52360 */ // Label 1589: @52360
19276 /* 52360 */ GIM_Try, /*On fail goto*//*Label 1629*/ GIMT_Encode4(52409), // Rule ID 22721 //
19277 /* 52365 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19278 /* 52368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19279 /* 52372 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
19280 /* 52379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19281 /* 52383 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19282 /* 52387 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19283 /* 52394 */ // (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19284 /* 52394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
19285 /* 52397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19286 /* 52399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19287 /* 52403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19288 /* 52407 */ GIR_RootConstrainSelectedInstOperands,
19289 /* 52408 */ // GIR_Coverage, 22721,
19290 /* 52408 */ GIR_EraseRootFromParent_Done,
19291 /* 52409 */ // Label 1629: @52409
19292 /* 52409 */ GIM_Try, /*On fail goto*//*Label 1630*/ GIMT_Encode4(52743),
19293 /* 52414 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19294 /* 52417 */ GIM_Try, /*On fail goto*//*Label 1631*/ GIMT_Encode4(52544),
19295 /* 52422 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19296 /* 52426 */ GIM_Try, /*On fail goto*//*Label 1632*/ GIMT_Encode4(52501),
19297 /* 52431 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19298 /* 52438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19299 /* 52442 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19300 /* 52446 */ GIM_Try, /*On fail goto*//*Label 1633*/ GIMT_Encode4(52473), // Rule ID 22825 //
19301 /* 52451 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19302 /* 52458 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19303 /* 52458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19304 /* 52461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19305 /* 52463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19306 /* 52467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19307 /* 52471 */ GIR_RootConstrainSelectedInstOperands,
19308 /* 52472 */ // GIR_Coverage, 22825,
19309 /* 52472 */ GIR_EraseRootFromParent_Done,
19310 /* 52473 */ // Label 1633: @52473
19311 /* 52473 */ GIM_Try, /*On fail goto*//*Label 1634*/ GIMT_Encode4(52500), // Rule ID 22827 //
19312 /* 52478 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19313 /* 52485 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19314 /* 52485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19315 /* 52488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19316 /* 52490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19317 /* 52494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19318 /* 52498 */ GIR_RootConstrainSelectedInstOperands,
19319 /* 52499 */ // GIR_Coverage, 22827,
19320 /* 52499 */ GIR_EraseRootFromParent_Done,
19321 /* 52500 */ // Label 1634: @52500
19322 /* 52500 */ GIM_Reject,
19323 /* 52501 */ // Label 1632: @52501
19324 /* 52501 */ GIM_Try, /*On fail goto*//*Label 1635*/ GIMT_Encode4(52543), // Rule ID 22828 //
19325 /* 52506 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19326 /* 52513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19327 /* 52517 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19328 /* 52521 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19329 /* 52528 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19330 /* 52528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
19331 /* 52531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19332 /* 52533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19333 /* 52537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19334 /* 52541 */ GIR_RootConstrainSelectedInstOperands,
19335 /* 52542 */ // GIR_Coverage, 22828,
19336 /* 52542 */ GIR_EraseRootFromParent_Done,
19337 /* 52543 */ // Label 1635: @52543
19338 /* 52543 */ GIM_Reject,
19339 /* 52544 */ // Label 1631: @52544
19340 /* 52544 */ GIM_Try, /*On fail goto*//*Label 1636*/ GIMT_Encode4(52703),
19341 /* 52549 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19342 /* 52553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1637*/ GIMT_Encode4(52593), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1056 //
19343 /* 52560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
19344 /* 52564 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19345 /* 52568 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19346 /* 52575 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp32m:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19347 /* 52575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m),
19348 /* 52578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19349 /* 52580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19350 /* 52584 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19351 /* 52587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19352 /* 52591 */ GIR_RootConstrainSelectedInstOperands,
19353 /* 52592 */ // GIR_Coverage, 1056,
19354 /* 52592 */ GIR_EraseRootFromParent_Done,
19355 /* 52593 */ // Label 1637: @52593
19356 /* 52593 */ GIM_Try, /*On fail goto*//*Label 1638*/ GIMT_Encode4(52665),
19357 /* 52598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19358 /* 52602 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19359 /* 52606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1639*/ GIMT_Encode4(52635), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1672 //
19360 /* 52613 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19361 /* 52620 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19362 /* 52620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
19363 /* 52623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19364 /* 52625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19365 /* 52629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19366 /* 52633 */ GIR_RootConstrainSelectedInstOperands,
19367 /* 52634 */ // GIR_Coverage, 1672,
19368 /* 52634 */ GIR_EraseRootFromParent_Done,
19369 /* 52635 */ // Label 1639: @52635
19370 /* 52635 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1640*/ GIMT_Encode4(52664), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1673 //
19371 /* 52642 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19372 /* 52649 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19373 /* 52649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
19374 /* 52652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19375 /* 52654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19376 /* 52658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19377 /* 52662 */ GIR_RootConstrainSelectedInstOperands,
19378 /* 52663 */ // GIR_Coverage, 1673,
19379 /* 52663 */ GIR_EraseRootFromParent_Done,
19380 /* 52664 */ // Label 1640: @52664
19381 /* 52664 */ GIM_Reject,
19382 /* 52665 */ // Label 1638: @52665
19383 /* 52665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1641*/ GIMT_Encode4(52702), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4610 //
19384 /* 52672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
19385 /* 52676 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19386 /* 52680 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19387 /* 52687 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSZrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19388 /* 52687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
19389 /* 52690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19390 /* 52692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19391 /* 52696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19392 /* 52700 */ GIR_RootConstrainSelectedInstOperands,
19393 /* 52701 */ // GIR_Coverage, 4610,
19394 /* 52701 */ GIR_EraseRootFromParent_Done,
19395 /* 52702 */ // Label 1641: @52702
19396 /* 52702 */ GIM_Reject,
19397 /* 52703 */ // Label 1636: @52703
19398 /* 52703 */ GIM_Try, /*On fail goto*//*Label 1642*/ GIMT_Encode4(52742), // Rule ID 30 //
19399 /* 52708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19400 /* 52712 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19401 /* 52716 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
19402 /* 52720 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19403 /* 52727 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19404 /* 52727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
19405 /* 52730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19406 /* 52732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19407 /* 52736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19408 /* 52740 */ GIR_RootConstrainSelectedInstOperands,
19409 /* 52741 */ // GIR_Coverage, 30,
19410 /* 52741 */ GIR_EraseRootFromParent_Done,
19411 /* 52742 */ // Label 1642: @52742
19412 /* 52742 */ GIM_Reject,
19413 /* 52743 */ // Label 1630: @52743
19414 /* 52743 */ GIM_Reject,
19415 /* 52744 */ // Label 1590: @52744
19416 /* 52744 */ GIM_Try, /*On fail goto*//*Label 1643*/ GIMT_Encode4(52793), // Rule ID 22722 //
19417 /* 52749 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19418 /* 52752 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19419 /* 52756 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
19420 /* 52763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19421 /* 52767 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19422 /* 52771 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19423 /* 52778 */ // (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19424 /* 52778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
19425 /* 52781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19426 /* 52783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19427 /* 52787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19428 /* 52791 */ GIR_RootConstrainSelectedInstOperands,
19429 /* 52792 */ // GIR_Coverage, 22722,
19430 /* 52792 */ GIR_EraseRootFromParent_Done,
19431 /* 52793 */ // Label 1643: @52793
19432 /* 52793 */ GIM_Try, /*On fail goto*//*Label 1644*/ GIMT_Encode4(53210),
19433 /* 52798 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19434 /* 52801 */ GIM_Try, /*On fail goto*//*Label 1645*/ GIMT_Encode4(53015),
19435 /* 52806 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19436 /* 52810 */ GIM_Try, /*On fail goto*//*Label 1646*/ GIMT_Encode4(52943),
19437 /* 52815 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19438 /* 52822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19439 /* 52826 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19440 /* 52830 */ GIM_Try, /*On fail goto*//*Label 1647*/ GIMT_Encode4(52886), // Rule ID 22830 //
19441 /* 52835 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19442 /* 52842 */ // (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] })
19443 /* 52842 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19444 /* 52845 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19445 /* 52849 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19446 /* 52854 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19447 /* 52858 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19448 /* 52862 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19449 /* 52864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
19450 /* 52867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19451 /* 52869 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19452 /* 52872 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
19453 /* 52875 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
19454 /* 52880 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19455 /* 52885 */ // GIR_Coverage, 22830,
19456 /* 52885 */ GIR_EraseRootFromParent_Done,
19457 /* 52886 */ // Label 1647: @52886
19458 /* 52886 */ GIM_Try, /*On fail goto*//*Label 1648*/ GIMT_Encode4(52942), // Rule ID 22831 //
19459 /* 52891 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19460 /* 52898 */ // (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] })
19461 /* 52898 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19462 /* 52901 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19463 /* 52905 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19464 /* 52910 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19465 /* 52914 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19466 /* 52918 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19467 /* 52920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
19468 /* 52923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19469 /* 52925 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19470 /* 52928 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
19471 /* 52931 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
19472 /* 52936 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19473 /* 52941 */ // GIR_Coverage, 22831,
19474 /* 52941 */ GIR_EraseRootFromParent_Done,
19475 /* 52942 */ // Label 1648: @52942
19476 /* 52942 */ GIM_Reject,
19477 /* 52943 */ // Label 1646: @52943
19478 /* 52943 */ GIM_Try, /*On fail goto*//*Label 1649*/ GIMT_Encode4(53014), // Rule ID 22832 //
19479 /* 52948 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19480 /* 52955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19481 /* 52959 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19482 /* 52963 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19483 /* 52970 */ // (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] })
19484 /* 52970 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19485 /* 52973 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
19486 /* 52977 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19487 /* 52982 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19488 /* 52986 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19489 /* 52990 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19490 /* 52992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
19491 /* 52995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19492 /* 52997 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19493 /* 53000 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
19494 /* 53003 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
19495 /* 53008 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19496 /* 53013 */ // GIR_Coverage, 22832,
19497 /* 53013 */ GIR_EraseRootFromParent_Done,
19498 /* 53014 */ // Label 1649: @53014
19499 /* 53014 */ GIM_Reject,
19500 /* 53015 */ // Label 1645: @53015
19501 /* 53015 */ GIM_Try, /*On fail goto*//*Label 1650*/ GIMT_Encode4(53209),
19502 /* 53020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19503 /* 53024 */ GIM_Try, /*On fail goto*//*Label 1651*/ GIMT_Encode4(53059), // Rule ID 31 //
19504 /* 53029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19505 /* 53033 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19506 /* 53037 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19507 /* 53044 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19508 /* 53044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
19509 /* 53047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19510 /* 53049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19511 /* 53053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19512 /* 53057 */ GIR_RootConstrainSelectedInstOperands,
19513 /* 53058 */ // GIR_Coverage, 31,
19514 /* 53058 */ GIR_EraseRootFromParent_Done,
19515 /* 53059 */ // Label 1651: @53059
19516 /* 53059 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1652*/ GIMT_Encode4(53099), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1057 //
19517 /* 53066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
19518 /* 53070 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19519 /* 53074 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19520 /* 53081 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp64m:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19521 /* 53081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m),
19522 /* 53084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19523 /* 53086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19524 /* 53090 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19525 /* 53093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19526 /* 53097 */ GIR_RootConstrainSelectedInstOperands,
19527 /* 53098 */ // GIR_Coverage, 1057,
19528 /* 53098 */ GIR_EraseRootFromParent_Done,
19529 /* 53099 */ // Label 1652: @53099
19530 /* 53099 */ GIM_Try, /*On fail goto*//*Label 1653*/ GIMT_Encode4(53171),
19531 /* 53104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19532 /* 53108 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19533 /* 53112 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1654*/ GIMT_Encode4(53141), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1676 //
19534 /* 53119 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19535 /* 53126 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
19536 /* 53126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
19537 /* 53129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19538 /* 53131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19539 /* 53135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19540 /* 53139 */ GIR_RootConstrainSelectedInstOperands,
19541 /* 53140 */ // GIR_Coverage, 1676,
19542 /* 53140 */ GIR_EraseRootFromParent_Done,
19543 /* 53141 */ // Label 1654: @53141
19544 /* 53141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1655*/ GIMT_Encode4(53170), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1677 //
19545 /* 53148 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19546 /* 53155 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
19547 /* 53155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
19548 /* 53158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19549 /* 53160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19550 /* 53164 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19551 /* 53168 */ GIR_RootConstrainSelectedInstOperands,
19552 /* 53169 */ // GIR_Coverage, 1677,
19553 /* 53169 */ GIR_EraseRootFromParent_Done,
19554 /* 53170 */ // Label 1655: @53170
19555 /* 53170 */ GIM_Reject,
19556 /* 53171 */ // Label 1653: @53171
19557 /* 53171 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1656*/ GIMT_Encode4(53208), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4616 //
19558 /* 53178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
19559 /* 53182 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19560 /* 53186 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19561 /* 53193 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDZrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
19562 /* 53193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
19563 /* 53196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19564 /* 53198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19565 /* 53202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19566 /* 53206 */ GIR_RootConstrainSelectedInstOperands,
19567 /* 53207 */ // GIR_Coverage, 4616,
19568 /* 53207 */ GIR_EraseRootFromParent_Done,
19569 /* 53208 */ // Label 1656: @53208
19570 /* 53208 */ GIM_Reject,
19571 /* 53209 */ // Label 1650: @53209
19572 /* 53209 */ GIM_Reject,
19573 /* 53210 */ // Label 1644: @53210
19574 /* 53210 */ GIM_Reject,
19575 /* 53211 */ // Label 1591: @53211
19576 /* 53211 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1657*/ GIMT_Encode4(53258), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1058 //
19577 /* 53218 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19578 /* 53221 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19579 /* 53225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
19580 /* 53229 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19581 /* 53233 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19582 /* 53240 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp80m:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19583 /* 53240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp80m),
19584 /* 53243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19585 /* 53245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19586 /* 53249 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19587 /* 53252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19588 /* 53256 */ GIR_RootConstrainSelectedInstOperands,
19589 /* 53257 */ // GIR_Coverage, 1058,
19590 /* 53257 */ GIR_EraseRootFromParent_Done,
19591 /* 53258 */ // Label 1657: @53258
19592 /* 53258 */ GIM_Reject,
19593 /* 53259 */ // Label 1592: @53259
19594 /* 53259 */ GIM_Try, /*On fail goto*//*Label 1658*/ GIMT_Encode4(53381),
19595 /* 53264 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19596 /* 53267 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19597 /* 53271 */ GIM_Try, /*On fail goto*//*Label 1659*/ GIMT_Encode4(53343),
19598 /* 53276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19599 /* 53280 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19600 /* 53284 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1660*/ GIMT_Encode4(53313), GIMT_Encode2(GIFBS_NoAVX), // Rule ID 23399 //
19601 /* 53291 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19602 /* 53298 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
19603 /* 53298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
19604 /* 53301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19605 /* 53303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19606 /* 53307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19607 /* 53311 */ GIR_RootConstrainSelectedInstOperands,
19608 /* 53312 */ // GIR_Coverage, 23399,
19609 /* 53312 */ GIR_EraseRootFromParent_Done,
19610 /* 53313 */ // Label 1660: @53313
19611 /* 53313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1661*/ GIMT_Encode4(53342), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23404 //
19612 /* 53320 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19613 /* 53327 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
19614 /* 53327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
19615 /* 53330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19616 /* 53332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19617 /* 53336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19618 /* 53340 */ GIR_RootConstrainSelectedInstOperands,
19619 /* 53341 */ // GIR_Coverage, 23404,
19620 /* 53341 */ GIR_EraseRootFromParent_Done,
19621 /* 53342 */ // Label 1661: @53342
19622 /* 53342 */ GIM_Reject,
19623 /* 53343 */ // Label 1659: @53343
19624 /* 53343 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1662*/ GIMT_Encode4(53380), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 23409 //
19625 /* 53350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19626 /* 53354 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19627 /* 53358 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19628 /* 53365 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
19629 /* 53365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
19630 /* 53368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19631 /* 53370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19632 /* 53374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19633 /* 53378 */ GIR_RootConstrainSelectedInstOperands,
19634 /* 53379 */ // GIR_Coverage, 23409,
19635 /* 53379 */ GIR_EraseRootFromParent_Done,
19636 /* 53380 */ // Label 1662: @53380
19637 /* 53380 */ GIM_Reject,
19638 /* 53381 */ // Label 1658: @53381
19639 /* 53381 */ GIM_Reject,
19640 /* 53382 */ // Label 1593: @53382
19641 /* 53382 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1663*/ GIMT_Encode4(53447), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19550 //
19642 /* 53389 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19643 /* 53392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19644 /* 53396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
19645 /* 53400 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19646 /* 53404 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19647 /* 53411 */ // (ld:{ *:[v2i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v2i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK2:{ *:[i32] })
19648 /* 53411 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
19649 /* 53414 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19650 /* 53418 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19651 /* 53423 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19652 /* 53427 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19653 /* 53431 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19654 /* 53433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19655 /* 53436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19656 /* 53438 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19657 /* 53441 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
19658 /* 53446 */ // GIR_Coverage, 19550,
19659 /* 53446 */ GIR_EraseRootFromParent_Done,
19660 /* 53447 */ // Label 1663: @53447
19661 /* 53447 */ GIM_Reject,
19662 /* 53448 */ // Label 1594: @53448
19663 /* 53448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1664*/ GIMT_Encode4(53513), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19551 //
19664 /* 53455 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19665 /* 53458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19666 /* 53462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
19667 /* 53466 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19668 /* 53470 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19669 /* 53477 */ // (ld:{ *:[v4i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v4i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK4:{ *:[i32] })
19670 /* 53477 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
19671 /* 53480 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19672 /* 53484 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19673 /* 53489 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19674 /* 53493 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19675 /* 53497 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19676 /* 53499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19677 /* 53502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19678 /* 53504 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19679 /* 53507 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
19680 /* 53512 */ // GIR_Coverage, 19551,
19681 /* 53512 */ GIR_EraseRootFromParent_Done,
19682 /* 53513 */ // Label 1664: @53513
19683 /* 53513 */ GIM_Reject,
19684 /* 53514 */ // Label 1595: @53514
19685 /* 53514 */ GIM_Try, /*On fail goto*//*Label 1665*/ GIMT_Encode4(53593),
19686 /* 53519 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19687 /* 53522 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19688 /* 53526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
19689 /* 53530 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19690 /* 53534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1666*/ GIMT_Encode4(53563), GIMT_Encode2(GIFBS_HasDQI_NoEGPR), // Rule ID 4383 //
19691 /* 53541 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19692 /* 53548 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
19693 /* 53548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19694 /* 53551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19695 /* 53553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19696 /* 53557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19697 /* 53561 */ GIR_RootConstrainSelectedInstOperands,
19698 /* 53562 */ // GIR_Coverage, 4383,
19699 /* 53562 */ GIR_EraseRootFromParent_Done,
19700 /* 53563 */ // Label 1666: @53563
19701 /* 53563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1667*/ GIMT_Encode4(53592), GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode), // Rule ID 4385 //
19702 /* 53570 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19703 /* 53577 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm_EVEX:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
19704 /* 53577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm_EVEX),
19705 /* 53580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19706 /* 53582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19707 /* 53586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19708 /* 53590 */ GIR_RootConstrainSelectedInstOperands,
19709 /* 53591 */ // GIR_Coverage, 4385,
19710 /* 53591 */ GIR_EraseRootFromParent_Done,
19711 /* 53592 */ // Label 1667: @53592
19712 /* 53592 */ GIM_Reject,
19713 /* 53593 */ // Label 1665: @53593
19714 /* 53593 */ GIM_Reject,
19715 /* 53594 */ // Label 1596: @53594
19716 /* 53594 */ GIM_Try, /*On fail goto*//*Label 1668*/ GIMT_Encode4(53673),
19717 /* 53599 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19718 /* 53602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19719 /* 53606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
19720 /* 53610 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19721 /* 53614 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1669*/ GIMT_Encode4(53643), GIMT_Encode2(GIFBS_HasAVX512_NoEGPR), // Rule ID 4387 //
19722 /* 53621 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19723 /* 53628 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
19724 /* 53628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
19725 /* 53631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19726 /* 53633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19727 /* 53637 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19728 /* 53641 */ GIR_RootConstrainSelectedInstOperands,
19729 /* 53642 */ // GIR_Coverage, 4387,
19730 /* 53642 */ GIR_EraseRootFromParent_Done,
19731 /* 53643 */ // Label 1669: @53643
19732 /* 53643 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1670*/ GIMT_Encode4(53672), GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode), // Rule ID 4389 //
19733 /* 53650 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19734 /* 53657 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm_EVEX:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
19735 /* 53657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm_EVEX),
19736 /* 53660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19737 /* 53662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19738 /* 53666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19739 /* 53670 */ GIR_RootConstrainSelectedInstOperands,
19740 /* 53671 */ // GIR_Coverage, 4389,
19741 /* 53671 */ GIR_EraseRootFromParent_Done,
19742 /* 53672 */ // Label 1670: @53672
19743 /* 53672 */ GIM_Reject,
19744 /* 53673 */ // Label 1668: @53673
19745 /* 53673 */ GIM_Reject,
19746 /* 53674 */ // Label 1597: @53674
19747 /* 53674 */ GIM_Try, /*On fail goto*//*Label 1671*/ GIMT_Encode4(53753),
19748 /* 53679 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19749 /* 53682 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19750 /* 53686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
19751 /* 53690 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19752 /* 53694 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1672*/ GIMT_Encode4(53723), GIMT_Encode2(GIFBS_HasBWI_NoEGPR), // Rule ID 4391 //
19753 /* 53701 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19754 /* 53708 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
19755 /* 53708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm),
19756 /* 53711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19757 /* 53713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19758 /* 53717 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19759 /* 53721 */ GIR_RootConstrainSelectedInstOperands,
19760 /* 53722 */ // GIR_Coverage, 4391,
19761 /* 53722 */ GIR_EraseRootFromParent_Done,
19762 /* 53723 */ // Label 1672: @53723
19763 /* 53723 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1673*/ GIMT_Encode4(53752), GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode), // Rule ID 4395 //
19764 /* 53730 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19765 /* 53737 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm_EVEX:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
19766 /* 53737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm_EVEX),
19767 /* 53740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19768 /* 53742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19769 /* 53746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19770 /* 53750 */ GIR_RootConstrainSelectedInstOperands,
19771 /* 53751 */ // GIR_Coverage, 4395,
19772 /* 53751 */ GIR_EraseRootFromParent_Done,
19773 /* 53752 */ // Label 1673: @53752
19774 /* 53752 */ GIM_Reject,
19775 /* 53753 */ // Label 1671: @53753
19776 /* 53753 */ GIM_Reject,
19777 /* 53754 */ // Label 1598: @53754
19778 /* 53754 */ GIM_Try, /*On fail goto*//*Label 1674*/ GIMT_Encode4(53833),
19779 /* 53759 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19780 /* 53762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19781 /* 53766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
19782 /* 53770 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19783 /* 53774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1675*/ GIMT_Encode4(53803), GIMT_Encode2(GIFBS_HasBWI_NoEGPR), // Rule ID 4393 //
19784 /* 53781 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19785 /* 53788 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
19786 /* 53788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm),
19787 /* 53791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19788 /* 53793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19789 /* 53797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19790 /* 53801 */ GIR_RootConstrainSelectedInstOperands,
19791 /* 53802 */ // GIR_Coverage, 4393,
19792 /* 53802 */ GIR_EraseRootFromParent_Done,
19793 /* 53803 */ // Label 1675: @53803
19794 /* 53803 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1676*/ GIMT_Encode4(53832), GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode), // Rule ID 4397 //
19795 /* 53810 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19796 /* 53817 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm_EVEX:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
19797 /* 53817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm_EVEX),
19798 /* 53820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19799 /* 53822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19800 /* 53826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19801 /* 53830 */ GIR_RootConstrainSelectedInstOperands,
19802 /* 53831 */ // GIR_Coverage, 4397,
19803 /* 53831 */ GIR_EraseRootFromParent_Done,
19804 /* 53832 */ // Label 1676: @53832
19805 /* 53832 */ GIM_Reject,
19806 /* 53833 */ // Label 1674: @53833
19807 /* 53833 */ GIM_Reject,
19808 /* 53834 */ // Label 1599: @53834
19809 /* 53834 */ GIM_Try, /*On fail goto*//*Label 1677*/ GIMT_Encode4(54075),
19810 /* 53839 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19811 /* 53842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19812 /* 53846 */ GIM_Try, /*On fail goto*//*Label 1678*/ GIMT_Encode4(53965),
19813 /* 53851 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
19814 /* 53855 */ GIM_Try, /*On fail goto*//*Label 1679*/ GIMT_Encode4(53927),
19815 /* 53860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19816 /* 53864 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19817 /* 53868 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1680*/ GIMT_Encode4(53897), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18006 //
19818 /* 53875 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19819 /* 53882 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19820 /* 53882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
19821 /* 53885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19822 /* 53887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19823 /* 53891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19824 /* 53895 */ GIR_RootConstrainSelectedInstOperands,
19825 /* 53896 */ // GIR_Coverage, 18006,
19826 /* 53896 */ GIR_EraseRootFromParent_Done,
19827 /* 53897 */ // Label 1680: @53897
19828 /* 53897 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1681*/ GIMT_Encode4(53926), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18415 //
19829 /* 53904 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19830 /* 53911 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19831 /* 53911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
19832 /* 53914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19833 /* 53916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19834 /* 53920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19835 /* 53924 */ GIR_RootConstrainSelectedInstOperands,
19836 /* 53925 */ // GIR_Coverage, 18415,
19837 /* 53925 */ GIR_EraseRootFromParent_Done,
19838 /* 53926 */ // Label 1681: @53926
19839 /* 53926 */ GIM_Reject,
19840 /* 53927 */ // Label 1679: @53927
19841 /* 53927 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1682*/ GIMT_Encode4(53964), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19934 //
19842 /* 53934 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19843 /* 53938 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19844 /* 53942 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19845 /* 53949 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQA64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19846 /* 53949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
19847 /* 53952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19848 /* 53954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19849 /* 53958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19850 /* 53962 */ GIR_RootConstrainSelectedInstOperands,
19851 /* 53963 */ // GIR_Coverage, 19934,
19852 /* 53963 */ GIR_EraseRootFromParent_Done,
19853 /* 53964 */ // Label 1682: @53964
19854 /* 53964 */ GIM_Reject,
19855 /* 53965 */ // Label 1678: @53965
19856 /* 53965 */ GIM_Try, /*On fail goto*//*Label 1683*/ GIMT_Encode4(54037),
19857 /* 53970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19858 /* 53974 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19859 /* 53978 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1684*/ GIMT_Encode4(54007), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18010 //
19860 /* 53985 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19861 /* 53992 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19862 /* 53992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
19863 /* 53995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19864 /* 53997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19865 /* 54001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19866 /* 54005 */ GIR_RootConstrainSelectedInstOperands,
19867 /* 54006 */ // GIR_Coverage, 18010,
19868 /* 54006 */ GIR_EraseRootFromParent_Done,
19869 /* 54007 */ // Label 1684: @54007
19870 /* 54007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1685*/ GIMT_Encode4(54036), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18419 //
19871 /* 54014 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19872 /* 54021 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19873 /* 54021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
19874 /* 54024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19875 /* 54026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19876 /* 54030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19877 /* 54034 */ GIR_RootConstrainSelectedInstOperands,
19878 /* 54035 */ // GIR_Coverage, 18419,
19879 /* 54035 */ GIR_EraseRootFromParent_Done,
19880 /* 54036 */ // Label 1685: @54036
19881 /* 54036 */ GIM_Reject,
19882 /* 54037 */ // Label 1683: @54037
19883 /* 54037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1686*/ GIMT_Encode4(54074), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19938 //
19884 /* 54044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19885 /* 54048 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19886 /* 54052 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19887 /* 54059 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19888 /* 54059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
19889 /* 54062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19890 /* 54064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19891 /* 54068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19892 /* 54072 */ GIR_RootConstrainSelectedInstOperands,
19893 /* 54073 */ // GIR_Coverage, 19938,
19894 /* 54073 */ GIR_EraseRootFromParent_Done,
19895 /* 54074 */ // Label 1686: @54074
19896 /* 54074 */ GIM_Reject,
19897 /* 54075 */ // Label 1677: @54075
19898 /* 54075 */ GIM_Reject,
19899 /* 54076 */ // Label 1600: @54076
19900 /* 54076 */ GIM_Try, /*On fail goto*//*Label 1687*/ GIMT_Encode4(54247),
19901 /* 54081 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19902 /* 54084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19903 /* 54088 */ GIM_Try, /*On fail goto*//*Label 1688*/ GIMT_Encode4(54172),
19904 /* 54093 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
19905 /* 54097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1689*/ GIMT_Encode4(54134), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17976 //
19906 /* 54104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
19907 /* 54108 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19908 /* 54112 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19909 /* 54119 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
19910 /* 54119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
19911 /* 54122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19912 /* 54124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19913 /* 54128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19914 /* 54132 */ GIR_RootConstrainSelectedInstOperands,
19915 /* 54133 */ // GIR_Coverage, 17976,
19916 /* 54133 */ GIR_EraseRootFromParent_Done,
19917 /* 54134 */ // Label 1689: @54134
19918 /* 54134 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1690*/ GIMT_Encode4(54171), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19954 //
19919 /* 54141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19920 /* 54145 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19921 /* 54149 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19922 /* 54156 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVDQA64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
19923 /* 54156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
19924 /* 54159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19925 /* 54161 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19926 /* 54165 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19927 /* 54169 */ GIR_RootConstrainSelectedInstOperands,
19928 /* 54170 */ // GIR_Coverage, 19954,
19929 /* 54170 */ GIR_EraseRootFromParent_Done,
19930 /* 54171 */ // Label 1690: @54171
19931 /* 54171 */ GIM_Reject,
19932 /* 54172 */ // Label 1688: @54172
19933 /* 54172 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1691*/ GIMT_Encode4(54209), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17980 //
19934 /* 54179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
19935 /* 54183 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19936 /* 54187 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19937 /* 54194 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
19938 /* 54194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
19939 /* 54197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19940 /* 54199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19941 /* 54203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19942 /* 54207 */ GIR_RootConstrainSelectedInstOperands,
19943 /* 54208 */ // GIR_Coverage, 17980,
19944 /* 54208 */ GIR_EraseRootFromParent_Done,
19945 /* 54209 */ // Label 1691: @54209
19946 /* 54209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1692*/ GIMT_Encode4(54246), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19958 //
19947 /* 54216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19948 /* 54220 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19949 /* 54224 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19950 /* 54231 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
19951 /* 54231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
19952 /* 54234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19953 /* 54236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19954 /* 54240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19955 /* 54244 */ GIR_RootConstrainSelectedInstOperands,
19956 /* 54245 */ // GIR_Coverage, 19958,
19957 /* 54245 */ GIR_EraseRootFromParent_Done,
19958 /* 54246 */ // Label 1692: @54246
19959 /* 54246 */ GIM_Reject,
19960 /* 54247 */ // Label 1687: @54247
19961 /* 54247 */ GIM_Reject,
19962 /* 54248 */ // Label 1601: @54248
19963 /* 54248 */ GIM_Try, /*On fail goto*//*Label 1693*/ GIMT_Encode4(54339),
19964 /* 54253 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19965 /* 54256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19966 /* 54260 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1694*/ GIMT_Encode4(54301), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19914 //
19967 /* 54267 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
19968 /* 54271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19969 /* 54275 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19970 /* 54279 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19971 /* 54286 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVDQA64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
19972 /* 54286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
19973 /* 54289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19974 /* 54291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19975 /* 54295 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19976 /* 54299 */ GIR_RootConstrainSelectedInstOperands,
19977 /* 54300 */ // GIR_Coverage, 19914,
19978 /* 54300 */ GIR_EraseRootFromParent_Done,
19979 /* 54301 */ // Label 1694: @54301
19980 /* 54301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1695*/ GIMT_Encode4(54338), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19918 //
19981 /* 54308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19982 /* 54312 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19983 /* 54316 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19984 /* 54323 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
19985 /* 54323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
19986 /* 54326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19987 /* 54328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19988 /* 54332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19989 /* 54336 */ GIR_RootConstrainSelectedInstOperands,
19990 /* 54337 */ // GIR_Coverage, 19918,
19991 /* 54337 */ GIR_EraseRootFromParent_Done,
19992 /* 54338 */ // Label 1695: @54338
19993 /* 54338 */ GIM_Reject,
19994 /* 54339 */ // Label 1693: @54339
19995 /* 54339 */ GIM_Reject,
19996 /* 54340 */ // Label 1602: @54340
19997 /* 54340 */ GIM_Try, /*On fail goto*//*Label 1696*/ GIMT_Encode4(54825),
19998 /* 54345 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19999 /* 54348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20000 /* 54352 */ GIM_Try, /*On fail goto*//*Label 1697*/ GIMT_Encode4(54593),
20001 /* 54357 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
20002 /* 54361 */ GIM_Try, /*On fail goto*//*Label 1698*/ GIMT_Encode4(54520),
20003 /* 54366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20004 /* 54370 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20005 /* 54374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1699*/ GIMT_Encode4(54403), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17993 //
20006 /* 54381 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20007 /* 54388 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20008 /* 54388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
20009 /* 54391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20010 /* 54393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20011 /* 54397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20012 /* 54401 */ GIR_RootConstrainSelectedInstOperands,
20013 /* 54402 */ // GIR_Coverage, 17993,
20014 /* 54402 */ GIR_EraseRootFromParent_Done,
20015 /* 54403 */ // Label 1699: @54403
20016 /* 54403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1700*/ GIMT_Encode4(54432), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18005 //
20017 /* 54410 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20018 /* 54417 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20019 /* 54417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20020 /* 54420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20021 /* 54422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20022 /* 54426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20023 /* 54430 */ GIR_RootConstrainSelectedInstOperands,
20024 /* 54431 */ // GIR_Coverage, 18005,
20025 /* 54431 */ GIR_EraseRootFromParent_Done,
20026 /* 54432 */ // Label 1700: @54432
20027 /* 54432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1701*/ GIMT_Encode4(54461), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18023 //
20028 /* 54439 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20029 /* 54446 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20030 /* 54446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20031 /* 54449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20032 /* 54451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20033 /* 54455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20034 /* 54459 */ GIR_RootConstrainSelectedInstOperands,
20035 /* 54460 */ // GIR_Coverage, 18023,
20036 /* 54460 */ GIR_EraseRootFromParent_Done,
20037 /* 54461 */ // Label 1701: @54461
20038 /* 54461 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1702*/ GIMT_Encode4(54490), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18413 //
20039 /* 54468 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20040 /* 54475 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20041 /* 54475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20042 /* 54478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20043 /* 54480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20044 /* 54484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20045 /* 54488 */ GIR_RootConstrainSelectedInstOperands,
20046 /* 54489 */ // GIR_Coverage, 18413,
20047 /* 54489 */ GIR_EraseRootFromParent_Done,
20048 /* 54490 */ // Label 1702: @54490
20049 /* 54490 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1703*/ GIMT_Encode4(54519), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18414 //
20050 /* 54497 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20051 /* 54504 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20052 /* 54504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20053 /* 54507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20054 /* 54509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20055 /* 54513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20056 /* 54517 */ GIR_RootConstrainSelectedInstOperands,
20057 /* 54518 */ // GIR_Coverage, 18414,
20058 /* 54518 */ GIR_EraseRootFromParent_Done,
20059 /* 54519 */ // Label 1703: @54519
20060 /* 54519 */ GIM_Reject,
20061 /* 54520 */ // Label 1698: @54520
20062 /* 54520 */ GIM_Try, /*On fail goto*//*Label 1704*/ GIMT_Encode4(54592),
20063 /* 54525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20064 /* 54529 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20065 /* 54533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1705*/ GIMT_Encode4(54562), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19932 //
20066 /* 54540 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20067 /* 54547 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQA64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20068 /* 54547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20069 /* 54550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20070 /* 54552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20071 /* 54556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20072 /* 54560 */ GIR_RootConstrainSelectedInstOperands,
20073 /* 54561 */ // GIR_Coverage, 19932,
20074 /* 54561 */ GIR_EraseRootFromParent_Done,
20075 /* 54562 */ // Label 1705: @54562
20076 /* 54562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1706*/ GIMT_Encode4(54591), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19933 //
20077 /* 54569 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20078 /* 54576 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20079 /* 54576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
20080 /* 54579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20081 /* 54581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20082 /* 54585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20083 /* 54589 */ GIR_RootConstrainSelectedInstOperands,
20084 /* 54590 */ // GIR_Coverage, 19933,
20085 /* 54590 */ GIR_EraseRootFromParent_Done,
20086 /* 54591 */ // Label 1706: @54591
20087 /* 54591 */ GIM_Reject,
20088 /* 54592 */ // Label 1704: @54592
20089 /* 54592 */ GIM_Reject,
20090 /* 54593 */ // Label 1697: @54593
20091 /* 54593 */ GIM_Try, /*On fail goto*//*Label 1707*/ GIMT_Encode4(54752),
20092 /* 54598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20093 /* 54602 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20094 /* 54606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1708*/ GIMT_Encode4(54635), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17994 //
20095 /* 54613 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20096 /* 54620 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20097 /* 54620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20098 /* 54623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20099 /* 54625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20100 /* 54629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20101 /* 54633 */ GIR_RootConstrainSelectedInstOperands,
20102 /* 54634 */ // GIR_Coverage, 17994,
20103 /* 54634 */ GIR_EraseRootFromParent_Done,
20104 /* 54635 */ // Label 1708: @54635
20105 /* 54635 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1709*/ GIMT_Encode4(54664), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18009 //
20106 /* 54642 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20107 /* 54649 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20108 /* 54649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20109 /* 54652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20110 /* 54654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20111 /* 54658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20112 /* 54662 */ GIR_RootConstrainSelectedInstOperands,
20113 /* 54663 */ // GIR_Coverage, 18009,
20114 /* 54663 */ GIR_EraseRootFromParent_Done,
20115 /* 54664 */ // Label 1709: @54664
20116 /* 54664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1710*/ GIMT_Encode4(54693), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18024 //
20117 /* 54671 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20118 /* 54678 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20119 /* 54678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20120 /* 54681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20121 /* 54683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20122 /* 54687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20123 /* 54691 */ GIR_RootConstrainSelectedInstOperands,
20124 /* 54692 */ // GIR_Coverage, 18024,
20125 /* 54692 */ GIR_EraseRootFromParent_Done,
20126 /* 54693 */ // Label 1710: @54693
20127 /* 54693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1711*/ GIMT_Encode4(54722), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18417 //
20128 /* 54700 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20129 /* 54707 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20130 /* 54707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20131 /* 54710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20132 /* 54712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20133 /* 54716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20134 /* 54720 */ GIR_RootConstrainSelectedInstOperands,
20135 /* 54721 */ // GIR_Coverage, 18417,
20136 /* 54721 */ GIR_EraseRootFromParent_Done,
20137 /* 54722 */ // Label 1711: @54722
20138 /* 54722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1712*/ GIMT_Encode4(54751), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18418 //
20139 /* 54729 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20140 /* 54736 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20141 /* 54736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20142 /* 54739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20143 /* 54741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20144 /* 54745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20145 /* 54749 */ GIR_RootConstrainSelectedInstOperands,
20146 /* 54750 */ // GIR_Coverage, 18418,
20147 /* 54750 */ GIR_EraseRootFromParent_Done,
20148 /* 54751 */ // Label 1712: @54751
20149 /* 54751 */ GIM_Reject,
20150 /* 54752 */ // Label 1707: @54752
20151 /* 54752 */ GIM_Try, /*On fail goto*//*Label 1713*/ GIMT_Encode4(54824),
20152 /* 54757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20153 /* 54761 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20154 /* 54765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1714*/ GIMT_Encode4(54794), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19936 //
20155 /* 54772 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20156 /* 54779 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20157 /* 54779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20158 /* 54782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20159 /* 54784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20160 /* 54788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20161 /* 54792 */ GIR_RootConstrainSelectedInstOperands,
20162 /* 54793 */ // GIR_Coverage, 19936,
20163 /* 54793 */ GIR_EraseRootFromParent_Done,
20164 /* 54794 */ // Label 1714: @54794
20165 /* 54794 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1715*/ GIMT_Encode4(54823), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19937 //
20166 /* 54801 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20167 /* 54808 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20168 /* 54808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20169 /* 54811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20170 /* 54813 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20171 /* 54817 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20172 /* 54821 */ GIR_RootConstrainSelectedInstOperands,
20173 /* 54822 */ // GIR_Coverage, 19937,
20174 /* 54822 */ GIR_EraseRootFromParent_Done,
20175 /* 54823 */ // Label 1715: @54823
20176 /* 54823 */ GIM_Reject,
20177 /* 54824 */ // Label 1713: @54824
20178 /* 54824 */ GIM_Reject,
20179 /* 54825 */ // Label 1696: @54825
20180 /* 54825 */ GIM_Reject,
20181 /* 54826 */ // Label 1603: @54826
20182 /* 54826 */ GIM_Try, /*On fail goto*//*Label 1716*/ GIMT_Encode4(55137),
20183 /* 54831 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20184 /* 54834 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20185 /* 54838 */ GIM_Try, /*On fail goto*//*Label 1717*/ GIMT_Encode4(54992),
20186 /* 54843 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
20187 /* 54847 */ GIM_Try, /*On fail goto*//*Label 1718*/ GIMT_Encode4(54919),
20188 /* 54852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20189 /* 54856 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20190 /* 54860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1719*/ GIMT_Encode4(54889), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17975 //
20191 /* 54867 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20192 /* 54874 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20193 /* 54874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20194 /* 54877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20195 /* 54879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20196 /* 54883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20197 /* 54887 */ GIR_RootConstrainSelectedInstOperands,
20198 /* 54888 */ // GIR_Coverage, 17975,
20199 /* 54888 */ GIR_EraseRootFromParent_Done,
20200 /* 54889 */ // Label 1719: @54889
20201 /* 54889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1720*/ GIMT_Encode4(54918), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17998 //
20202 /* 54896 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20203 /* 54903 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20204 /* 54903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20205 /* 54906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20206 /* 54908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20207 /* 54912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20208 /* 54916 */ GIR_RootConstrainSelectedInstOperands,
20209 /* 54917 */ // GIR_Coverage, 17998,
20210 /* 54917 */ GIR_EraseRootFromParent_Done,
20211 /* 54918 */ // Label 1720: @54918
20212 /* 54918 */ GIM_Reject,
20213 /* 54919 */ // Label 1718: @54919
20214 /* 54919 */ GIM_Try, /*On fail goto*//*Label 1721*/ GIMT_Encode4(54991),
20215 /* 54924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20216 /* 54928 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20217 /* 54932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1722*/ GIMT_Encode4(54961), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19952 //
20218 /* 54939 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20219 /* 54946 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVDQA64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20220 /* 54946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20221 /* 54949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20222 /* 54951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20223 /* 54955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20224 /* 54959 */ GIR_RootConstrainSelectedInstOperands,
20225 /* 54960 */ // GIR_Coverage, 19952,
20226 /* 54960 */ GIR_EraseRootFromParent_Done,
20227 /* 54961 */ // Label 1722: @54961
20228 /* 54961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1723*/ GIMT_Encode4(54990), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19953 //
20229 /* 54968 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20230 /* 54975 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20231 /* 54975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
20232 /* 54978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20233 /* 54980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20234 /* 54984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20235 /* 54988 */ GIR_RootConstrainSelectedInstOperands,
20236 /* 54989 */ // GIR_Coverage, 19953,
20237 /* 54989 */ GIR_EraseRootFromParent_Done,
20238 /* 54990 */ // Label 1723: @54990
20239 /* 54990 */ GIM_Reject,
20240 /* 54991 */ // Label 1721: @54991
20241 /* 54991 */ GIM_Reject,
20242 /* 54992 */ // Label 1717: @54992
20243 /* 54992 */ GIM_Try, /*On fail goto*//*Label 1724*/ GIMT_Encode4(55064),
20244 /* 54997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20245 /* 55001 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20246 /* 55005 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1725*/ GIMT_Encode4(55034), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17979 //
20247 /* 55012 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20248 /* 55019 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20249 /* 55019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20250 /* 55022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20251 /* 55024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20252 /* 55028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20253 /* 55032 */ GIR_RootConstrainSelectedInstOperands,
20254 /* 55033 */ // GIR_Coverage, 17979,
20255 /* 55033 */ GIR_EraseRootFromParent_Done,
20256 /* 55034 */ // Label 1725: @55034
20257 /* 55034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1726*/ GIMT_Encode4(55063), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17999 //
20258 /* 55041 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20259 /* 55048 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20260 /* 55048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20261 /* 55051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20262 /* 55053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20263 /* 55057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20264 /* 55061 */ GIR_RootConstrainSelectedInstOperands,
20265 /* 55062 */ // GIR_Coverage, 17999,
20266 /* 55062 */ GIR_EraseRootFromParent_Done,
20267 /* 55063 */ // Label 1726: @55063
20268 /* 55063 */ GIM_Reject,
20269 /* 55064 */ // Label 1724: @55064
20270 /* 55064 */ GIM_Try, /*On fail goto*//*Label 1727*/ GIMT_Encode4(55136),
20271 /* 55069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20272 /* 55073 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20273 /* 55077 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1728*/ GIMT_Encode4(55106), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19956 //
20274 /* 55084 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20275 /* 55091 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20276 /* 55091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
20277 /* 55094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20278 /* 55096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20279 /* 55100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20280 /* 55104 */ GIR_RootConstrainSelectedInstOperands,
20281 /* 55105 */ // GIR_Coverage, 19956,
20282 /* 55105 */ GIR_EraseRootFromParent_Done,
20283 /* 55106 */ // Label 1728: @55106
20284 /* 55106 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1729*/ GIMT_Encode4(55135), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19957 //
20285 /* 55113 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20286 /* 55120 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20287 /* 55120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
20288 /* 55123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20289 /* 55125 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20290 /* 55129 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20291 /* 55133 */ GIR_RootConstrainSelectedInstOperands,
20292 /* 55134 */ // GIR_Coverage, 19957,
20293 /* 55134 */ GIR_EraseRootFromParent_Done,
20294 /* 55135 */ // Label 1729: @55135
20295 /* 55135 */ GIM_Reject,
20296 /* 55136 */ // Label 1727: @55136
20297 /* 55136 */ GIM_Reject,
20298 /* 55137 */ // Label 1716: @55137
20299 /* 55137 */ GIM_Reject,
20300 /* 55138 */ // Label 1604: @55138
20301 /* 55138 */ GIM_Try, /*On fail goto*//*Label 1730*/ GIMT_Encode4(55299),
20302 /* 55143 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20303 /* 55146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20304 /* 55150 */ GIM_Try, /*On fail goto*//*Label 1731*/ GIMT_Encode4(55226),
20305 /* 55155 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
20306 /* 55159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20307 /* 55163 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20308 /* 55167 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1732*/ GIMT_Encode4(55196), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19912 //
20309 /* 55174 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20310 /* 55181 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVDQA64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
20311 /* 55181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
20312 /* 55184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20313 /* 55186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20314 /* 55190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20315 /* 55194 */ GIR_RootConstrainSelectedInstOperands,
20316 /* 55195 */ // GIR_Coverage, 19912,
20317 /* 55195 */ GIR_EraseRootFromParent_Done,
20318 /* 55196 */ // Label 1732: @55196
20319 /* 55196 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1733*/ GIMT_Encode4(55225), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19913 //
20320 /* 55203 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20321 /* 55210 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVAPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
20322 /* 55210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
20323 /* 55213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20324 /* 55215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20325 /* 55219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20326 /* 55223 */ GIR_RootConstrainSelectedInstOperands,
20327 /* 55224 */ // GIR_Coverage, 19913,
20328 /* 55224 */ GIR_EraseRootFromParent_Done,
20329 /* 55225 */ // Label 1733: @55225
20330 /* 55225 */ GIM_Reject,
20331 /* 55226 */ // Label 1731: @55226
20332 /* 55226 */ GIM_Try, /*On fail goto*//*Label 1734*/ GIMT_Encode4(55298),
20333 /* 55231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20334 /* 55235 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20335 /* 55239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1735*/ GIMT_Encode4(55268), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19916 //
20336 /* 55246 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20337 /* 55253 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
20338 /* 55253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
20339 /* 55256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20340 /* 55258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20341 /* 55262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20342 /* 55266 */ GIR_RootConstrainSelectedInstOperands,
20343 /* 55267 */ // GIR_Coverage, 19916,
20344 /* 55267 */ GIR_EraseRootFromParent_Done,
20345 /* 55268 */ // Label 1735: @55268
20346 /* 55268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1736*/ GIMT_Encode4(55297), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19917 //
20347 /* 55275 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20348 /* 55282 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
20349 /* 55282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
20350 /* 55285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20351 /* 55287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20352 /* 55291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20353 /* 55295 */ GIR_RootConstrainSelectedInstOperands,
20354 /* 55296 */ // GIR_Coverage, 19917,
20355 /* 55296 */ GIR_EraseRootFromParent_Done,
20356 /* 55297 */ // Label 1736: @55297
20357 /* 55297 */ GIM_Reject,
20358 /* 55298 */ // Label 1734: @55298
20359 /* 55298 */ GIM_Reject,
20360 /* 55299 */ // Label 1730: @55299
20361 /* 55299 */ GIM_Reject,
20362 /* 55300 */ // Label 1605: @55300
20363 /* 55300 */ GIM_Try, /*On fail goto*//*Label 1737*/ GIMT_Encode4(55425),
20364 /* 55305 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20365 /* 55308 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(16),
20366 /* 55315 */ GIM_Try, /*On fail goto*//*Label 1738*/ GIMT_Encode4(55387),
20367 /* 55320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20368 /* 55324 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20369 /* 55328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1739*/ GIMT_Encode4(55357), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 22744 //
20370 /* 55335 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20371 /* 55342 */ // (atomic_load:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v4i32>> => (MOVAPDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20372 /* 55342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
20373 /* 55345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20374 /* 55347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20375 /* 55351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20376 /* 55355 */ GIR_RootConstrainSelectedInstOperands,
20377 /* 55356 */ // GIR_Coverage, 22744,
20378 /* 55356 */ GIR_EraseRootFromParent_Done,
20379 /* 55357 */ // Label 1739: @55357
20380 /* 55357 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1740*/ GIMT_Encode4(55386), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22745 //
20381 /* 55364 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20382 /* 55371 */ // (atomic_load:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v4i32>> => (VMOVAPDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20383 /* 55371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
20384 /* 55374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20385 /* 55376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20386 /* 55380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20387 /* 55384 */ GIR_RootConstrainSelectedInstOperands,
20388 /* 55385 */ // GIR_Coverage, 22745,
20389 /* 55385 */ GIR_EraseRootFromParent_Done,
20390 /* 55386 */ // Label 1740: @55386
20391 /* 55386 */ GIM_Reject,
20392 /* 55387 */ // Label 1738: @55387
20393 /* 55387 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1741*/ GIMT_Encode4(55424), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22746 //
20394 /* 55394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20395 /* 55398 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20396 /* 55402 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20397 /* 55409 */ // (atomic_load:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v4i32>> => (VMOVAPDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20398 /* 55409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
20399 /* 55412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20400 /* 55414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20401 /* 55418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20402 /* 55422 */ GIR_RootConstrainSelectedInstOperands,
20403 /* 55423 */ // GIR_Coverage, 22746,
20404 /* 55423 */ GIR_EraseRootFromParent_Done,
20405 /* 55424 */ // Label 1741: @55424
20406 /* 55424 */ GIM_Reject,
20407 /* 55425 */ // Label 1737: @55425
20408 /* 55425 */ GIM_Try, /*On fail goto*//*Label 1742*/ GIMT_Encode4(55884),
20409 /* 55430 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20410 /* 55433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20411 /* 55437 */ GIM_Try, /*On fail goto*//*Label 1743*/ GIMT_Encode4(55665),
20412 /* 55442 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
20413 /* 55446 */ GIM_Try, /*On fail goto*//*Label 1744*/ GIMT_Encode4(55518),
20414 /* 55451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20415 /* 55455 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20416 /* 55459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1745*/ GIMT_Encode4(55488), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1678 //
20417 /* 55466 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20418 /* 55473 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20419 /* 55473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
20420 /* 55476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20421 /* 55478 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20422 /* 55482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20423 /* 55486 */ GIR_RootConstrainSelectedInstOperands,
20424 /* 55487 */ // GIR_Coverage, 1678,
20425 /* 55487 */ GIR_EraseRootFromParent_Done,
20426 /* 55488 */ // Label 1745: @55488
20427 /* 55488 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1746*/ GIMT_Encode4(55517), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1686 //
20428 /* 55495 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20429 /* 55502 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20430 /* 55502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20431 /* 55505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20432 /* 55507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20433 /* 55511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20434 /* 55515 */ GIR_RootConstrainSelectedInstOperands,
20435 /* 55516 */ // GIR_Coverage, 1686,
20436 /* 55516 */ GIR_EraseRootFromParent_Done,
20437 /* 55517 */ // Label 1746: @55517
20438 /* 55517 */ GIM_Reject,
20439 /* 55518 */ // Label 1744: @55518
20440 /* 55518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1747*/ GIMT_Encode4(55555), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4462 //
20441 /* 55525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20442 /* 55529 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20443 /* 55533 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20444 /* 55540 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20445 /* 55540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
20446 /* 55543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20447 /* 55545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20448 /* 55549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20449 /* 55553 */ GIR_RootConstrainSelectedInstOperands,
20450 /* 55554 */ // GIR_Coverage, 4462,
20451 /* 55554 */ GIR_EraseRootFromParent_Done,
20452 /* 55555 */ // Label 1747: @55555
20453 /* 55555 */ GIM_Try, /*On fail goto*//*Label 1748*/ GIMT_Encode4(55627),
20454 /* 55560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20455 /* 55564 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20456 /* 55568 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1749*/ GIMT_Encode4(55597), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18004 //
20457 /* 55575 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20458 /* 55582 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20459 /* 55582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20460 /* 55585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20461 /* 55587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20462 /* 55591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20463 /* 55595 */ GIR_RootConstrainSelectedInstOperands,
20464 /* 55596 */ // GIR_Coverage, 18004,
20465 /* 55596 */ GIR_EraseRootFromParent_Done,
20466 /* 55597 */ // Label 1749: @55597
20467 /* 55597 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1750*/ GIMT_Encode4(55626), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18412 //
20468 /* 55604 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20469 /* 55611 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20470 /* 55611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20471 /* 55614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20472 /* 55616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20473 /* 55620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20474 /* 55624 */ GIR_RootConstrainSelectedInstOperands,
20475 /* 55625 */ // GIR_Coverage, 18412,
20476 /* 55625 */ GIR_EraseRootFromParent_Done,
20477 /* 55626 */ // Label 1750: @55626
20478 /* 55626 */ GIM_Reject,
20479 /* 55627 */ // Label 1748: @55627
20480 /* 55627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1751*/ GIMT_Encode4(55664), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19931 //
20481 /* 55634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20482 /* 55638 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20483 /* 55642 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20484 /* 55649 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQA64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20485 /* 55649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20486 /* 55652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20487 /* 55654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20488 /* 55658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20489 /* 55662 */ GIR_RootConstrainSelectedInstOperands,
20490 /* 55663 */ // GIR_Coverage, 19931,
20491 /* 55663 */ GIR_EraseRootFromParent_Done,
20492 /* 55664 */ // Label 1751: @55664
20493 /* 55664 */ GIM_Reject,
20494 /* 55665 */ // Label 1743: @55665
20495 /* 55665 */ GIM_Try, /*On fail goto*//*Label 1752*/ GIMT_Encode4(55737),
20496 /* 55670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20497 /* 55674 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20498 /* 55678 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1753*/ GIMT_Encode4(55707), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1680 //
20499 /* 55685 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20500 /* 55692 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20501 /* 55692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20502 /* 55695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20503 /* 55697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20504 /* 55701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20505 /* 55705 */ GIR_RootConstrainSelectedInstOperands,
20506 /* 55706 */ // GIR_Coverage, 1680,
20507 /* 55706 */ GIR_EraseRootFromParent_Done,
20508 /* 55707 */ // Label 1753: @55707
20509 /* 55707 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1754*/ GIMT_Encode4(55736), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1687 //
20510 /* 55714 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20511 /* 55721 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20512 /* 55721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20513 /* 55724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20514 /* 55726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20515 /* 55730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20516 /* 55734 */ GIR_RootConstrainSelectedInstOperands,
20517 /* 55735 */ // GIR_Coverage, 1687,
20518 /* 55735 */ GIR_EraseRootFromParent_Done,
20519 /* 55736 */ // Label 1754: @55736
20520 /* 55736 */ GIM_Reject,
20521 /* 55737 */ // Label 1752: @55737
20522 /* 55737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1755*/ GIMT_Encode4(55774), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4499 //
20523 /* 55744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20524 /* 55748 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20525 /* 55752 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20526 /* 55759 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20527 /* 55759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20528 /* 55762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20529 /* 55764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20530 /* 55768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20531 /* 55772 */ GIR_RootConstrainSelectedInstOperands,
20532 /* 55773 */ // GIR_Coverage, 4499,
20533 /* 55773 */ GIR_EraseRootFromParent_Done,
20534 /* 55774 */ // Label 1755: @55774
20535 /* 55774 */ GIM_Try, /*On fail goto*//*Label 1756*/ GIMT_Encode4(55846),
20536 /* 55779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20537 /* 55783 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20538 /* 55787 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1757*/ GIMT_Encode4(55816), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18008 //
20539 /* 55794 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20540 /* 55801 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20541 /* 55801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20542 /* 55804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20543 /* 55806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20544 /* 55810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20545 /* 55814 */ GIR_RootConstrainSelectedInstOperands,
20546 /* 55815 */ // GIR_Coverage, 18008,
20547 /* 55815 */ GIR_EraseRootFromParent_Done,
20548 /* 55816 */ // Label 1757: @55816
20549 /* 55816 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1758*/ GIMT_Encode4(55845), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18416 //
20550 /* 55823 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20551 /* 55830 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20552 /* 55830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20553 /* 55833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20554 /* 55835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20555 /* 55839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20556 /* 55843 */ GIR_RootConstrainSelectedInstOperands,
20557 /* 55844 */ // GIR_Coverage, 18416,
20558 /* 55844 */ GIR_EraseRootFromParent_Done,
20559 /* 55845 */ // Label 1758: @55845
20560 /* 55845 */ GIM_Reject,
20561 /* 55846 */ // Label 1756: @55846
20562 /* 55846 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1759*/ GIMT_Encode4(55883), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19935 //
20563 /* 55853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20564 /* 55857 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20565 /* 55861 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20566 /* 55868 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20567 /* 55868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20568 /* 55871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20569 /* 55873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20570 /* 55877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20571 /* 55881 */ GIR_RootConstrainSelectedInstOperands,
20572 /* 55882 */ // GIR_Coverage, 19935,
20573 /* 55882 */ GIR_EraseRootFromParent_Done,
20574 /* 55883 */ // Label 1759: @55883
20575 /* 55883 */ GIM_Reject,
20576 /* 55884 */ // Label 1742: @55884
20577 /* 55884 */ GIM_Reject,
20578 /* 55885 */ // Label 1606: @55885
20579 /* 55885 */ GIM_Try, /*On fail goto*//*Label 1760*/ GIMT_Encode4(56204),
20580 /* 55890 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20581 /* 55893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20582 /* 55897 */ GIM_Try, /*On fail goto*//*Label 1761*/ GIMT_Encode4(56055),
20583 /* 55902 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
20584 /* 55906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1762*/ GIMT_Encode4(55943), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1682 //
20585 /* 55913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20586 /* 55917 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20587 /* 55921 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20588 /* 55928 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20589 /* 55928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20590 /* 55931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20591 /* 55933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20592 /* 55937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20593 /* 55941 */ GIR_RootConstrainSelectedInstOperands,
20594 /* 55942 */ // GIR_Coverage, 1682,
20595 /* 55942 */ GIR_EraseRootFromParent_Done,
20596 /* 55943 */ // Label 1762: @55943
20597 /* 55943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1763*/ GIMT_Encode4(55980), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4457 //
20598 /* 55950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20599 /* 55954 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20600 /* 55958 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20601 /* 55965 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20602 /* 55965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
20603 /* 55968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20604 /* 55970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20605 /* 55974 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20606 /* 55978 */ GIR_RootConstrainSelectedInstOperands,
20607 /* 55979 */ // GIR_Coverage, 4457,
20608 /* 55979 */ GIR_EraseRootFromParent_Done,
20609 /* 55980 */ // Label 1763: @55980
20610 /* 55980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1764*/ GIMT_Encode4(56017), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17974 //
20611 /* 55987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20612 /* 55991 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20613 /* 55995 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20614 /* 56002 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20615 /* 56002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20616 /* 56005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20617 /* 56007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20618 /* 56011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20619 /* 56015 */ GIR_RootConstrainSelectedInstOperands,
20620 /* 56016 */ // GIR_Coverage, 17974,
20621 /* 56016 */ GIR_EraseRootFromParent_Done,
20622 /* 56017 */ // Label 1764: @56017
20623 /* 56017 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1765*/ GIMT_Encode4(56054), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19951 //
20624 /* 56024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20625 /* 56028 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20626 /* 56032 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20627 /* 56039 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVDQA64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20628 /* 56039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20629 /* 56042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20630 /* 56044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20631 /* 56048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20632 /* 56052 */ GIR_RootConstrainSelectedInstOperands,
20633 /* 56053 */ // GIR_Coverage, 19951,
20634 /* 56053 */ GIR_EraseRootFromParent_Done,
20635 /* 56054 */ // Label 1765: @56054
20636 /* 56054 */ GIM_Reject,
20637 /* 56055 */ // Label 1761: @56055
20638 /* 56055 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1766*/ GIMT_Encode4(56092), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1684 //
20639 /* 56062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20640 /* 56066 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20641 /* 56070 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20642 /* 56077 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20643 /* 56077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20644 /* 56080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20645 /* 56082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20646 /* 56086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20647 /* 56090 */ GIR_RootConstrainSelectedInstOperands,
20648 /* 56091 */ // GIR_Coverage, 1684,
20649 /* 56091 */ GIR_EraseRootFromParent_Done,
20650 /* 56092 */ // Label 1766: @56092
20651 /* 56092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1767*/ GIMT_Encode4(56129), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4496 //
20652 /* 56099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20653 /* 56103 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20654 /* 56107 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20655 /* 56114 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20656 /* 56114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
20657 /* 56117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20658 /* 56119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20659 /* 56123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20660 /* 56127 */ GIR_RootConstrainSelectedInstOperands,
20661 /* 56128 */ // GIR_Coverage, 4496,
20662 /* 56128 */ GIR_EraseRootFromParent_Done,
20663 /* 56129 */ // Label 1767: @56129
20664 /* 56129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1768*/ GIMT_Encode4(56166), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17978 //
20665 /* 56136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20666 /* 56140 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20667 /* 56144 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20668 /* 56151 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20669 /* 56151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20670 /* 56154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20671 /* 56156 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20672 /* 56160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20673 /* 56164 */ GIR_RootConstrainSelectedInstOperands,
20674 /* 56165 */ // GIR_Coverage, 17978,
20675 /* 56165 */ GIR_EraseRootFromParent_Done,
20676 /* 56166 */ // Label 1768: @56166
20677 /* 56166 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1769*/ GIMT_Encode4(56203), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19955 //
20678 /* 56173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20679 /* 56177 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20680 /* 56181 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20681 /* 56188 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20682 /* 56188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
20683 /* 56191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20684 /* 56193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20685 /* 56197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20686 /* 56201 */ GIR_RootConstrainSelectedInstOperands,
20687 /* 56202 */ // GIR_Coverage, 19955,
20688 /* 56202 */ GIR_EraseRootFromParent_Done,
20689 /* 56203 */ // Label 1769: @56203
20690 /* 56203 */ GIM_Reject,
20691 /* 56204 */ // Label 1760: @56204
20692 /* 56204 */ GIM_Reject,
20693 /* 56205 */ // Label 1607: @56205
20694 /* 56205 */ GIM_Try, /*On fail goto*//*Label 1770*/ GIMT_Encode4(56366),
20695 /* 56210 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20696 /* 56213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20697 /* 56217 */ GIM_Try, /*On fail goto*//*Label 1771*/ GIMT_Encode4(56293),
20698 /* 56222 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
20699 /* 56226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20700 /* 56230 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20701 /* 56234 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1772*/ GIMT_Encode4(56263), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4452 //
20702 /* 56241 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20703 /* 56248 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVAPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
20704 /* 56248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
20705 /* 56251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20706 /* 56253 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20707 /* 56257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20708 /* 56261 */ GIR_RootConstrainSelectedInstOperands,
20709 /* 56262 */ // GIR_Coverage, 4452,
20710 /* 56262 */ GIR_EraseRootFromParent_Done,
20711 /* 56263 */ // Label 1772: @56263
20712 /* 56263 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1773*/ GIMT_Encode4(56292), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19911 //
20713 /* 56270 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20714 /* 56277 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVDQA64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
20715 /* 56277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
20716 /* 56280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20717 /* 56282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20718 /* 56286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20719 /* 56290 */ GIR_RootConstrainSelectedInstOperands,
20720 /* 56291 */ // GIR_Coverage, 19911,
20721 /* 56291 */ GIR_EraseRootFromParent_Done,
20722 /* 56292 */ // Label 1773: @56292
20723 /* 56292 */ GIM_Reject,
20724 /* 56293 */ // Label 1771: @56293
20725 /* 56293 */ GIM_Try, /*On fail goto*//*Label 1774*/ GIMT_Encode4(56365),
20726 /* 56298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20727 /* 56302 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20728 /* 56306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1775*/ GIMT_Encode4(56335), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4493 //
20729 /* 56313 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20730 /* 56320 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
20731 /* 56320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
20732 /* 56323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20733 /* 56325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20734 /* 56329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20735 /* 56333 */ GIR_RootConstrainSelectedInstOperands,
20736 /* 56334 */ // GIR_Coverage, 4493,
20737 /* 56334 */ GIR_EraseRootFromParent_Done,
20738 /* 56335 */ // Label 1775: @56335
20739 /* 56335 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1776*/ GIMT_Encode4(56364), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19915 //
20740 /* 56342 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20741 /* 56349 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
20742 /* 56349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
20743 /* 56352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20744 /* 56354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20745 /* 56358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20746 /* 56362 */ GIR_RootConstrainSelectedInstOperands,
20747 /* 56363 */ // GIR_Coverage, 19915,
20748 /* 56363 */ GIR_EraseRootFromParent_Done,
20749 /* 56364 */ // Label 1776: @56364
20750 /* 56364 */ GIM_Reject,
20751 /* 56365 */ // Label 1774: @56365
20752 /* 56365 */ GIM_Reject,
20753 /* 56366 */ // Label 1770: @56366
20754 /* 56366 */ GIM_Reject,
20755 /* 56367 */ // Label 1608: @56367
20756 /* 56367 */ GIM_Try, /*On fail goto*//*Label 1777*/ GIMT_Encode4(56492),
20757 /* 56372 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20758 /* 56375 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(16),
20759 /* 56382 */ GIM_Try, /*On fail goto*//*Label 1778*/ GIMT_Encode4(56454),
20760 /* 56387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20761 /* 56391 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20762 /* 56395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1779*/ GIMT_Encode4(56424), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 22741 //
20763 /* 56402 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20764 /* 56409 */ // (atomic_load:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v2i64>> => (MOVAPDrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20765 /* 56409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
20766 /* 56412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20767 /* 56414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20768 /* 56418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20769 /* 56422 */ GIR_RootConstrainSelectedInstOperands,
20770 /* 56423 */ // GIR_Coverage, 22741,
20771 /* 56423 */ GIR_EraseRootFromParent_Done,
20772 /* 56424 */ // Label 1779: @56424
20773 /* 56424 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1780*/ GIMT_Encode4(56453), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22742 //
20774 /* 56431 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20775 /* 56438 */ // (atomic_load:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v2i64>> => (VMOVAPDrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20776 /* 56438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
20777 /* 56441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20778 /* 56443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20779 /* 56447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20780 /* 56451 */ GIR_RootConstrainSelectedInstOperands,
20781 /* 56452 */ // GIR_Coverage, 22742,
20782 /* 56452 */ GIR_EraseRootFromParent_Done,
20783 /* 56453 */ // Label 1780: @56453
20784 /* 56453 */ GIM_Reject,
20785 /* 56454 */ // Label 1778: @56454
20786 /* 56454 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1781*/ GIMT_Encode4(56491), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22743 //
20787 /* 56461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20788 /* 56465 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20789 /* 56469 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20790 /* 56476 */ // (atomic_load:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v2i64>> => (VMOVAPDZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20791 /* 56476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
20792 /* 56479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20793 /* 56481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20794 /* 56485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20795 /* 56489 */ GIR_RootConstrainSelectedInstOperands,
20796 /* 56490 */ // GIR_Coverage, 22743,
20797 /* 56490 */ GIR_EraseRootFromParent_Done,
20798 /* 56491 */ // Label 1781: @56491
20799 /* 56491 */ GIM_Reject,
20800 /* 56492 */ // Label 1777: @56492
20801 /* 56492 */ GIM_Try, /*On fail goto*//*Label 1782*/ GIMT_Encode4(56935),
20802 /* 56497 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20803 /* 56500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20804 /* 56504 */ GIM_Try, /*On fail goto*//*Label 1783*/ GIMT_Encode4(56724),
20805 /* 56509 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
20806 /* 56513 */ GIM_Try, /*On fail goto*//*Label 1784*/ GIMT_Encode4(56614),
20807 /* 56518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20808 /* 56522 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20809 /* 56526 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1785*/ GIMT_Encode4(56555), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1679 //
20810 /* 56533 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20811 /* 56540 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20812 /* 56540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
20813 /* 56543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20814 /* 56545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20815 /* 56549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20816 /* 56553 */ GIR_RootConstrainSelectedInstOperands,
20817 /* 56554 */ // GIR_Coverage, 1679,
20818 /* 56554 */ GIR_EraseRootFromParent_Done,
20819 /* 56555 */ // Label 1785: @56555
20820 /* 56555 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1786*/ GIMT_Encode4(56584), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1688 //
20821 /* 56562 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20822 /* 56569 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20823 /* 56569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
20824 /* 56572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20825 /* 56574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20826 /* 56578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20827 /* 56582 */ GIR_RootConstrainSelectedInstOperands,
20828 /* 56583 */ // GIR_Coverage, 1688,
20829 /* 56583 */ GIR_EraseRootFromParent_Done,
20830 /* 56584 */ // Label 1786: @56584
20831 /* 56584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1787*/ GIMT_Encode4(56613), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2499 //
20832 /* 56591 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20833 /* 56598 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20834 /* 56598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20835 /* 56601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20836 /* 56603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20837 /* 56607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20838 /* 56611 */ GIR_RootConstrainSelectedInstOperands,
20839 /* 56612 */ // GIR_Coverage, 2499,
20840 /* 56612 */ GIR_EraseRootFromParent_Done,
20841 /* 56613 */ // Label 1787: @56613
20842 /* 56613 */ GIM_Reject,
20843 /* 56614 */ // Label 1784: @56614
20844 /* 56614 */ GIM_Try, /*On fail goto*//*Label 1788*/ GIMT_Encode4(56686),
20845 /* 56619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20846 /* 56623 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20847 /* 56627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1789*/ GIMT_Encode4(56656), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4483 //
20848 /* 56634 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20849 /* 56641 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20850 /* 56641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
20851 /* 56644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20852 /* 56646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20853 /* 56650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20854 /* 56654 */ GIR_RootConstrainSelectedInstOperands,
20855 /* 56655 */ // GIR_Coverage, 4483,
20856 /* 56655 */ GIR_EraseRootFromParent_Done,
20857 /* 56656 */ // Label 1789: @56656
20858 /* 56656 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1790*/ GIMT_Encode4(56685), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4540 //
20859 /* 56663 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20860 /* 56670 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQA64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20861 /* 56670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20862 /* 56673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20863 /* 56675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20864 /* 56679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20865 /* 56683 */ GIR_RootConstrainSelectedInstOperands,
20866 /* 56684 */ // GIR_Coverage, 4540,
20867 /* 56684 */ GIR_EraseRootFromParent_Done,
20868 /* 56685 */ // Label 1790: @56685
20869 /* 56685 */ GIM_Reject,
20870 /* 56686 */ // Label 1788: @56686
20871 /* 56686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1791*/ GIMT_Encode4(56723), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18003 //
20872 /* 56693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20873 /* 56697 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20874 /* 56701 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20875 /* 56708 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20876 /* 56708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20877 /* 56711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20878 /* 56713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20879 /* 56717 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20880 /* 56721 */ GIR_RootConstrainSelectedInstOperands,
20881 /* 56722 */ // GIR_Coverage, 18003,
20882 /* 56722 */ GIR_EraseRootFromParent_Done,
20883 /* 56723 */ // Label 1791: @56723
20884 /* 56723 */ GIM_Reject,
20885 /* 56724 */ // Label 1783: @56724
20886 /* 56724 */ GIM_Try, /*On fail goto*//*Label 1792*/ GIMT_Encode4(56825),
20887 /* 56729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20888 /* 56733 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20889 /* 56737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1793*/ GIMT_Encode4(56766), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1681 //
20890 /* 56744 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20891 /* 56751 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20892 /* 56751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDrm),
20893 /* 56754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20894 /* 56756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20895 /* 56760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20896 /* 56764 */ GIR_RootConstrainSelectedInstOperands,
20897 /* 56765 */ // GIR_Coverage, 1681,
20898 /* 56765 */ GIR_EraseRootFromParent_Done,
20899 /* 56766 */ // Label 1793: @56766
20900 /* 56766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1794*/ GIMT_Encode4(56795), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1689 //
20901 /* 56773 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20902 /* 56780 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20903 /* 56780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDrm),
20904 /* 56783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20905 /* 56785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20906 /* 56789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20907 /* 56793 */ GIR_RootConstrainSelectedInstOperands,
20908 /* 56794 */ // GIR_Coverage, 1689,
20909 /* 56794 */ GIR_EraseRootFromParent_Done,
20910 /* 56795 */ // Label 1794: @56795
20911 /* 56795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1795*/ GIMT_Encode4(56824), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2500 //
20912 /* 56802 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20913 /* 56809 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20914 /* 56809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20915 /* 56812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20916 /* 56814 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20917 /* 56818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20918 /* 56822 */ GIR_RootConstrainSelectedInstOperands,
20919 /* 56823 */ // GIR_Coverage, 2500,
20920 /* 56823 */ GIR_EraseRootFromParent_Done,
20921 /* 56824 */ // Label 1795: @56824
20922 /* 56824 */ GIM_Reject,
20923 /* 56825 */ // Label 1792: @56825
20924 /* 56825 */ GIM_Try, /*On fail goto*//*Label 1796*/ GIMT_Encode4(56897),
20925 /* 56830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20926 /* 56834 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20927 /* 56838 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1797*/ GIMT_Encode4(56867), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4511 //
20928 /* 56845 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20929 /* 56852 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20930 /* 56852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128rm),
20931 /* 56855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20932 /* 56857 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20933 /* 56861 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20934 /* 56865 */ GIR_RootConstrainSelectedInstOperands,
20935 /* 56866 */ // GIR_Coverage, 4511,
20936 /* 56866 */ GIR_EraseRootFromParent_Done,
20937 /* 56867 */ // Label 1797: @56867
20938 /* 56867 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1798*/ GIMT_Encode4(56896), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4586 //
20939 /* 56874 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20940 /* 56881 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20941 /* 56881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20942 /* 56884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20943 /* 56886 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20944 /* 56890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20945 /* 56894 */ GIR_RootConstrainSelectedInstOperands,
20946 /* 56895 */ // GIR_Coverage, 4586,
20947 /* 56895 */ GIR_EraseRootFromParent_Done,
20948 /* 56896 */ // Label 1798: @56896
20949 /* 56896 */ GIM_Reject,
20950 /* 56897 */ // Label 1796: @56897
20951 /* 56897 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1799*/ GIMT_Encode4(56934), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18007 //
20952 /* 56904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20953 /* 56908 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20954 /* 56912 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20955 /* 56919 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20956 /* 56919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20957 /* 56922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20958 /* 56924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20959 /* 56928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20960 /* 56932 */ GIR_RootConstrainSelectedInstOperands,
20961 /* 56933 */ // GIR_Coverage, 18007,
20962 /* 56933 */ GIR_EraseRootFromParent_Done,
20963 /* 56934 */ // Label 1799: @56934
20964 /* 56934 */ GIM_Reject,
20965 /* 56935 */ // Label 1782: @56935
20966 /* 56935 */ GIM_Reject,
20967 /* 56936 */ // Label 1609: @56936
20968 /* 56936 */ GIM_Try, /*On fail goto*//*Label 1800*/ GIMT_Encode4(57251),
20969 /* 56941 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20970 /* 56944 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20971 /* 56948 */ GIM_Try, /*On fail goto*//*Label 1801*/ GIMT_Encode4(57104),
20972 /* 56953 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
20973 /* 56957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1802*/ GIMT_Encode4(56994), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1683 //
20974 /* 56964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20975 /* 56968 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20976 /* 56972 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20977 /* 56979 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20978 /* 56979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYrm),
20979 /* 56982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20980 /* 56984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20981 /* 56988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20982 /* 56992 */ GIR_RootConstrainSelectedInstOperands,
20983 /* 56993 */ // GIR_Coverage, 1683,
20984 /* 56993 */ GIR_EraseRootFromParent_Done,
20985 /* 56994 */ // Label 1802: @56994
20986 /* 56994 */ GIM_Try, /*On fail goto*//*Label 1803*/ GIMT_Encode4(57066),
20987 /* 56999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20988 /* 57003 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20989 /* 57007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1804*/ GIMT_Encode4(57036), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4478 //
20990 /* 57014 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20991 /* 57021 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20992 /* 57021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rm),
20993 /* 57024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20994 /* 57026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20995 /* 57030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20996 /* 57034 */ GIR_RootConstrainSelectedInstOperands,
20997 /* 57035 */ // GIR_Coverage, 4478,
20998 /* 57035 */ GIR_EraseRootFromParent_Done,
20999 /* 57036 */ // Label 1804: @57036
21000 /* 57036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1805*/ GIMT_Encode4(57065), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4535 //
21001 /* 57043 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21002 /* 57050 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVDQA64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21003 /* 57050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21004 /* 57053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21005 /* 57055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21006 /* 57059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21007 /* 57063 */ GIR_RootConstrainSelectedInstOperands,
21008 /* 57064 */ // GIR_Coverage, 4535,
21009 /* 57064 */ GIR_EraseRootFromParent_Done,
21010 /* 57065 */ // Label 1805: @57065
21011 /* 57065 */ GIM_Reject,
21012 /* 57066 */ // Label 1803: @57066
21013 /* 57066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1806*/ GIMT_Encode4(57103), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17973 //
21014 /* 57073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21015 /* 57077 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21016 /* 57081 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21017 /* 57088 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21018 /* 57088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21019 /* 57091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21020 /* 57093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21021 /* 57097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21022 /* 57101 */ GIR_RootConstrainSelectedInstOperands,
21023 /* 57102 */ // GIR_Coverage, 17973,
21024 /* 57102 */ GIR_EraseRootFromParent_Done,
21025 /* 57103 */ // Label 1806: @57103
21026 /* 57103 */ GIM_Reject,
21027 /* 57104 */ // Label 1801: @57104
21028 /* 57104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1807*/ GIMT_Encode4(57141), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1685 //
21029 /* 57111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21030 /* 57115 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21031 /* 57119 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21032 /* 57126 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21033 /* 57126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYrm),
21034 /* 57129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21035 /* 57131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21036 /* 57135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21037 /* 57139 */ GIR_RootConstrainSelectedInstOperands,
21038 /* 57140 */ // GIR_Coverage, 1685,
21039 /* 57140 */ GIR_EraseRootFromParent_Done,
21040 /* 57141 */ // Label 1807: @57141
21041 /* 57141 */ GIM_Try, /*On fail goto*//*Label 1808*/ GIMT_Encode4(57213),
21042 /* 57146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21043 /* 57150 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21044 /* 57154 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1809*/ GIMT_Encode4(57183), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4508 //
21045 /* 57161 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21046 /* 57168 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21047 /* 57168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256rm),
21048 /* 57171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21049 /* 57173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21050 /* 57177 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21051 /* 57181 */ GIR_RootConstrainSelectedInstOperands,
21052 /* 57182 */ // GIR_Coverage, 4508,
21053 /* 57182 */ GIR_EraseRootFromParent_Done,
21054 /* 57183 */ // Label 1809: @57183
21055 /* 57183 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1810*/ GIMT_Encode4(57212), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4583 //
21056 /* 57190 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21057 /* 57197 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21058 /* 57197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21059 /* 57200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21060 /* 57202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21061 /* 57206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21062 /* 57210 */ GIR_RootConstrainSelectedInstOperands,
21063 /* 57211 */ // GIR_Coverage, 4583,
21064 /* 57211 */ GIR_EraseRootFromParent_Done,
21065 /* 57212 */ // Label 1810: @57212
21066 /* 57212 */ GIM_Reject,
21067 /* 57213 */ // Label 1808: @57213
21068 /* 57213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1811*/ GIMT_Encode4(57250), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17977 //
21069 /* 57220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21070 /* 57224 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21071 /* 57228 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21072 /* 57235 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21073 /* 57235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21074 /* 57238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21075 /* 57240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21076 /* 57244 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21077 /* 57248 */ GIR_RootConstrainSelectedInstOperands,
21078 /* 57249 */ // GIR_Coverage, 17977,
21079 /* 57249 */ GIR_EraseRootFromParent_Done,
21080 /* 57250 */ // Label 1811: @57250
21081 /* 57250 */ GIM_Reject,
21082 /* 57251 */ // Label 1800: @57251
21083 /* 57251 */ GIM_Reject,
21084 /* 57252 */ // Label 1610: @57252
21085 /* 57252 */ GIM_Try, /*On fail goto*//*Label 1812*/ GIMT_Encode4(57413),
21086 /* 57257 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21087 /* 57260 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21088 /* 57264 */ GIM_Try, /*On fail goto*//*Label 1813*/ GIMT_Encode4(57340),
21089 /* 57269 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
21090 /* 57273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21091 /* 57277 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21092 /* 57281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1814*/ GIMT_Encode4(57310), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4473 //
21093 /* 57288 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21094 /* 57295 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVAPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
21095 /* 57295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrm),
21096 /* 57298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21097 /* 57300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21098 /* 57304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21099 /* 57308 */ GIR_RootConstrainSelectedInstOperands,
21100 /* 57309 */ // GIR_Coverage, 4473,
21101 /* 57309 */ GIR_EraseRootFromParent_Done,
21102 /* 57310 */ // Label 1814: @57310
21103 /* 57310 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1815*/ GIMT_Encode4(57339), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4530 //
21104 /* 57317 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21105 /* 57324 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVDQA64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
21106 /* 57324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21107 /* 57327 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21108 /* 57329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21109 /* 57333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21110 /* 57337 */ GIR_RootConstrainSelectedInstOperands,
21111 /* 57338 */ // GIR_Coverage, 4530,
21112 /* 57338 */ GIR_EraseRootFromParent_Done,
21113 /* 57339 */ // Label 1815: @57339
21114 /* 57339 */ GIM_Reject,
21115 /* 57340 */ // Label 1813: @57340
21116 /* 57340 */ GIM_Try, /*On fail goto*//*Label 1816*/ GIMT_Encode4(57412),
21117 /* 57345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21118 /* 57349 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21119 /* 57353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1817*/ GIMT_Encode4(57382), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4505 //
21120 /* 57360 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21121 /* 57367 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
21122 /* 57367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZrm),
21123 /* 57370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21124 /* 57372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21125 /* 57376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21126 /* 57380 */ GIR_RootConstrainSelectedInstOperands,
21127 /* 57381 */ // GIR_Coverage, 4505,
21128 /* 57381 */ GIR_EraseRootFromParent_Done,
21129 /* 57382 */ // Label 1817: @57382
21130 /* 57382 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1818*/ GIMT_Encode4(57411), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4580 //
21131 /* 57389 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21132 /* 57396 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
21133 /* 57396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21134 /* 57399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21135 /* 57401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21136 /* 57405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21137 /* 57409 */ GIR_RootConstrainSelectedInstOperands,
21138 /* 57410 */ // GIR_Coverage, 4580,
21139 /* 57410 */ GIR_EraseRootFromParent_Done,
21140 /* 57411 */ // Label 1818: @57411
21141 /* 57411 */ GIM_Reject,
21142 /* 57412 */ // Label 1816: @57412
21143 /* 57412 */ GIM_Reject,
21144 /* 57413 */ // Label 1812: @57413
21145 /* 57413 */ GIM_Reject,
21146 /* 57414 */ // Label 1611: @57414
21147 /* 57414 */ GIM_Reject,
21148 /* 57415 */ // Label 12: @57415
21149 /* 57415 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1822*/ GIMT_Encode4(57746),
21150 /* 57426 */ /*GILLT_s16*//*Label 1819*/ GIMT_Encode4(57438),
21151 /* 57430 */ /*GILLT_s32*//*Label 1820*/ GIMT_Encode4(57514),
21152 /* 57434 */ /*GILLT_s64*//*Label 1821*/ GIMT_Encode4(57608),
21153 /* 57438 */ // Label 1819: @57438
21154 /* 57438 */ GIM_Try, /*On fail goto*//*Label 1823*/ GIMT_Encode4(57513), // Rule ID 22895 //
21155 /* 57443 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21156 /* 57446 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21157 /* 57453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
21158 /* 57457 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21159 /* 57461 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21160 /* 57468 */ // (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] })
21161 /* 57468 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21162 /* 57471 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21163 /* 57475 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21164 /* 57480 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21165 /* 57484 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21166 /* 57488 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21167 /* 57490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21168 /* 57493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21169 /* 57495 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21170 /* 57502 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21171 /* 57507 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21172 /* 57512 */ // GIR_Coverage, 22895,
21173 /* 57512 */ GIR_EraseRootFromParent_Done,
21174 /* 57513 */ // Label 1823: @57513
21175 /* 57513 */ GIM_Reject,
21176 /* 57514 */ // Label 1820: @57514
21177 /* 57514 */ GIM_Try, /*On fail goto*//*Label 1824*/ GIMT_Encode4(57607),
21178 /* 57519 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21179 /* 57522 */ GIM_Try, /*On fail goto*//*Label 1825*/ GIMT_Encode4(57564), // Rule ID 590 //
21180 /* 57527 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21181 /* 57534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21182 /* 57538 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21183 /* 57542 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21184 /* 57549 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21185 /* 57549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21186 /* 57552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21187 /* 57554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21188 /* 57558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21189 /* 57562 */ GIR_RootConstrainSelectedInstOperands,
21190 /* 57563 */ // GIR_Coverage, 590,
21191 /* 57563 */ GIR_EraseRootFromParent_Done,
21192 /* 57564 */ // Label 1825: @57564
21193 /* 57564 */ GIM_Try, /*On fail goto*//*Label 1826*/ GIMT_Encode4(57606), // Rule ID 592 //
21194 /* 57569 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21195 /* 57576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21196 /* 57580 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21197 /* 57584 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21198 /* 57591 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21199 /* 57591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm16),
21200 /* 57594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21201 /* 57596 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21202 /* 57600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21203 /* 57604 */ GIR_RootConstrainSelectedInstOperands,
21204 /* 57605 */ // GIR_Coverage, 592,
21205 /* 57605 */ GIR_EraseRootFromParent_Done,
21206 /* 57606 */ // Label 1826: @57606
21207 /* 57606 */ GIM_Reject,
21208 /* 57607 */ // Label 1824: @57607
21209 /* 57607 */ GIM_Reject,
21210 /* 57608 */ // Label 1821: @57608
21211 /* 57608 */ GIM_Try, /*On fail goto*//*Label 1827*/ GIMT_Encode4(57745),
21212 /* 57613 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21213 /* 57616 */ GIM_Try, /*On fail goto*//*Label 1828*/ GIMT_Encode4(57658), // Rule ID 598 //
21214 /* 57621 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21215 /* 57628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21216 /* 57632 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21217 /* 57636 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21218 /* 57643 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX64rm8:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21219 /* 57643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm8),
21220 /* 57646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21221 /* 57648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21222 /* 57652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21223 /* 57656 */ GIR_RootConstrainSelectedInstOperands,
21224 /* 57657 */ // GIR_Coverage, 598,
21225 /* 57657 */ GIR_EraseRootFromParent_Done,
21226 /* 57658 */ // Label 1828: @57658
21227 /* 57658 */ GIM_Try, /*On fail goto*//*Label 1829*/ GIMT_Encode4(57700), // Rule ID 600 //
21228 /* 57663 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21229 /* 57670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21230 /* 57674 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21231 /* 57678 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21232 /* 57685 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX64rm16:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21233 /* 57685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm16),
21234 /* 57688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21235 /* 57690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21236 /* 57694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21237 /* 57698 */ GIR_RootConstrainSelectedInstOperands,
21238 /* 57699 */ // GIR_Coverage, 600,
21239 /* 57699 */ GIR_EraseRootFromParent_Done,
21240 /* 57700 */ // Label 1829: @57700
21241 /* 57700 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1830*/ GIMT_Encode4(57744), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 602 //
21242 /* 57707 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21243 /* 57714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21244 /* 57718 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21245 /* 57722 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21246 /* 57729 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> => (MOVSX64rm32:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21247 /* 57729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm32),
21248 /* 57732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21249 /* 57734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21250 /* 57738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21251 /* 57742 */ GIR_RootConstrainSelectedInstOperands,
21252 /* 57743 */ // GIR_Coverage, 602,
21253 /* 57743 */ GIR_EraseRootFromParent_Done,
21254 /* 57744 */ // Label 1830: @57744
21255 /* 57744 */ GIM_Reject,
21256 /* 57745 */ // Label 1827: @57745
21257 /* 57745 */ GIM_Reject,
21258 /* 57746 */ // Label 1822: @57746
21259 /* 57746 */ GIM_Reject,
21260 /* 57747 */ // Label 13: @57747
21261 /* 57747 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1835*/ GIMT_Encode4(58389),
21262 /* 57758 */ /*GILLT_s8*//*Label 1831*/ GIMT_Encode4(57774),
21263 /* 57762 */ /*GILLT_s16*//*Label 1832*/ GIMT_Encode4(57820),
21264 /* 57766 */ /*GILLT_s32*//*Label 1833*/ GIMT_Encode4(57959),
21265 /* 57770 */ /*GILLT_s64*//*Label 1834*/ GIMT_Encode4(58095),
21266 /* 57774 */ // Label 1831: @57774
21267 /* 57774 */ GIM_Try, /*On fail goto*//*Label 1836*/ GIMT_Encode4(57819), // Rule ID 22819 //
21268 /* 57779 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21269 /* 57782 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21270 /* 57789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
21271 /* 57793 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21272 /* 57797 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21273 /* 57804 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
21274 /* 57804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
21275 /* 57807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21276 /* 57809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21277 /* 57813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21278 /* 57817 */ GIR_RootConstrainSelectedInstOperands,
21279 /* 57818 */ // GIR_Coverage, 22819,
21280 /* 57818 */ GIR_EraseRootFromParent_Done,
21281 /* 57819 */ // Label 1836: @57819
21282 /* 57819 */ GIM_Reject,
21283 /* 57820 */ // Label 1832: @57820
21284 /* 57820 */ GIM_Try, /*On fail goto*//*Label 1837*/ GIMT_Encode4(57958),
21285 /* 57825 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21286 /* 57828 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21287 /* 57835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
21288 /* 57839 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21289 /* 57843 */ GIM_Try, /*On fail goto*//*Label 1838*/ GIMT_Encode4(57900), // Rule ID 22820 //
21290 /* 57848 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21291 /* 57855 */ // (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] })
21292 /* 57855 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21293 /* 57858 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21294 /* 57862 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21295 /* 57867 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21296 /* 57871 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21297 /* 57875 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21298 /* 57877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21299 /* 57880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21300 /* 57882 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21301 /* 57889 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21302 /* 57894 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21303 /* 57899 */ // GIR_Coverage, 22820,
21304 /* 57899 */ GIR_EraseRootFromParent_Done,
21305 /* 57900 */ // Label 1838: @57900
21306 /* 57900 */ GIM_Try, /*On fail goto*//*Label 1839*/ GIMT_Encode4(57957), // Rule ID 22897 //
21307 /* 57905 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21308 /* 57912 */ // (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] })
21309 /* 57912 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21310 /* 57915 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21311 /* 57919 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21312 /* 57924 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21313 /* 57928 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21314 /* 57932 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21315 /* 57934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21316 /* 57937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21317 /* 57939 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21318 /* 57946 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21319 /* 57951 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21320 /* 57956 */ // GIR_Coverage, 22897,
21321 /* 57956 */ GIR_EraseRootFromParent_Done,
21322 /* 57957 */ // Label 1839: @57957
21323 /* 57957 */ GIM_Reject,
21324 /* 57958 */ // Label 1837: @57958
21325 /* 57958 */ GIM_Reject,
21326 /* 57959 */ // Label 1833: @57959
21327 /* 57959 */ GIM_Try, /*On fail goto*//*Label 1840*/ GIMT_Encode4(58094),
21328 /* 57964 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21329 /* 57967 */ GIM_Try, /*On fail goto*//*Label 1841*/ GIMT_Encode4(58009), // Rule ID 594 //
21330 /* 57972 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21331 /* 57979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21332 /* 57983 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21333 /* 57987 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21334 /* 57994 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21335 /* 57994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21336 /* 57997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21337 /* 57999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21338 /* 58003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21339 /* 58007 */ GIR_RootConstrainSelectedInstOperands,
21340 /* 58008 */ // GIR_Coverage, 594,
21341 /* 58008 */ GIR_EraseRootFromParent_Done,
21342 /* 58009 */ // Label 1841: @58009
21343 /* 58009 */ GIM_Try, /*On fail goto*//*Label 1842*/ GIMT_Encode4(58051), // Rule ID 596 //
21344 /* 58014 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21345 /* 58021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21346 /* 58025 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21347 /* 58029 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21348 /* 58036 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21349 /* 58036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
21350 /* 58039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21351 /* 58041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21352 /* 58045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21353 /* 58049 */ GIR_RootConstrainSelectedInstOperands,
21354 /* 58050 */ // GIR_Coverage, 596,
21355 /* 58050 */ GIR_EraseRootFromParent_Done,
21356 /* 58051 */ // Label 1842: @58051
21357 /* 58051 */ GIM_Try, /*On fail goto*//*Label 1843*/ GIMT_Encode4(58093), // Rule ID 22821 //
21358 /* 58056 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21359 /* 58063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21360 /* 58067 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21361 /* 58071 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21362 /* 58078 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21363 /* 58078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21364 /* 58081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21365 /* 58083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21366 /* 58087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21367 /* 58091 */ GIR_RootConstrainSelectedInstOperands,
21368 /* 58092 */ // GIR_Coverage, 22821,
21369 /* 58092 */ GIR_EraseRootFromParent_Done,
21370 /* 58093 */ // Label 1843: @58093
21371 /* 58093 */ GIM_Reject,
21372 /* 58094 */ // Label 1840: @58094
21373 /* 58094 */ GIM_Reject,
21374 /* 58095 */ // Label 1834: @58095
21375 /* 58095 */ GIM_Try, /*On fail goto*//*Label 1844*/ GIMT_Encode4(58388),
21376 /* 58100 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21377 /* 58103 */ GIM_Try, /*On fail goto*//*Label 1845*/ GIMT_Encode4(58174), // Rule ID 17648 //
21378 /* 58108 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21379 /* 58115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21380 /* 58119 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21381 /* 58123 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21382 /* 58130 */ // (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] })
21383 /* 58130 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21384 /* 58133 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21385 /* 58137 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21386 /* 58142 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21387 /* 58146 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21388 /* 58150 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21389 /* 58152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21390 /* 58155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21391 /* 58157 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21392 /* 58160 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21393 /* 58163 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21394 /* 58168 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21395 /* 58173 */ // GIR_Coverage, 17648,
21396 /* 58173 */ GIR_EraseRootFromParent_Done,
21397 /* 58174 */ // Label 1845: @58174
21398 /* 58174 */ GIM_Try, /*On fail goto*//*Label 1846*/ GIMT_Encode4(58245), // Rule ID 17650 //
21399 /* 58179 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21400 /* 58186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21401 /* 58190 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21402 /* 58194 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21403 /* 58201 */ // (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] })
21404 /* 58201 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21405 /* 58204 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
21406 /* 58208 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21407 /* 58213 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21408 /* 58217 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21409 /* 58221 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21410 /* 58223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21411 /* 58226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21412 /* 58228 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21413 /* 58231 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21414 /* 58234 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21415 /* 58239 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21416 /* 58244 */ // GIR_Coverage, 17650,
21417 /* 58244 */ GIR_EraseRootFromParent_Done,
21418 /* 58245 */ // Label 1846: @58245
21419 /* 58245 */ GIM_Try, /*On fail goto*//*Label 1847*/ GIMT_Encode4(58316), // Rule ID 17652 //
21420 /* 58250 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21421 /* 58257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21422 /* 58261 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21423 /* 58265 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21424 /* 58272 */ // (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] })
21425 /* 58272 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21426 /* 58275 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
21427 /* 58279 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21428 /* 58284 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21429 /* 58288 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21430 /* 58292 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21431 /* 58294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21432 /* 58297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21433 /* 58299 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21434 /* 58302 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21435 /* 58305 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21436 /* 58310 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21437 /* 58315 */ // GIR_Coverage, 17652,
21438 /* 58315 */ GIR_EraseRootFromParent_Done,
21439 /* 58316 */ // Label 1847: @58316
21440 /* 58316 */ GIM_Try, /*On fail goto*//*Label 1848*/ GIMT_Encode4(58387), // Rule ID 22822 //
21441 /* 58321 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21442 /* 58328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21443 /* 58332 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21444 /* 58336 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21445 /* 58343 */ // (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] })
21446 /* 58343 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21447 /* 58346 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21448 /* 58350 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21449 /* 58355 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21450 /* 58359 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21451 /* 58363 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21452 /* 58365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21453 /* 58368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21454 /* 58370 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21455 /* 58373 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21456 /* 58376 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21457 /* 58381 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21458 /* 58386 */ // GIR_Coverage, 22822,
21459 /* 58386 */ GIR_EraseRootFromParent_Done,
21460 /* 58387 */ // Label 1848: @58387
21461 /* 58387 */ GIM_Reject,
21462 /* 58388 */ // Label 1844: @58388
21463 /* 58388 */ GIM_Reject,
21464 /* 58389 */ // Label 1835: @58389
21465 /* 58389 */ GIM_Reject,
21466 /* 58390 */ // Label 14: @58390
21467 /* 58390 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(6), /*)*//*default:*//*Label 1851*/ GIMT_Encode4(58572),
21468 /* 58401 */ /*GILLT_s64*//*Label 1849*/ GIMT_Encode4(58409),
21469 /* 58405 */ /*GILLT_s80*//*Label 1850*/ GIMT_Encode4(58464),
21470 /* 58409 */ // Label 1849: @58409
21471 /* 58409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1852*/ GIMT_Encode4(58463), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1059 //
21472 /* 58416 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21473 /* 58419 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21474 /* 58423 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21475 /* 58430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
21476 /* 58434 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21477 /* 58438 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21478 /* 58445 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
21479 /* 58445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m64),
21480 /* 58448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21481 /* 58450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21482 /* 58454 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
21483 /* 58457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21484 /* 58461 */ GIR_RootConstrainSelectedInstOperands,
21485 /* 58462 */ // GIR_Coverage, 1059,
21486 /* 58462 */ GIR_EraseRootFromParent_Done,
21487 /* 58463 */ // Label 1852: @58463
21488 /* 58463 */ GIM_Reject,
21489 /* 58464 */ // Label 1850: @58464
21490 /* 58464 */ GIM_Try, /*On fail goto*//*Label 1853*/ GIMT_Encode4(58571),
21491 /* 58469 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21492 /* 58472 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21493 /* 58476 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1854*/ GIMT_Encode4(58523), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1060 //
21494 /* 58483 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
21495 /* 58490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
21496 /* 58494 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21497 /* 58498 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21498 /* 58505 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>> => (LD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
21499 /* 58505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m80),
21500 /* 58508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21501 /* 58510 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21502 /* 58514 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
21503 /* 58517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21504 /* 58521 */ GIR_RootConstrainSelectedInstOperands,
21505 /* 58522 */ // GIR_Coverage, 1060,
21506 /* 58522 */ GIR_EraseRootFromParent_Done,
21507 /* 58523 */ // Label 1854: @58523
21508 /* 58523 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1855*/ GIMT_Encode4(58570), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1061 //
21509 /* 58530 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21510 /* 58537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
21511 /* 58541 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21512 /* 58545 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21513 /* 58552 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
21514 /* 58552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m80),
21515 /* 58555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21516 /* 58557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21517 /* 58561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
21518 /* 58564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21519 /* 58568 */ GIR_RootConstrainSelectedInstOperands,
21520 /* 58569 */ // GIR_Coverage, 1061,
21521 /* 58569 */ GIR_EraseRootFromParent_Done,
21522 /* 58570 */ // Label 1855: @58570
21523 /* 58570 */ GIM_Reject,
21524 /* 58571 */ // Label 1853: @58571
21525 /* 58571 */ GIM_Reject,
21526 /* 58572 */ // Label 1851: @58572
21527 /* 58572 */ GIM_Reject,
21528 /* 58573 */ // Label 15: @58573
21529 /* 58573 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 1878*/ GIMT_Encode4(83847),
21530 /* 58584 */ /*GILLT_s8*//*Label 1856*/ GIMT_Encode4(58680),
21531 /* 58588 */ /*GILLT_s16*//*Label 1857*/ GIMT_Encode4(63032),
21532 /* 58592 */ /*GILLT_s32*//*Label 1858*/ GIMT_Encode4(67908),
21533 /* 58596 */ /*GILLT_s64*//*Label 1859*/ GIMT_Encode4(73185),
21534 /* 58600 */ /*GILLT_s80*//*Label 1860*/ GIMT_Encode4(78120),
21535 /* 58604 */ /*GILLT_s128*//*Label 1861*/ GIMT_Encode4(78168), GIMT_Encode4(0), GIMT_Encode4(0),
21536 /* 58616 */ /*GILLT_v8s1*//*Label 1862*/ GIMT_Encode4(78532),
21537 /* 58620 */ /*GILLT_v16s1*//*Label 1863*/ GIMT_Encode4(78612),
21538 /* 58624 */ /*GILLT_v32s1*//*Label 1864*/ GIMT_Encode4(78692),
21539 /* 58628 */ /*GILLT_v64s1*//*Label 1865*/ GIMT_Encode4(78772),
21540 /* 58632 */ /*GILLT_v16s8*//*Label 1866*/ GIMT_Encode4(78852),
21541 /* 58636 */ /*GILLT_v32s8*//*Label 1867*/ GIMT_Encode4(79216),
21542 /* 58640 */ /*GILLT_v64s8*//*Label 1868*/ GIMT_Encode4(79475),
21543 /* 58644 */ /*GILLT_v8s16*//*Label 1869*/ GIMT_Encode4(79611),
21544 /* 58648 */ /*GILLT_v16s16*//*Label 1870*/ GIMT_Encode4(80341),
21545 /* 58652 */ /*GILLT_v32s16*//*Label 1871*/ GIMT_Encode4(80810),
21546 /* 58656 */ /*GILLT_v4s32*//*Label 1872*/ GIMT_Encode4(81051),
21547 /* 58660 */ /*GILLT_v8s32*//*Label 1873*/ GIMT_Encode4(81742),
21548 /* 58664 */ /*GILLT_v16s32*//*Label 1874*/ GIMT_Encode4(82223),
21549 /* 58668 */ /*GILLT_v2s64*//*Label 1875*/ GIMT_Encode4(82464),
21550 /* 58672 */ /*GILLT_v4s64*//*Label 1876*/ GIMT_Encode4(83131),
21551 /* 58676 */ /*GILLT_v8s64*//*Label 1877*/ GIMT_Encode4(83606),
21552 /* 58680 */ // Label 1856: @58680
21553 /* 58680 */ GIM_Try, /*On fail goto*//*Label 1879*/ GIMT_Encode4(59029),
21554 /* 58685 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21555 /* 58688 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21556 /* 58695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1880*/ GIMT_Encode4(58780), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22695 //
21557 /* 58702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21558 /* 58706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21559 /* 58710 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21560 /* 58714 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21561 /* 58718 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21562 /* 58722 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21563 /* 58726 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21564 /* 58729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21565 /* 58733 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21566 /* 58740 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21567 /* 58744 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
21568 /* 58748 */ // MIs[0] dst
21569 /* 58748 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21570 /* 58753 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21571 /* 58755 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21572 /* 58762 */ // (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)
21573 /* 58762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
21574 /* 58765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21575 /* 58769 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21576 /* 58772 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21577 /* 58778 */ GIR_RootConstrainSelectedInstOperands,
21578 /* 58779 */ // GIR_Coverage, 22695,
21579 /* 58779 */ GIR_EraseRootFromParent_Done,
21580 /* 58780 */ // Label 1880: @58780
21581 /* 58780 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1881*/ GIMT_Encode4(58865), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22699 //
21582 /* 58787 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21583 /* 58791 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21584 /* 58795 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21585 /* 58799 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21586 /* 58803 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21587 /* 58807 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21588 /* 58811 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21589 /* 58814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21590 /* 58818 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21591 /* 58825 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21592 /* 58829 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21593 /* 58833 */ // MIs[0] dst
21594 /* 58833 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21595 /* 58838 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21596 /* 58840 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21597 /* 58847 */ // (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)
21598 /* 58847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
21599 /* 58850 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21600 /* 58854 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21601 /* 58857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21602 /* 58863 */ GIR_RootConstrainSelectedInstOperands,
21603 /* 58864 */ // GIR_Coverage, 22699,
21604 /* 58864 */ GIR_EraseRootFromParent_Done,
21605 /* 58865 */ // Label 1881: @58865
21606 /* 58865 */ GIM_Try, /*On fail goto*//*Label 1882*/ GIMT_Encode4(58948), // Rule ID 22703 //
21607 /* 58870 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21608 /* 58874 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
21609 /* 58878 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21610 /* 58882 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21611 /* 58886 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
21612 /* 58890 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
21613 /* 58894 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21614 /* 58898 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21615 /* 58901 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21616 /* 58905 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21617 /* 58912 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21618 /* 58916 */ // MIs[0] dst
21619 /* 58916 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21620 /* 58921 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21621 /* 58923 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21622 /* 58930 */ // (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)
21623 /* 58930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
21624 /* 58933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21625 /* 58937 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21626 /* 58940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21627 /* 58946 */ GIR_RootConstrainSelectedInstOperands,
21628 /* 58947 */ // GIR_Coverage, 22703,
21629 /* 58947 */ GIR_EraseRootFromParent_Done,
21630 /* 58948 */ // Label 1882: @58948
21631 /* 58948 */ GIM_Try, /*On fail goto*//*Label 1883*/ GIMT_Encode4(59028), // Rule ID 22707 //
21632 /* 58953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21633 /* 58957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
21634 /* 58961 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21635 /* 58965 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21636 /* 58969 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21637 /* 58973 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21638 /* 58977 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21639 /* 58980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21640 /* 58984 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21641 /* 58991 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21642 /* 58995 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21643 /* 58999 */ // MIs[0] dst
21644 /* 58999 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21645 /* 59004 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21646 /* 59006 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21647 /* 59013 */ // (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)
21648 /* 59013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
21649 /* 59016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21650 /* 59020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21651 /* 59026 */ GIR_RootConstrainSelectedInstOperands,
21652 /* 59027 */ // GIR_Coverage, 22707,
21653 /* 59027 */ GIR_EraseRootFromParent_Done,
21654 /* 59028 */ // Label 1883: @59028
21655 /* 59028 */ GIM_Reject,
21656 /* 59029 */ // Label 1879: @59029
21657 /* 59029 */ GIM_Try, /*On fail goto*//*Label 1884*/ GIMT_Encode4(59939),
21658 /* 59034 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21659 /* 59037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21660 /* 59041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1885*/ GIMT_Encode4(59119), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 223 //
21661 /* 59048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21662 /* 59052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21663 /* 59056 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21664 /* 59060 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21665 /* 59064 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21666 /* 59068 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21667 /* 59072 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21668 /* 59075 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21669 /* 59079 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21670 /* 59083 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
21671 /* 59087 */ // MIs[0] src1
21672 /* 59087 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21673 /* 59092 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21674 /* 59094 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21675 /* 59101 */ // (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)
21676 /* 59101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
21677 /* 59104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21678 /* 59108 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21679 /* 59111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21680 /* 59117 */ GIR_RootConstrainSelectedInstOperands,
21681 /* 59118 */ // GIR_Coverage, 223,
21682 /* 59118 */ GIR_EraseRootFromParent_Done,
21683 /* 59119 */ // Label 1885: @59119
21684 /* 59119 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1886*/ GIMT_Encode4(59197), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 226 //
21685 /* 59126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21686 /* 59130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21687 /* 59134 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21688 /* 59138 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21689 /* 59142 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21690 /* 59146 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21691 /* 59150 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21692 /* 59153 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21693 /* 59157 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21694 /* 59161 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21695 /* 59165 */ // MIs[0] src1
21696 /* 59165 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21697 /* 59170 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21698 /* 59172 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21699 /* 59179 */ // (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)
21700 /* 59179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
21701 /* 59182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21702 /* 59186 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21703 /* 59189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21704 /* 59195 */ GIR_RootConstrainSelectedInstOperands,
21705 /* 59196 */ // GIR_Coverage, 226,
21706 /* 59196 */ GIR_EraseRootFromParent_Done,
21707 /* 59197 */ // Label 1886: @59197
21708 /* 59197 */ GIM_Try, /*On fail goto*//*Label 1887*/ GIMT_Encode4(59273), // Rule ID 17669 //
21709 /* 59202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21710 /* 59206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
21711 /* 59210 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21712 /* 59214 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21713 /* 59218 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21714 /* 59222 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21715 /* 59226 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21716 /* 59229 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21717 /* 59233 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21718 /* 59237 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
21719 /* 59241 */ // MIs[0] dst
21720 /* 59241 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21721 /* 59246 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21722 /* 59248 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21723 /* 59255 */ // (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)
21724 /* 59255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8m1),
21725 /* 59258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21726 /* 59262 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21727 /* 59265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21728 /* 59271 */ GIR_RootConstrainSelectedInstOperands,
21729 /* 59272 */ // GIR_Coverage, 17669,
21730 /* 59272 */ GIR_EraseRootFromParent_Done,
21731 /* 59273 */ // Label 1887: @59273
21732 /* 59273 */ GIM_Try, /*On fail goto*//*Label 1888*/ GIMT_Encode4(59349), // Rule ID 17673 //
21733 /* 59278 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21734 /* 59282 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
21735 /* 59286 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21736 /* 59290 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21737 /* 59294 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21738 /* 59298 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21739 /* 59302 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21740 /* 59305 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21741 /* 59309 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21742 /* 59313 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
21743 /* 59317 */ // MIs[0] dst
21744 /* 59317 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21745 /* 59322 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21746 /* 59324 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21747 /* 59331 */ // (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)
21748 /* 59331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8m1),
21749 /* 59334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21750 /* 59338 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21751 /* 59341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21752 /* 59347 */ GIR_RootConstrainSelectedInstOperands,
21753 /* 59348 */ // GIR_Coverage, 17673,
21754 /* 59348 */ GIR_EraseRootFromParent_Done,
21755 /* 59349 */ // Label 1888: @59349
21756 /* 59349 */ GIM_Try, /*On fail goto*//*Label 1889*/ GIMT_Encode4(59425), // Rule ID 259 //
21757 /* 59354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21758 /* 59358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
21759 /* 59362 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21760 /* 59366 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21761 /* 59370 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
21762 /* 59374 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
21763 /* 59378 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21764 /* 59382 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21765 /* 59385 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21766 /* 59389 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21767 /* 59393 */ // MIs[0] src1
21768 /* 59393 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21769 /* 59398 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21770 /* 59400 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21771 /* 59407 */ // (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)
21772 /* 59407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
21773 /* 59410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21774 /* 59414 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21775 /* 59417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21776 /* 59423 */ GIR_RootConstrainSelectedInstOperands,
21777 /* 59424 */ // GIR_Coverage, 259,
21778 /* 59424 */ GIR_EraseRootFromParent_Done,
21779 /* 59425 */ // Label 1889: @59425
21780 /* 59425 */ GIM_Try, /*On fail goto*//*Label 1890*/ GIMT_Encode4(59498), // Rule ID 267 //
21781 /* 59430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21782 /* 59434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
21783 /* 59438 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21784 /* 59442 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21785 /* 59446 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21786 /* 59450 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21787 /* 59454 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21788 /* 59457 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21789 /* 59461 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21790 /* 59465 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21791 /* 59469 */ // MIs[0] src1
21792 /* 59469 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21793 /* 59474 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21794 /* 59476 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21795 /* 59483 */ // (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)
21796 /* 59483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
21797 /* 59486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21798 /* 59490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21799 /* 59496 */ GIR_RootConstrainSelectedInstOperands,
21800 /* 59497 */ // GIR_Coverage, 267,
21801 /* 59497 */ GIR_EraseRootFromParent_Done,
21802 /* 59498 */ // Label 1890: @59498
21803 /* 59498 */ GIM_Try, /*On fail goto*//*Label 1891*/ GIMT_Encode4(59586), // Rule ID 411 //
21804 /* 59503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21805 /* 59507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21806 /* 59511 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21807 /* 59515 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21808 /* 59519 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21809 /* 59523 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21810 /* 59527 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21811 /* 59530 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21812 /* 59534 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21813 /* 59538 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21814 /* 59542 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21815 /* 59546 */ // MIs[3] Operand 1
21816 /* 59546 */ // No operand predicates
21817 /* 59546 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21818 /* 59550 */ // MIs[0] src1
21819 /* 59550 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21820 /* 59555 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21821 /* 59557 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21822 /* 59564 */ // (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)
21823 /* 59564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
21824 /* 59567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21825 /* 59571 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21826 /* 59574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21827 /* 59577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21828 /* 59584 */ GIR_RootConstrainSelectedInstOperands,
21829 /* 59585 */ // GIR_Coverage, 411,
21830 /* 59585 */ GIR_EraseRootFromParent_Done,
21831 /* 59586 */ // Label 1891: @59586
21832 /* 59586 */ GIM_Try, /*On fail goto*//*Label 1892*/ GIMT_Encode4(59674), // Rule ID 303 //
21833 /* 59591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21834 /* 59595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
21835 /* 59599 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21836 /* 59603 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21837 /* 59607 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21838 /* 59611 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21839 /* 59615 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21840 /* 59618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21841 /* 59622 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21842 /* 59626 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21843 /* 59630 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21844 /* 59634 */ // MIs[3] Operand 1
21845 /* 59634 */ // No operand predicates
21846 /* 59634 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21847 /* 59638 */ // MIs[0] src1
21848 /* 59638 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21849 /* 59643 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21850 /* 59645 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21851 /* 59652 */ // (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)
21852 /* 59652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
21853 /* 59655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21854 /* 59659 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21855 /* 59662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21856 /* 59665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21857 /* 59672 */ GIR_RootConstrainSelectedInstOperands,
21858 /* 59673 */ // GIR_Coverage, 303,
21859 /* 59673 */ GIR_EraseRootFromParent_Done,
21860 /* 59674 */ // Label 1892: @59674
21861 /* 59674 */ GIM_Try, /*On fail goto*//*Label 1893*/ GIMT_Encode4(59762), // Rule ID 339 //
21862 /* 59679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21863 /* 59683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
21864 /* 59687 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21865 /* 59691 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21866 /* 59695 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21867 /* 59699 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21868 /* 59703 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21869 /* 59706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21870 /* 59710 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21871 /* 59714 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21872 /* 59718 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21873 /* 59722 */ // MIs[3] Operand 1
21874 /* 59722 */ // No operand predicates
21875 /* 59722 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21876 /* 59726 */ // MIs[0] src1
21877 /* 59726 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21878 /* 59731 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21879 /* 59733 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21880 /* 59740 */ // (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)
21881 /* 59740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
21882 /* 59743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21883 /* 59747 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21884 /* 59750 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21885 /* 59753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21886 /* 59760 */ GIR_RootConstrainSelectedInstOperands,
21887 /* 59761 */ // GIR_Coverage, 339,
21888 /* 59761 */ GIR_EraseRootFromParent_Done,
21889 /* 59762 */ // Label 1893: @59762
21890 /* 59762 */ GIM_Try, /*On fail goto*//*Label 1894*/ GIMT_Encode4(59850), // Rule ID 451 //
21891 /* 59767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21892 /* 59771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
21893 /* 59775 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21894 /* 59779 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21895 /* 59783 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21896 /* 59787 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21897 /* 59791 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21898 /* 59794 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21899 /* 59798 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21900 /* 59802 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21901 /* 59806 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21902 /* 59810 */ // MIs[3] Operand 1
21903 /* 59810 */ // No operand predicates
21904 /* 59810 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21905 /* 59814 */ // MIs[0] src1
21906 /* 59814 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21907 /* 59819 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21908 /* 59821 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21909 /* 59828 */ // (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)
21910 /* 59828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
21911 /* 59831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21912 /* 59835 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21913 /* 59838 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21914 /* 59841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21915 /* 59848 */ GIR_RootConstrainSelectedInstOperands,
21916 /* 59849 */ // GIR_Coverage, 451,
21917 /* 59849 */ GIR_EraseRootFromParent_Done,
21918 /* 59850 */ // Label 1894: @59850
21919 /* 59850 */ GIM_Try, /*On fail goto*//*Label 1895*/ GIMT_Encode4(59938), // Rule ID 375 //
21920 /* 59855 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21921 /* 59859 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
21922 /* 59863 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21923 /* 59867 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21924 /* 59871 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21925 /* 59875 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21926 /* 59879 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21927 /* 59882 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21928 /* 59886 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21929 /* 59890 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21930 /* 59894 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21931 /* 59898 */ // MIs[3] Operand 1
21932 /* 59898 */ // No operand predicates
21933 /* 59898 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21934 /* 59902 */ // MIs[0] src1
21935 /* 59902 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21936 /* 59907 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21937 /* 59909 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21938 /* 59916 */ // (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)
21939 /* 59916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
21940 /* 59919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21941 /* 59923 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21942 /* 59926 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21943 /* 59929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21944 /* 59936 */ GIR_RootConstrainSelectedInstOperands,
21945 /* 59937 */ // GIR_Coverage, 375,
21946 /* 59937 */ GIR_EraseRootFromParent_Done,
21947 /* 59938 */ // Label 1895: @59938
21948 /* 59938 */ GIM_Reject,
21949 /* 59939 */ // Label 1884: @59939
21950 /* 59939 */ GIM_Try, /*On fail goto*//*Label 1896*/ GIMT_Encode4(60410),
21951 /* 59944 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21952 /* 59947 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21953 /* 59954 */ GIM_Try, /*On fail goto*//*Label 1897*/ GIMT_Encode4(60045), // Rule ID 22631 //
21954 /* 59959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21955 /* 59963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21956 /* 59967 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21957 /* 59971 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21958 /* 59975 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21959 /* 59979 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21960 /* 59983 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21961 /* 59986 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21962 /* 59990 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21963 /* 59997 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21964 /* 60001 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21965 /* 60005 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21966 /* 60009 */ // MIs[3] Operand 1
21967 /* 60009 */ // No operand predicates
21968 /* 60009 */ // MIs[0] dst
21969 /* 60009 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21970 /* 60014 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21971 /* 60016 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21972 /* 60023 */ // (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)
21973 /* 60023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
21974 /* 60026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21975 /* 60030 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
21976 /* 60033 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21977 /* 60036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21978 /* 60043 */ GIR_RootConstrainSelectedInstOperands,
21979 /* 60044 */ // GIR_Coverage, 22631,
21980 /* 60044 */ GIR_EraseRootFromParent_Done,
21981 /* 60045 */ // Label 1897: @60045
21982 /* 60045 */ GIM_Try, /*On fail goto*//*Label 1898*/ GIMT_Encode4(60136), // Rule ID 22639 //
21983 /* 60050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21984 /* 60054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
21985 /* 60058 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21986 /* 60062 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21987 /* 60066 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21988 /* 60070 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21989 /* 60074 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21990 /* 60077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21991 /* 60081 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21992 /* 60088 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21993 /* 60092 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21994 /* 60096 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21995 /* 60100 */ // MIs[3] Operand 1
21996 /* 60100 */ // No operand predicates
21997 /* 60100 */ // MIs[0] dst
21998 /* 60100 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21999 /* 60105 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22000 /* 60107 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22001 /* 60114 */ // (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)
22002 /* 60114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
22003 /* 60117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22004 /* 60121 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22005 /* 60124 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22006 /* 60127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22007 /* 60134 */ GIR_RootConstrainSelectedInstOperands,
22008 /* 60135 */ // GIR_Coverage, 22639,
22009 /* 60135 */ GIR_EraseRootFromParent_Done,
22010 /* 60136 */ // Label 1898: @60136
22011 /* 60136 */ GIM_Try, /*On fail goto*//*Label 1899*/ GIMT_Encode4(60227), // Rule ID 22647 //
22012 /* 60141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22013 /* 60145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22014 /* 60149 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22015 /* 60153 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22016 /* 60157 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22017 /* 60161 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22018 /* 60165 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22019 /* 60168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22020 /* 60172 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22021 /* 60179 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22022 /* 60183 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22023 /* 60187 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22024 /* 60191 */ // MIs[3] Operand 1
22025 /* 60191 */ // No operand predicates
22026 /* 60191 */ // MIs[0] dst
22027 /* 60191 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22028 /* 60196 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22029 /* 60198 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22030 /* 60205 */ // (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)
22031 /* 60205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
22032 /* 60208 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22033 /* 60212 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22034 /* 60215 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22035 /* 60218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22036 /* 60225 */ GIR_RootConstrainSelectedInstOperands,
22037 /* 60226 */ // GIR_Coverage, 22647,
22038 /* 60226 */ GIR_EraseRootFromParent_Done,
22039 /* 60227 */ // Label 1899: @60227
22040 /* 60227 */ GIM_Try, /*On fail goto*//*Label 1900*/ GIMT_Encode4(60318), // Rule ID 22663 //
22041 /* 60232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22042 /* 60236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22043 /* 60240 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22044 /* 60244 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22045 /* 60248 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22046 /* 60252 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22047 /* 60256 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22048 /* 60259 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22049 /* 60263 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22050 /* 60270 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22051 /* 60274 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22052 /* 60278 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22053 /* 60282 */ // MIs[3] Operand 1
22054 /* 60282 */ // No operand predicates
22055 /* 60282 */ // MIs[0] dst
22056 /* 60282 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22057 /* 60287 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22058 /* 60289 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22059 /* 60296 */ // (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)
22060 /* 60296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
22061 /* 60299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22062 /* 60303 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22063 /* 60306 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22064 /* 60309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22065 /* 60316 */ GIR_RootConstrainSelectedInstOperands,
22066 /* 60317 */ // GIR_Coverage, 22663,
22067 /* 60317 */ GIR_EraseRootFromParent_Done,
22068 /* 60318 */ // Label 1900: @60318
22069 /* 60318 */ GIM_Try, /*On fail goto*//*Label 1901*/ GIMT_Encode4(60409), // Rule ID 22655 //
22070 /* 60323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22071 /* 60327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22072 /* 60331 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22073 /* 60335 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22074 /* 60339 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22075 /* 60343 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22076 /* 60347 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22077 /* 60350 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22078 /* 60354 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22079 /* 60361 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22080 /* 60365 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22081 /* 60369 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22082 /* 60373 */ // MIs[3] Operand 1
22083 /* 60373 */ // No operand predicates
22084 /* 60373 */ // MIs[0] dst
22085 /* 60373 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22086 /* 60378 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22087 /* 60380 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22088 /* 60387 */ // (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)
22089 /* 60387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
22090 /* 60390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22091 /* 60394 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22092 /* 60397 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22093 /* 60400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22094 /* 60407 */ GIR_RootConstrainSelectedInstOperands,
22095 /* 60408 */ // GIR_Coverage, 22655,
22096 /* 60408 */ GIR_EraseRootFromParent_Done,
22097 /* 60409 */ // Label 1901: @60409
22098 /* 60409 */ GIM_Reject,
22099 /* 60410 */ // Label 1896: @60410
22100 /* 60410 */ GIM_Try, /*On fail goto*//*Label 1902*/ GIMT_Encode4(60843),
22101 /* 60415 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22102 /* 60418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22103 /* 60422 */ GIM_Try, /*On fail goto*//*Label 1903*/ GIMT_Encode4(60506), // Rule ID 709 //
22104 /* 60427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22105 /* 60431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
22106 /* 60435 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22107 /* 60439 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22108 /* 60443 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22109 /* 60447 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22110 /* 60451 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22111 /* 60454 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22112 /* 60458 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22113 /* 60462 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22114 /* 60466 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22115 /* 60470 */ // MIs[3] Operand 1
22116 /* 60470 */ // No operand predicates
22117 /* 60470 */ // MIs[0] src1
22118 /* 60470 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22119 /* 60475 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22120 /* 60477 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22121 /* 60484 */ // (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)
22122 /* 60484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mi),
22123 /* 60487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22124 /* 60491 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22125 /* 60494 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22126 /* 60497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22127 /* 60504 */ GIR_RootConstrainSelectedInstOperands,
22128 /* 60505 */ // GIR_Coverage, 709,
22129 /* 60505 */ GIR_EraseRootFromParent_Done,
22130 /* 60506 */ // Label 1903: @60506
22131 /* 60506 */ GIM_Try, /*On fail goto*//*Label 1904*/ GIMT_Encode4(60590), // Rule ID 677 //
22132 /* 60511 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22133 /* 60515 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
22134 /* 60519 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22135 /* 60523 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22136 /* 60527 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22137 /* 60531 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22138 /* 60535 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22139 /* 60538 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22140 /* 60542 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22141 /* 60546 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22142 /* 60550 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22143 /* 60554 */ // MIs[3] Operand 1
22144 /* 60554 */ // No operand predicates
22145 /* 60554 */ // MIs[0] src1
22146 /* 60554 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22147 /* 60559 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22148 /* 60561 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22149 /* 60568 */ // (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)
22150 /* 60568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mi),
22151 /* 60571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22152 /* 60575 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22153 /* 60578 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22154 /* 60581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22155 /* 60588 */ GIR_RootConstrainSelectedInstOperands,
22156 /* 60589 */ // GIR_Coverage, 677,
22157 /* 60589 */ GIR_EraseRootFromParent_Done,
22158 /* 60590 */ // Label 1904: @60590
22159 /* 60590 */ GIM_Try, /*On fail goto*//*Label 1905*/ GIMT_Encode4(60674), // Rule ID 741 //
22160 /* 60595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22161 /* 60599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22162 /* 60603 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22163 /* 60607 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22164 /* 60611 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22165 /* 60615 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22166 /* 60619 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22167 /* 60622 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22168 /* 60626 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22169 /* 60630 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22170 /* 60634 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22171 /* 60638 */ // MIs[3] Operand 1
22172 /* 60638 */ // No operand predicates
22173 /* 60638 */ // MIs[0] src1
22174 /* 60638 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22175 /* 60643 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22176 /* 60645 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22177 /* 60652 */ // (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)
22178 /* 60652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mi),
22179 /* 60655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22180 /* 60659 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22181 /* 60662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22182 /* 60665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22183 /* 60672 */ GIR_RootConstrainSelectedInstOperands,
22184 /* 60673 */ // GIR_Coverage, 741,
22185 /* 60673 */ GIR_EraseRootFromParent_Done,
22186 /* 60674 */ // Label 1905: @60674
22187 /* 60674 */ GIM_Try, /*On fail goto*//*Label 1906*/ GIMT_Encode4(60758), // Rule ID 773 //
22188 /* 60679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22189 /* 60683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22190 /* 60687 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22191 /* 60691 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22192 /* 60695 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22193 /* 60699 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22194 /* 60703 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22195 /* 60706 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22196 /* 60710 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22197 /* 60714 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22198 /* 60718 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22199 /* 60722 */ // MIs[3] Operand 1
22200 /* 60722 */ // No operand predicates
22201 /* 60722 */ // MIs[0] src1
22202 /* 60722 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22203 /* 60727 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22204 /* 60729 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22205 /* 60736 */ // (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)
22206 /* 60736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mi),
22207 /* 60739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22208 /* 60743 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22209 /* 60746 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22210 /* 60749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22211 /* 60756 */ GIR_RootConstrainSelectedInstOperands,
22212 /* 60757 */ // GIR_Coverage, 773,
22213 /* 60757 */ GIR_EraseRootFromParent_Done,
22214 /* 60758 */ // Label 1906: @60758
22215 /* 60758 */ GIM_Try, /*On fail goto*//*Label 1907*/ GIMT_Encode4(60842), // Rule ID 645 //
22216 /* 60763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22217 /* 60767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
22218 /* 60771 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22219 /* 60775 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22220 /* 60779 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22221 /* 60783 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22222 /* 60787 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22223 /* 60790 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22224 /* 60794 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22225 /* 60798 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22226 /* 60802 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22227 /* 60806 */ // MIs[3] Operand 1
22228 /* 60806 */ // No operand predicates
22229 /* 60806 */ // MIs[0] src1
22230 /* 60806 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22231 /* 60811 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22232 /* 60813 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22233 /* 60820 */ // (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)
22234 /* 60820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mi),
22235 /* 60823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22236 /* 60827 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22237 /* 60830 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22238 /* 60833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22239 /* 60840 */ GIR_RootConstrainSelectedInstOperands,
22240 /* 60841 */ // GIR_Coverage, 645,
22241 /* 60841 */ GIR_EraseRootFromParent_Done,
22242 /* 60842 */ // Label 1907: @60842
22243 /* 60842 */ GIM_Reject,
22244 /* 60843 */ // Label 1902: @60843
22245 /* 60843 */ GIM_Try, /*On fail goto*//*Label 1908*/ GIMT_Encode4(61651),
22246 /* 60848 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22247 /* 60851 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22248 /* 60858 */ GIM_Try, /*On fail goto*//*Label 1909*/ GIMT_Encode4(60946), // Rule ID 22635 //
22249 /* 60863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22250 /* 60867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22251 /* 60871 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22252 /* 60875 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22253 /* 60879 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22254 /* 60883 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22255 /* 60887 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22256 /* 60890 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22257 /* 60894 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22258 /* 60901 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22259 /* 60905 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22260 /* 60910 */ // MIs[0] dst
22261 /* 60910 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22262 /* 60915 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22263 /* 60917 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22264 /* 60924 */ // (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)
22265 /* 60924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22266 /* 60927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22267 /* 60931 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22268 /* 60935 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22269 /* 60938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22270 /* 60944 */ GIR_RootConstrainSelectedInstOperands,
22271 /* 60945 */ // GIR_Coverage, 22635,
22272 /* 60945 */ GIR_EraseRootFromParent_Done,
22273 /* 60946 */ // Label 1909: @60946
22274 /* 60946 */ GIM_Try, /*On fail goto*//*Label 1910*/ GIMT_Encode4(61034), // Rule ID 26262 //
22275 /* 60951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22276 /* 60955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22277 /* 60959 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22278 /* 60963 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22279 /* 60967 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22280 /* 60972 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22281 /* 60976 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22282 /* 60980 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22283 /* 60983 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22284 /* 60987 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22285 /* 60994 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22286 /* 60998 */ // MIs[0] dst
22287 /* 60998 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22288 /* 61003 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22289 /* 61005 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22290 /* 61012 */ // (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)
22291 /* 61012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22292 /* 61015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22293 /* 61019 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22294 /* 61023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22295 /* 61026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22296 /* 61032 */ GIR_RootConstrainSelectedInstOperands,
22297 /* 61033 */ // GIR_Coverage, 26262,
22298 /* 61033 */ GIR_EraseRootFromParent_Done,
22299 /* 61034 */ // Label 1910: @61034
22300 /* 61034 */ GIM_Try, /*On fail goto*//*Label 1911*/ GIMT_Encode4(61122), // Rule ID 22643 //
22301 /* 61039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22302 /* 61043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22303 /* 61047 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22304 /* 61051 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22305 /* 61055 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22306 /* 61059 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22307 /* 61063 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22308 /* 61066 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22309 /* 61070 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22310 /* 61077 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22311 /* 61081 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22312 /* 61086 */ // MIs[0] dst
22313 /* 61086 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22314 /* 61091 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22315 /* 61093 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22316 /* 61100 */ // (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)
22317 /* 61100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22318 /* 61103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22319 /* 61107 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22320 /* 61111 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22321 /* 61114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22322 /* 61120 */ GIR_RootConstrainSelectedInstOperands,
22323 /* 61121 */ // GIR_Coverage, 22643,
22324 /* 61121 */ GIR_EraseRootFromParent_Done,
22325 /* 61122 */ // Label 1911: @61122
22326 /* 61122 */ GIM_Try, /*On fail goto*//*Label 1912*/ GIMT_Encode4(61210), // Rule ID 26266 //
22327 /* 61127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22328 /* 61131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22329 /* 61135 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22330 /* 61139 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22331 /* 61143 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22332 /* 61148 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22333 /* 61152 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22334 /* 61156 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22335 /* 61159 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22336 /* 61163 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22337 /* 61170 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22338 /* 61174 */ // MIs[0] dst
22339 /* 61174 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22340 /* 61179 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22341 /* 61181 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22342 /* 61188 */ // (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)
22343 /* 61188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22344 /* 61191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22345 /* 61195 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22346 /* 61199 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22347 /* 61202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22348 /* 61208 */ GIR_RootConstrainSelectedInstOperands,
22349 /* 61209 */ // GIR_Coverage, 26266,
22350 /* 61209 */ GIR_EraseRootFromParent_Done,
22351 /* 61210 */ // Label 1912: @61210
22352 /* 61210 */ GIM_Try, /*On fail goto*//*Label 1913*/ GIMT_Encode4(61298), // Rule ID 22651 //
22353 /* 61215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22354 /* 61219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22355 /* 61223 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22356 /* 61227 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22357 /* 61231 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22358 /* 61235 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22359 /* 61239 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22360 /* 61242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22361 /* 61246 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22362 /* 61253 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22363 /* 61257 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22364 /* 61262 */ // MIs[0] dst
22365 /* 61262 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22366 /* 61267 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22367 /* 61269 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22368 /* 61276 */ // (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)
22369 /* 61276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22370 /* 61279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22371 /* 61283 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22372 /* 61287 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22373 /* 61290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22374 /* 61296 */ GIR_RootConstrainSelectedInstOperands,
22375 /* 61297 */ // GIR_Coverage, 22651,
22376 /* 61297 */ GIR_EraseRootFromParent_Done,
22377 /* 61298 */ // Label 1913: @61298
22378 /* 61298 */ GIM_Try, /*On fail goto*//*Label 1914*/ GIMT_Encode4(61386), // Rule ID 26270 //
22379 /* 61303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22380 /* 61307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22381 /* 61311 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22382 /* 61315 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22383 /* 61319 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22384 /* 61324 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22385 /* 61328 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22386 /* 61332 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22387 /* 61335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22388 /* 61339 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22389 /* 61346 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22390 /* 61350 */ // MIs[0] dst
22391 /* 61350 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22392 /* 61355 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22393 /* 61357 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22394 /* 61364 */ // (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)
22395 /* 61364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22396 /* 61367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22397 /* 61371 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22398 /* 61375 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22399 /* 61378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22400 /* 61384 */ GIR_RootConstrainSelectedInstOperands,
22401 /* 61385 */ // GIR_Coverage, 26270,
22402 /* 61385 */ GIR_EraseRootFromParent_Done,
22403 /* 61386 */ // Label 1914: @61386
22404 /* 61386 */ GIM_Try, /*On fail goto*//*Label 1915*/ GIMT_Encode4(61474), // Rule ID 22667 //
22405 /* 61391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22406 /* 61395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22407 /* 61399 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22408 /* 61403 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22409 /* 61407 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22410 /* 61411 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22411 /* 61415 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22412 /* 61418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22413 /* 61422 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22414 /* 61429 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22415 /* 61433 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22416 /* 61438 */ // MIs[0] dst
22417 /* 61438 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22418 /* 61443 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22419 /* 61445 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22420 /* 61452 */ // (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)
22421 /* 61452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
22422 /* 61455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22423 /* 61459 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22424 /* 61463 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22425 /* 61466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22426 /* 61472 */ GIR_RootConstrainSelectedInstOperands,
22427 /* 61473 */ // GIR_Coverage, 22667,
22428 /* 61473 */ GIR_EraseRootFromParent_Done,
22429 /* 61474 */ // Label 1915: @61474
22430 /* 61474 */ GIM_Try, /*On fail goto*//*Label 1916*/ GIMT_Encode4(61562), // Rule ID 22659 //
22431 /* 61479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22432 /* 61483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22433 /* 61487 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22434 /* 61491 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22435 /* 61495 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22436 /* 61499 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22437 /* 61503 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22438 /* 61506 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22439 /* 61510 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22440 /* 61517 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22441 /* 61521 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22442 /* 61526 */ // MIs[0] dst
22443 /* 61526 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22444 /* 61531 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22445 /* 61533 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22446 /* 61540 */ // (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)
22447 /* 61540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22448 /* 61543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22449 /* 61547 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22450 /* 61551 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22451 /* 61554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22452 /* 61560 */ GIR_RootConstrainSelectedInstOperands,
22453 /* 61561 */ // GIR_Coverage, 22659,
22454 /* 61561 */ GIR_EraseRootFromParent_Done,
22455 /* 61562 */ // Label 1916: @61562
22456 /* 61562 */ GIM_Try, /*On fail goto*//*Label 1917*/ GIMT_Encode4(61650), // Rule ID 26274 //
22457 /* 61567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22458 /* 61571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22459 /* 61575 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22460 /* 61579 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22461 /* 61583 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22462 /* 61588 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22463 /* 61592 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22464 /* 61596 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22465 /* 61599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22466 /* 61603 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22467 /* 61610 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22468 /* 61614 */ // MIs[0] dst
22469 /* 61614 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22470 /* 61619 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22471 /* 61621 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22472 /* 61628 */ // (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)
22473 /* 61628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22474 /* 61631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22475 /* 61635 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22476 /* 61639 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22477 /* 61642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22478 /* 61648 */ GIR_RootConstrainSelectedInstOperands,
22479 /* 61649 */ // GIR_Coverage, 26274,
22480 /* 61649 */ GIR_EraseRootFromParent_Done,
22481 /* 61650 */ // Label 1917: @61650
22482 /* 61650 */ GIM_Reject,
22483 /* 61651 */ // Label 1908: @61651
22484 /* 61651 */ GIM_Try, /*On fail goto*//*Label 1918*/ GIMT_Encode4(62895),
22485 /* 61656 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22486 /* 61659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22487 /* 61663 */ GIM_Try, /*On fail goto*//*Label 1919*/ GIMT_Encode4(61744), // Rule ID 407 //
22488 /* 61668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22489 /* 61672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22490 /* 61676 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22491 /* 61680 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22492 /* 61684 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22493 /* 61688 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22494 /* 61692 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22495 /* 61695 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22496 /* 61699 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22497 /* 61703 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22498 /* 61708 */ // MIs[0] src1
22499 /* 61708 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22500 /* 61713 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22501 /* 61715 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22502 /* 61722 */ // (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)
22503 /* 61722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22504 /* 61725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22505 /* 61729 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22506 /* 61733 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22507 /* 61736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22508 /* 61742 */ GIR_RootConstrainSelectedInstOperands,
22509 /* 61743 */ // GIR_Coverage, 407,
22510 /* 61743 */ GIR_EraseRootFromParent_Done,
22511 /* 61744 */ // Label 1919: @61744
22512 /* 61744 */ GIM_Try, /*On fail goto*//*Label 1920*/ GIMT_Encode4(61825), // Rule ID 23478 //
22513 /* 61749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22514 /* 61753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22515 /* 61757 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22516 /* 61761 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22517 /* 61765 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22518 /* 61770 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22519 /* 61774 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22520 /* 61778 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22521 /* 61781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22522 /* 61785 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22523 /* 61789 */ // MIs[0] src1
22524 /* 61789 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22525 /* 61794 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22526 /* 61796 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22527 /* 61803 */ // (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)
22528 /* 61803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22529 /* 61806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22530 /* 61810 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22531 /* 61814 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22532 /* 61817 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22533 /* 61823 */ GIR_RootConstrainSelectedInstOperands,
22534 /* 61824 */ // GIR_Coverage, 23478,
22535 /* 61824 */ GIR_EraseRootFromParent_Done,
22536 /* 61825 */ // Label 1920: @61825
22537 /* 61825 */ GIM_Try, /*On fail goto*//*Label 1921*/ GIMT_Encode4(61906), // Rule ID 299 //
22538 /* 61830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22539 /* 61834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22540 /* 61838 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22541 /* 61842 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22542 /* 61846 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22543 /* 61850 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22544 /* 61854 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22545 /* 61857 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22546 /* 61861 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22547 /* 61865 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22548 /* 61870 */ // MIs[0] src1
22549 /* 61870 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22550 /* 61875 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22551 /* 61877 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22552 /* 61884 */ // (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)
22553 /* 61884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22554 /* 61887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22555 /* 61891 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22556 /* 61895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22557 /* 61898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22558 /* 61904 */ GIR_RootConstrainSelectedInstOperands,
22559 /* 61905 */ // GIR_Coverage, 299,
22560 /* 61905 */ GIR_EraseRootFromParent_Done,
22561 /* 61906 */ // Label 1921: @61906
22562 /* 61906 */ GIM_Try, /*On fail goto*//*Label 1922*/ GIMT_Encode4(61987), // Rule ID 23442 //
22563 /* 61911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22564 /* 61915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22565 /* 61919 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22566 /* 61923 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22567 /* 61927 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22568 /* 61932 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22569 /* 61936 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22570 /* 61940 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22571 /* 61943 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22572 /* 61947 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22573 /* 61951 */ // MIs[0] src1
22574 /* 61951 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22575 /* 61956 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22576 /* 61958 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22577 /* 61965 */ // (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)
22578 /* 61965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22579 /* 61968 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22580 /* 61972 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22581 /* 61976 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22582 /* 61979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22583 /* 61985 */ GIR_RootConstrainSelectedInstOperands,
22584 /* 61986 */ // GIR_Coverage, 23442,
22585 /* 61986 */ GIR_EraseRootFromParent_Done,
22586 /* 61987 */ // Label 1922: @61987
22587 /* 61987 */ GIM_Try, /*On fail goto*//*Label 1923*/ GIMT_Encode4(62078), // Rule ID 725 //
22588 /* 61992 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22589 /* 61996 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
22590 /* 62000 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22591 /* 62004 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22592 /* 62008 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22593 /* 62012 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22594 /* 62016 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22595 /* 62019 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22596 /* 62023 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22597 /* 62027 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22598 /* 62032 */ // MIs[0] src1
22599 /* 62032 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22600 /* 62037 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22601 /* 62039 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22602 /* 62046 */ // (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)
22603 /* 62046 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22604 /* 62050 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22605 /* 62056 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22606 /* 62060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mCL),
22607 /* 62063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22608 /* 62067 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22609 /* 62070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22610 /* 62076 */ GIR_RootConstrainSelectedInstOperands,
22611 /* 62077 */ // GIR_Coverage, 725,
22612 /* 62077 */ GIR_EraseRootFromParent_Done,
22613 /* 62078 */ // Label 1923: @62078
22614 /* 62078 */ GIM_Try, /*On fail goto*//*Label 1924*/ GIMT_Encode4(62169), // Rule ID 693 //
22615 /* 62083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22616 /* 62087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
22617 /* 62091 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22618 /* 62095 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22619 /* 62099 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22620 /* 62103 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22621 /* 62107 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22622 /* 62110 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22623 /* 62114 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22624 /* 62118 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22625 /* 62123 */ // MIs[0] src1
22626 /* 62123 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22627 /* 62128 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22628 /* 62130 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22629 /* 62137 */ // (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)
22630 /* 62137 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22631 /* 62141 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22632 /* 62147 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22633 /* 62151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mCL),
22634 /* 62154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22635 /* 62158 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22636 /* 62161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22637 /* 62167 */ GIR_RootConstrainSelectedInstOperands,
22638 /* 62168 */ // GIR_Coverage, 693,
22639 /* 62168 */ GIR_EraseRootFromParent_Done,
22640 /* 62169 */ // Label 1924: @62169
22641 /* 62169 */ GIM_Try, /*On fail goto*//*Label 1925*/ GIMT_Encode4(62250), // Rule ID 335 //
22642 /* 62174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22643 /* 62178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22644 /* 62182 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22645 /* 62186 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22646 /* 62190 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22647 /* 62194 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22648 /* 62198 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22649 /* 62201 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22650 /* 62205 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22651 /* 62209 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22652 /* 62214 */ // MIs[0] src1
22653 /* 62214 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22654 /* 62219 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22655 /* 62221 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22656 /* 62228 */ // (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)
22657 /* 62228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22658 /* 62231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22659 /* 62235 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22660 /* 62239 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22661 /* 62242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22662 /* 62248 */ GIR_RootConstrainSelectedInstOperands,
22663 /* 62249 */ // GIR_Coverage, 335,
22664 /* 62249 */ GIR_EraseRootFromParent_Done,
22665 /* 62250 */ // Label 1925: @62250
22666 /* 62250 */ GIM_Try, /*On fail goto*//*Label 1926*/ GIMT_Encode4(62331), // Rule ID 23454 //
22667 /* 62255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22668 /* 62259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22669 /* 62263 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22670 /* 62267 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22671 /* 62271 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22672 /* 62276 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22673 /* 62280 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22674 /* 62284 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22675 /* 62287 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22676 /* 62291 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22677 /* 62295 */ // MIs[0] src1
22678 /* 62295 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22679 /* 62300 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22680 /* 62302 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22681 /* 62309 */ // (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)
22682 /* 62309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22683 /* 62312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22684 /* 62316 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22685 /* 62320 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22686 /* 62323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22687 /* 62329 */ GIR_RootConstrainSelectedInstOperands,
22688 /* 62330 */ // GIR_Coverage, 23454,
22689 /* 62330 */ GIR_EraseRootFromParent_Done,
22690 /* 62331 */ // Label 1926: @62331
22691 /* 62331 */ GIM_Try, /*On fail goto*//*Label 1927*/ GIMT_Encode4(62422), // Rule ID 757 //
22692 /* 62336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22693 /* 62340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22694 /* 62344 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22695 /* 62348 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22696 /* 62352 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22697 /* 62356 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22698 /* 62360 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22699 /* 62363 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22700 /* 62367 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22701 /* 62371 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22702 /* 62376 */ // MIs[0] src1
22703 /* 62376 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22704 /* 62381 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22705 /* 62383 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22706 /* 62390 */ // (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)
22707 /* 62390 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22708 /* 62394 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22709 /* 62400 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22710 /* 62404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mCL),
22711 /* 62407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22712 /* 62411 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22713 /* 62414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22714 /* 62420 */ GIR_RootConstrainSelectedInstOperands,
22715 /* 62421 */ // GIR_Coverage, 757,
22716 /* 62421 */ GIR_EraseRootFromParent_Done,
22717 /* 62422 */ // Label 1927: @62422
22718 /* 62422 */ GIM_Try, /*On fail goto*//*Label 1928*/ GIMT_Encode4(62513), // Rule ID 789 //
22719 /* 62427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22720 /* 62431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22721 /* 62435 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22722 /* 62439 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22723 /* 62443 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22724 /* 62447 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22725 /* 62451 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22726 /* 62454 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22727 /* 62458 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22728 /* 62462 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22729 /* 62467 */ // MIs[0] src1
22730 /* 62467 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22731 /* 62472 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22732 /* 62474 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22733 /* 62481 */ // (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)
22734 /* 62481 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22735 /* 62485 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22736 /* 62491 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22737 /* 62495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mCL),
22738 /* 62498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22739 /* 62502 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22740 /* 62505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22741 /* 62511 */ GIR_RootConstrainSelectedInstOperands,
22742 /* 62512 */ // GIR_Coverage, 789,
22743 /* 62512 */ GIR_EraseRootFromParent_Done,
22744 /* 62513 */ // Label 1928: @62513
22745 /* 62513 */ GIM_Try, /*On fail goto*//*Label 1929*/ GIMT_Encode4(62604), // Rule ID 661 //
22746 /* 62518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22747 /* 62522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
22748 /* 62526 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22749 /* 62530 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22750 /* 62534 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22751 /* 62538 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22752 /* 62542 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22753 /* 62545 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22754 /* 62549 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22755 /* 62553 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22756 /* 62558 */ // MIs[0] src1
22757 /* 62558 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22758 /* 62563 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22759 /* 62565 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22760 /* 62572 */ // (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)
22761 /* 62572 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22762 /* 62576 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22763 /* 62582 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22764 /* 62586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mCL),
22765 /* 62589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22766 /* 62593 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22767 /* 62596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22768 /* 62602 */ GIR_RootConstrainSelectedInstOperands,
22769 /* 62603 */ // GIR_Coverage, 661,
22770 /* 62603 */ GIR_EraseRootFromParent_Done,
22771 /* 62604 */ // Label 1929: @62604
22772 /* 62604 */ GIM_Try, /*On fail goto*//*Label 1930*/ GIMT_Encode4(62685), // Rule ID 443 //
22773 /* 62609 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22774 /* 62613 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22775 /* 62617 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22776 /* 62621 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22777 /* 62625 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22778 /* 62629 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22779 /* 62633 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22780 /* 62636 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22781 /* 62640 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22782 /* 62644 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22783 /* 62649 */ // MIs[0] src1
22784 /* 62649 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22785 /* 62654 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22786 /* 62656 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22787 /* 62663 */ // (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)
22788 /* 62663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
22789 /* 62666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22790 /* 62670 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22791 /* 62674 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22792 /* 62677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22793 /* 62683 */ GIR_RootConstrainSelectedInstOperands,
22794 /* 62684 */ // GIR_Coverage, 443,
22795 /* 62684 */ GIR_EraseRootFromParent_Done,
22796 /* 62685 */ // Label 1930: @62685
22797 /* 62685 */ GIM_Try, /*On fail goto*//*Label 1931*/ GIMT_Encode4(62766), // Rule ID 371 //
22798 /* 62690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22799 /* 62694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22800 /* 62698 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22801 /* 62702 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22802 /* 62706 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22803 /* 62710 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22804 /* 62714 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22805 /* 62717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22806 /* 62721 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22807 /* 62725 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22808 /* 62730 */ // MIs[0] src1
22809 /* 62730 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22810 /* 62735 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22811 /* 62737 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22812 /* 62744 */ // (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)
22813 /* 62744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22814 /* 62747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22815 /* 62751 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22816 /* 62755 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22817 /* 62758 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22818 /* 62764 */ GIR_RootConstrainSelectedInstOperands,
22819 /* 62765 */ // GIR_Coverage, 371,
22820 /* 62765 */ GIR_EraseRootFromParent_Done,
22821 /* 62766 */ // Label 1931: @62766
22822 /* 62766 */ GIM_Try, /*On fail goto*//*Label 1932*/ GIMT_Encode4(62847), // Rule ID 23466 //
22823 /* 62771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22824 /* 62775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22825 /* 62779 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22826 /* 62783 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22827 /* 62787 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22828 /* 62792 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22829 /* 62796 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22830 /* 62800 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22831 /* 62803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22832 /* 62807 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22833 /* 62811 */ // MIs[0] src1
22834 /* 62811 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22835 /* 62816 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22836 /* 62818 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22837 /* 62825 */ // (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)
22838 /* 62825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22839 /* 62828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22840 /* 62832 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22841 /* 62836 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22842 /* 62839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22843 /* 62845 */ GIR_RootConstrainSelectedInstOperands,
22844 /* 62846 */ // GIR_Coverage, 23466,
22845 /* 62846 */ GIR_EraseRootFromParent_Done,
22846 /* 62847 */ // Label 1932: @62847
22847 /* 62847 */ GIM_Try, /*On fail goto*//*Label 1933*/ GIMT_Encode4(62894), // Rule ID 24 //
22848 /* 62852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22849 /* 62856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22850 /* 62860 */ // MIs[1] Operand 1
22851 /* 62860 */ // No operand predicates
22852 /* 62860 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22853 /* 62864 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22854 /* 62868 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22855 /* 62870 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22856 /* 62877 */ // (st (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
22857 /* 62877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
22858 /* 62880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22859 /* 62884 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
22860 /* 62887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
22861 /* 62892 */ GIR_RootConstrainSelectedInstOperands,
22862 /* 62893 */ // GIR_Coverage, 24,
22863 /* 62893 */ GIR_EraseRootFromParent_Done,
22864 /* 62894 */ // Label 1933: @62894
22865 /* 62894 */ GIM_Reject,
22866 /* 62895 */ // Label 1918: @62895
22867 /* 62895 */ GIM_Try, /*On fail goto*//*Label 1934*/ GIMT_Encode4(62989),
22868 /* 62900 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22869 /* 62903 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22870 /* 62910 */ GIM_Try, /*On fail goto*//*Label 1935*/ GIMT_Encode4(62953), // Rule ID 22711 //
22871 /* 62915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22872 /* 62919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22873 /* 62923 */ // MIs[1] Operand 1
22874 /* 62923 */ // No operand predicates
22875 /* 62923 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22876 /* 62927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22877 /* 62929 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22878 /* 62936 */ // (atomic_store (imm:{ *:[i8] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
22879 /* 62936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
22880 /* 62939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22881 /* 62943 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
22882 /* 62946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
22883 /* 62951 */ GIR_RootConstrainSelectedInstOperands,
22884 /* 62952 */ // GIR_Coverage, 22711,
22885 /* 62952 */ GIR_EraseRootFromParent_Done,
22886 /* 62953 */ // Label 1935: @62953
22887 /* 62953 */ GIM_Try, /*On fail goto*//*Label 1936*/ GIMT_Encode4(62988), // Rule ID 22715 //
22888 /* 62958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22889 /* 62962 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22890 /* 62966 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22891 /* 62973 */ // (atomic_store GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
22892 /* 62973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
22893 /* 62976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22894 /* 62980 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
22895 /* 62982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22896 /* 62986 */ GIR_RootConstrainSelectedInstOperands,
22897 /* 62987 */ // GIR_Coverage, 22715,
22898 /* 62987 */ GIR_EraseRootFromParent_Done,
22899 /* 62988 */ // Label 1936: @62988
22900 /* 62988 */ GIM_Reject,
22901 /* 62989 */ // Label 1934: @62989
22902 /* 62989 */ GIM_Try, /*On fail goto*//*Label 1937*/ GIMT_Encode4(63031), // Rule ID 32 //
22903 /* 62994 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22904 /* 62997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22905 /* 63001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22906 /* 63005 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22907 /* 63009 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22908 /* 63016 */ // (st GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
22909 /* 63016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
22910 /* 63019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22911 /* 63023 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
22912 /* 63025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22913 /* 63029 */ GIR_RootConstrainSelectedInstOperands,
22914 /* 63030 */ // GIR_Coverage, 32,
22915 /* 63030 */ GIR_EraseRootFromParent_Done,
22916 /* 63031 */ // Label 1937: @63031
22917 /* 63031 */ GIM_Reject,
22918 /* 63032 */ // Label 1857: @63032
22919 /* 63032 */ GIM_Try, /*On fail goto*//*Label 1938*/ GIMT_Encode4(63381),
22920 /* 63037 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22921 /* 63040 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22922 /* 63047 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1939*/ GIMT_Encode4(63132), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22696 //
22923 /* 63054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22924 /* 63058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22925 /* 63062 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
22926 /* 63066 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
22927 /* 63070 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22928 /* 63074 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22929 /* 63078 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22930 /* 63081 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22931 /* 63085 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22932 /* 63092 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22933 /* 63096 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
22934 /* 63100 */ // MIs[0] dst
22935 /* 63100 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22936 /* 63105 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22937 /* 63107 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22938 /* 63114 */ // (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)
22939 /* 63114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
22940 /* 63117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22941 /* 63121 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22942 /* 63124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22943 /* 63130 */ GIR_RootConstrainSelectedInstOperands,
22944 /* 63131 */ // GIR_Coverage, 22696,
22945 /* 63131 */ GIR_EraseRootFromParent_Done,
22946 /* 63132 */ // Label 1939: @63132
22947 /* 63132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1940*/ GIMT_Encode4(63217), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22700 //
22948 /* 63139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22949 /* 63143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22950 /* 63147 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
22951 /* 63151 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
22952 /* 63155 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22953 /* 63159 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22954 /* 63163 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22955 /* 63166 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22956 /* 63170 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22957 /* 63177 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22958 /* 63181 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22959 /* 63185 */ // MIs[0] dst
22960 /* 63185 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22961 /* 63190 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22962 /* 63192 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22963 /* 63199 */ // (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)
22964 /* 63199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
22965 /* 63202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22966 /* 63206 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22967 /* 63209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22968 /* 63215 */ GIR_RootConstrainSelectedInstOperands,
22969 /* 63216 */ // GIR_Coverage, 22700,
22970 /* 63216 */ GIR_EraseRootFromParent_Done,
22971 /* 63217 */ // Label 1940: @63217
22972 /* 63217 */ GIM_Try, /*On fail goto*//*Label 1941*/ GIMT_Encode4(63300), // Rule ID 22704 //
22973 /* 63222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22974 /* 63226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22975 /* 63230 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
22976 /* 63234 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
22977 /* 63238 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
22978 /* 63242 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22979 /* 63246 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22980 /* 63250 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22981 /* 63253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22982 /* 63257 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22983 /* 63264 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22984 /* 63268 */ // MIs[0] dst
22985 /* 63268 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22986 /* 63273 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22987 /* 63275 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22988 /* 63282 */ // (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)
22989 /* 63282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
22990 /* 63285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22991 /* 63289 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22992 /* 63292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22993 /* 63298 */ GIR_RootConstrainSelectedInstOperands,
22994 /* 63299 */ // GIR_Coverage, 22704,
22995 /* 63299 */ GIR_EraseRootFromParent_Done,
22996 /* 63300 */ // Label 1941: @63300
22997 /* 63300 */ GIM_Try, /*On fail goto*//*Label 1942*/ GIMT_Encode4(63380), // Rule ID 22708 //
22998 /* 63305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22999 /* 63309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23000 /* 63313 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23001 /* 63317 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23002 /* 63321 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23003 /* 63325 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23004 /* 63329 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23005 /* 63332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23006 /* 63336 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23007 /* 63343 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23008 /* 63347 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23009 /* 63351 */ // MIs[0] dst
23010 /* 63351 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23011 /* 63356 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23012 /* 63358 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23013 /* 63365 */ // (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)
23014 /* 63365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
23015 /* 63368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23016 /* 63372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23017 /* 63378 */ GIR_RootConstrainSelectedInstOperands,
23018 /* 63379 */ // GIR_Coverage, 22708,
23019 /* 63379 */ GIR_EraseRootFromParent_Done,
23020 /* 63380 */ // Label 1942: @63380
23021 /* 63380 */ GIM_Reject,
23022 /* 63381 */ // Label 1938: @63381
23023 /* 63381 */ GIM_Try, /*On fail goto*//*Label 1943*/ GIMT_Encode4(64377),
23024 /* 63386 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23025 /* 63389 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23026 /* 63393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1944*/ GIMT_Encode4(63471), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 224 //
23027 /* 63400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23028 /* 63404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23029 /* 63408 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23030 /* 63412 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23031 /* 63416 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23032 /* 63420 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23033 /* 63424 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23034 /* 63427 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23035 /* 63431 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23036 /* 63435 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
23037 /* 63439 */ // MIs[0] src1
23038 /* 63439 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23039 /* 63444 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23040 /* 63446 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23041 /* 63453 */ // (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)
23042 /* 63453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
23043 /* 63456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23044 /* 63460 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23045 /* 63463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23046 /* 63469 */ GIR_RootConstrainSelectedInstOperands,
23047 /* 63470 */ // GIR_Coverage, 224,
23048 /* 63470 */ GIR_EraseRootFromParent_Done,
23049 /* 63471 */ // Label 1944: @63471
23050 /* 63471 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1945*/ GIMT_Encode4(63549), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 227 //
23051 /* 63478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23052 /* 63482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23053 /* 63486 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23054 /* 63490 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23055 /* 63494 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23056 /* 63498 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23057 /* 63502 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23058 /* 63505 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23059 /* 63509 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23060 /* 63513 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23061 /* 63517 */ // MIs[0] src1
23062 /* 63517 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23063 /* 63522 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23064 /* 63524 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23065 /* 63531 */ // (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)
23066 /* 63531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
23067 /* 63534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23068 /* 63538 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23069 /* 63541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23070 /* 63547 */ GIR_RootConstrainSelectedInstOperands,
23071 /* 63548 */ // GIR_Coverage, 227,
23072 /* 63548 */ GIR_EraseRootFromParent_Done,
23073 /* 63549 */ // Label 1945: @63549
23074 /* 63549 */ GIM_Try, /*On fail goto*//*Label 1946*/ GIMT_Encode4(63635), // Rule ID 22857 //
23075 /* 63554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23076 /* 63558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23077 /* 63562 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23078 /* 63566 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23079 /* 63570 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23080 /* 63574 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23081 /* 63578 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23082 /* 63581 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23083 /* 63585 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23084 /* 63589 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
23085 /* 63600 */ // MIs[0] dst
23086 /* 63600 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23087 /* 63605 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23088 /* 63607 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23089 /* 63614 */ // (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] })
23090 /* 63614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23091 /* 63617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23092 /* 63621 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
23093 /* 63624 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23094 /* 63627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23095 /* 63633 */ GIR_RootConstrainSelectedInstOperands,
23096 /* 63634 */ // GIR_Coverage, 22857,
23097 /* 63634 */ GIR_EraseRootFromParent_Done,
23098 /* 63635 */ // Label 1946: @63635
23099 /* 63635 */ GIM_Try, /*On fail goto*//*Label 1947*/ GIMT_Encode4(63711), // Rule ID 17670 //
23100 /* 63640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23101 /* 63644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23102 /* 63648 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23103 /* 63652 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23104 /* 63656 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23105 /* 63660 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23106 /* 63664 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23107 /* 63667 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23108 /* 63671 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23109 /* 63675 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23110 /* 63679 */ // MIs[0] dst
23111 /* 63679 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23112 /* 63684 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23113 /* 63686 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23114 /* 63693 */ // (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)
23115 /* 63693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16m1),
23116 /* 63696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23117 /* 63700 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23118 /* 63703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23119 /* 63709 */ GIR_RootConstrainSelectedInstOperands,
23120 /* 63710 */ // GIR_Coverage, 17670,
23121 /* 63710 */ GIR_EraseRootFromParent_Done,
23122 /* 63711 */ // Label 1947: @63711
23123 /* 63711 */ GIM_Try, /*On fail goto*//*Label 1948*/ GIMT_Encode4(63787), // Rule ID 17674 //
23124 /* 63716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23125 /* 63720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23126 /* 63724 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23127 /* 63728 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23128 /* 63732 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23129 /* 63736 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23130 /* 63740 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23131 /* 63743 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23132 /* 63747 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23133 /* 63751 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23134 /* 63755 */ // MIs[0] dst
23135 /* 63755 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23136 /* 63760 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23137 /* 63762 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23138 /* 63769 */ // (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)
23139 /* 63769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16m1),
23140 /* 63772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23141 /* 63776 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23142 /* 63779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23143 /* 63785 */ GIR_RootConstrainSelectedInstOperands,
23144 /* 63786 */ // GIR_Coverage, 17674,
23145 /* 63786 */ GIR_EraseRootFromParent_Done,
23146 /* 63787 */ // Label 1948: @63787
23147 /* 63787 */ GIM_Try, /*On fail goto*//*Label 1949*/ GIMT_Encode4(63863), // Rule ID 260 //
23148 /* 63792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23149 /* 63796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23150 /* 63800 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23151 /* 63804 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23152 /* 63808 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23153 /* 63812 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23154 /* 63816 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23155 /* 63820 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23156 /* 63823 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23157 /* 63827 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23158 /* 63831 */ // MIs[0] src1
23159 /* 63831 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23160 /* 63836 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23161 /* 63838 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23162 /* 63845 */ // (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)
23163 /* 63845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
23164 /* 63848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23165 /* 63852 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23166 /* 63855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23167 /* 63861 */ GIR_RootConstrainSelectedInstOperands,
23168 /* 63862 */ // GIR_Coverage, 260,
23169 /* 63862 */ GIR_EraseRootFromParent_Done,
23170 /* 63863 */ // Label 1949: @63863
23171 /* 63863 */ GIM_Try, /*On fail goto*//*Label 1950*/ GIMT_Encode4(63936), // Rule ID 268 //
23172 /* 63868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23173 /* 63872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23174 /* 63876 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23175 /* 63880 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23176 /* 63884 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23177 /* 63888 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23178 /* 63892 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23179 /* 63895 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23180 /* 63899 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23181 /* 63903 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23182 /* 63907 */ // MIs[0] src1
23183 /* 63907 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23184 /* 63912 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23185 /* 63914 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23186 /* 63921 */ // (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)
23187 /* 63921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
23188 /* 63924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23189 /* 63928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23190 /* 63934 */ GIR_RootConstrainSelectedInstOperands,
23191 /* 63935 */ // GIR_Coverage, 268,
23192 /* 63935 */ GIR_EraseRootFromParent_Done,
23193 /* 63936 */ // Label 1950: @63936
23194 /* 63936 */ GIM_Try, /*On fail goto*//*Label 1951*/ GIMT_Encode4(64024), // Rule ID 412 //
23195 /* 63941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23196 /* 63945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23197 /* 63949 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23198 /* 63953 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23199 /* 63957 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23200 /* 63961 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23201 /* 63965 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23202 /* 63968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23203 /* 63972 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23204 /* 63976 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23205 /* 63980 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23206 /* 63984 */ // MIs[3] Operand 1
23207 /* 63984 */ // No operand predicates
23208 /* 63984 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23209 /* 63988 */ // MIs[0] src1
23210 /* 63988 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23211 /* 63993 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23212 /* 63995 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23213 /* 64002 */ // (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)
23214 /* 64002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
23215 /* 64005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23216 /* 64009 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23217 /* 64012 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23218 /* 64015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23219 /* 64022 */ GIR_RootConstrainSelectedInstOperands,
23220 /* 64023 */ // GIR_Coverage, 412,
23221 /* 64023 */ GIR_EraseRootFromParent_Done,
23222 /* 64024 */ // Label 1951: @64024
23223 /* 64024 */ GIM_Try, /*On fail goto*//*Label 1952*/ GIMT_Encode4(64112), // Rule ID 304 //
23224 /* 64029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23225 /* 64033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23226 /* 64037 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23227 /* 64041 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23228 /* 64045 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23229 /* 64049 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23230 /* 64053 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23231 /* 64056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23232 /* 64060 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23233 /* 64064 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23234 /* 64068 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23235 /* 64072 */ // MIs[3] Operand 1
23236 /* 64072 */ // No operand predicates
23237 /* 64072 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23238 /* 64076 */ // MIs[0] src1
23239 /* 64076 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23240 /* 64081 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23241 /* 64083 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23242 /* 64090 */ // (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)
23243 /* 64090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
23244 /* 64093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23245 /* 64097 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23246 /* 64100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23247 /* 64103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23248 /* 64110 */ GIR_RootConstrainSelectedInstOperands,
23249 /* 64111 */ // GIR_Coverage, 304,
23250 /* 64111 */ GIR_EraseRootFromParent_Done,
23251 /* 64112 */ // Label 1952: @64112
23252 /* 64112 */ GIM_Try, /*On fail goto*//*Label 1953*/ GIMT_Encode4(64200), // Rule ID 340 //
23253 /* 64117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23254 /* 64121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23255 /* 64125 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23256 /* 64129 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23257 /* 64133 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23258 /* 64137 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23259 /* 64141 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23260 /* 64144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23261 /* 64148 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23262 /* 64152 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23263 /* 64156 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23264 /* 64160 */ // MIs[3] Operand 1
23265 /* 64160 */ // No operand predicates
23266 /* 64160 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23267 /* 64164 */ // MIs[0] src1
23268 /* 64164 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23269 /* 64169 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23270 /* 64171 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23271 /* 64178 */ // (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)
23272 /* 64178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
23273 /* 64181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23274 /* 64185 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23275 /* 64188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23276 /* 64191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23277 /* 64198 */ GIR_RootConstrainSelectedInstOperands,
23278 /* 64199 */ // GIR_Coverage, 340,
23279 /* 64199 */ GIR_EraseRootFromParent_Done,
23280 /* 64200 */ // Label 1953: @64200
23281 /* 64200 */ GIM_Try, /*On fail goto*//*Label 1954*/ GIMT_Encode4(64288), // Rule ID 452 //
23282 /* 64205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23283 /* 64209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23284 /* 64213 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23285 /* 64217 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23286 /* 64221 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23287 /* 64225 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23288 /* 64229 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23289 /* 64232 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23290 /* 64236 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23291 /* 64240 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23292 /* 64244 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23293 /* 64248 */ // MIs[3] Operand 1
23294 /* 64248 */ // No operand predicates
23295 /* 64248 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23296 /* 64252 */ // MIs[0] src1
23297 /* 64252 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23298 /* 64257 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23299 /* 64259 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23300 /* 64266 */ // (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)
23301 /* 64266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23302 /* 64269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23303 /* 64273 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23304 /* 64276 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23305 /* 64279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23306 /* 64286 */ GIR_RootConstrainSelectedInstOperands,
23307 /* 64287 */ // GIR_Coverage, 452,
23308 /* 64287 */ GIR_EraseRootFromParent_Done,
23309 /* 64288 */ // Label 1954: @64288
23310 /* 64288 */ GIM_Try, /*On fail goto*//*Label 1955*/ GIMT_Encode4(64376), // Rule ID 376 //
23311 /* 64293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23312 /* 64297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23313 /* 64301 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23314 /* 64305 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23315 /* 64309 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23316 /* 64313 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23317 /* 64317 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23318 /* 64320 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23319 /* 64324 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23320 /* 64328 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23321 /* 64332 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23322 /* 64336 */ // MIs[3] Operand 1
23323 /* 64336 */ // No operand predicates
23324 /* 64336 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23325 /* 64340 */ // MIs[0] src1
23326 /* 64340 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23327 /* 64345 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23328 /* 64347 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23329 /* 64354 */ // (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)
23330 /* 64354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
23331 /* 64357 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23332 /* 64361 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23333 /* 64364 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23334 /* 64367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23335 /* 64374 */ GIR_RootConstrainSelectedInstOperands,
23336 /* 64375 */ // GIR_Coverage, 376,
23337 /* 64375 */ GIR_EraseRootFromParent_Done,
23338 /* 64376 */ // Label 1955: @64376
23339 /* 64376 */ GIM_Reject,
23340 /* 64377 */ // Label 1943: @64377
23341 /* 64377 */ GIM_Try, /*On fail goto*//*Label 1956*/ GIMT_Encode4(64848),
23342 /* 64382 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23343 /* 64385 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23344 /* 64392 */ GIM_Try, /*On fail goto*//*Label 1957*/ GIMT_Encode4(64483), // Rule ID 22632 //
23345 /* 64397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23346 /* 64401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23347 /* 64405 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23348 /* 64409 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23349 /* 64413 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23350 /* 64417 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23351 /* 64421 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23352 /* 64424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23353 /* 64428 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23354 /* 64435 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23355 /* 64439 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23356 /* 64443 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23357 /* 64447 */ // MIs[3] Operand 1
23358 /* 64447 */ // No operand predicates
23359 /* 64447 */ // MIs[0] dst
23360 /* 64447 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23361 /* 64452 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23362 /* 64454 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23363 /* 64461 */ // (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)
23364 /* 64461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
23365 /* 64464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23366 /* 64468 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23367 /* 64471 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23368 /* 64474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23369 /* 64481 */ GIR_RootConstrainSelectedInstOperands,
23370 /* 64482 */ // GIR_Coverage, 22632,
23371 /* 64482 */ GIR_EraseRootFromParent_Done,
23372 /* 64483 */ // Label 1957: @64483
23373 /* 64483 */ GIM_Try, /*On fail goto*//*Label 1958*/ GIMT_Encode4(64574), // Rule ID 22640 //
23374 /* 64488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23375 /* 64492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23376 /* 64496 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23377 /* 64500 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23378 /* 64504 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23379 /* 64508 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23380 /* 64512 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23381 /* 64515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23382 /* 64519 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23383 /* 64526 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23384 /* 64530 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23385 /* 64534 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23386 /* 64538 */ // MIs[3] Operand 1
23387 /* 64538 */ // No operand predicates
23388 /* 64538 */ // MIs[0] dst
23389 /* 64538 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23390 /* 64543 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23391 /* 64545 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23392 /* 64552 */ // (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)
23393 /* 64552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
23394 /* 64555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23395 /* 64559 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23396 /* 64562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23397 /* 64565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23398 /* 64572 */ GIR_RootConstrainSelectedInstOperands,
23399 /* 64573 */ // GIR_Coverage, 22640,
23400 /* 64573 */ GIR_EraseRootFromParent_Done,
23401 /* 64574 */ // Label 1958: @64574
23402 /* 64574 */ GIM_Try, /*On fail goto*//*Label 1959*/ GIMT_Encode4(64665), // Rule ID 22648 //
23403 /* 64579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23404 /* 64583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23405 /* 64587 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23406 /* 64591 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23407 /* 64595 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23408 /* 64599 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23409 /* 64603 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23410 /* 64606 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23411 /* 64610 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23412 /* 64617 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23413 /* 64621 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23414 /* 64625 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23415 /* 64629 */ // MIs[3] Operand 1
23416 /* 64629 */ // No operand predicates
23417 /* 64629 */ // MIs[0] dst
23418 /* 64629 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23419 /* 64634 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23420 /* 64636 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23421 /* 64643 */ // (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)
23422 /* 64643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
23423 /* 64646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23424 /* 64650 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23425 /* 64653 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23426 /* 64656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23427 /* 64663 */ GIR_RootConstrainSelectedInstOperands,
23428 /* 64664 */ // GIR_Coverage, 22648,
23429 /* 64664 */ GIR_EraseRootFromParent_Done,
23430 /* 64665 */ // Label 1959: @64665
23431 /* 64665 */ GIM_Try, /*On fail goto*//*Label 1960*/ GIMT_Encode4(64756), // Rule ID 22664 //
23432 /* 64670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23433 /* 64674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23434 /* 64678 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23435 /* 64682 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23436 /* 64686 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23437 /* 64690 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23438 /* 64694 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23439 /* 64697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23440 /* 64701 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23441 /* 64708 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23442 /* 64712 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23443 /* 64716 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23444 /* 64720 */ // MIs[3] Operand 1
23445 /* 64720 */ // No operand predicates
23446 /* 64720 */ // MIs[0] dst
23447 /* 64720 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23448 /* 64725 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23449 /* 64727 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23450 /* 64734 */ // (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)
23451 /* 64734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23452 /* 64737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23453 /* 64741 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23454 /* 64744 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23455 /* 64747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23456 /* 64754 */ GIR_RootConstrainSelectedInstOperands,
23457 /* 64755 */ // GIR_Coverage, 22664,
23458 /* 64755 */ GIR_EraseRootFromParent_Done,
23459 /* 64756 */ // Label 1960: @64756
23460 /* 64756 */ GIM_Try, /*On fail goto*//*Label 1961*/ GIMT_Encode4(64847), // Rule ID 22656 //
23461 /* 64761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23462 /* 64765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23463 /* 64769 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23464 /* 64773 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23465 /* 64777 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23466 /* 64781 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23467 /* 64785 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23468 /* 64788 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23469 /* 64792 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23470 /* 64799 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23471 /* 64803 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23472 /* 64807 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23473 /* 64811 */ // MIs[3] Operand 1
23474 /* 64811 */ // No operand predicates
23475 /* 64811 */ // MIs[0] dst
23476 /* 64811 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23477 /* 64816 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23478 /* 64818 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23479 /* 64825 */ // (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)
23480 /* 64825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
23481 /* 64828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23482 /* 64832 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23483 /* 64835 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23484 /* 64838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23485 /* 64845 */ GIR_RootConstrainSelectedInstOperands,
23486 /* 64846 */ // GIR_Coverage, 22656,
23487 /* 64846 */ GIR_EraseRootFromParent_Done,
23488 /* 64847 */ // Label 1961: @64847
23489 /* 64847 */ GIM_Reject,
23490 /* 64848 */ // Label 1956: @64848
23491 /* 64848 */ GIM_Try, /*On fail goto*//*Label 1962*/ GIMT_Encode4(65281),
23492 /* 64853 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23493 /* 64856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23494 /* 64860 */ GIM_Try, /*On fail goto*//*Label 1963*/ GIMT_Encode4(64944), // Rule ID 710 //
23495 /* 64865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23496 /* 64869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
23497 /* 64873 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23498 /* 64877 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23499 /* 64881 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23500 /* 64885 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23501 /* 64889 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23502 /* 64892 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23503 /* 64896 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23504 /* 64900 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23505 /* 64904 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23506 /* 64908 */ // MIs[3] Operand 1
23507 /* 64908 */ // No operand predicates
23508 /* 64908 */ // MIs[0] src1
23509 /* 64908 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23510 /* 64913 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23511 /* 64915 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23512 /* 64922 */ // (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)
23513 /* 64922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mi),
23514 /* 64925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23515 /* 64929 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23516 /* 64932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23517 /* 64935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23518 /* 64942 */ GIR_RootConstrainSelectedInstOperands,
23519 /* 64943 */ // GIR_Coverage, 710,
23520 /* 64943 */ GIR_EraseRootFromParent_Done,
23521 /* 64944 */ // Label 1963: @64944
23522 /* 64944 */ GIM_Try, /*On fail goto*//*Label 1964*/ GIMT_Encode4(65028), // Rule ID 678 //
23523 /* 64949 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23524 /* 64953 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
23525 /* 64957 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23526 /* 64961 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23527 /* 64965 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23528 /* 64969 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23529 /* 64973 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23530 /* 64976 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23531 /* 64980 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23532 /* 64984 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23533 /* 64988 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23534 /* 64992 */ // MIs[3] Operand 1
23535 /* 64992 */ // No operand predicates
23536 /* 64992 */ // MIs[0] src1
23537 /* 64992 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23538 /* 64997 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23539 /* 64999 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23540 /* 65006 */ // (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)
23541 /* 65006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mi),
23542 /* 65009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23543 /* 65013 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23544 /* 65016 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23545 /* 65019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23546 /* 65026 */ GIR_RootConstrainSelectedInstOperands,
23547 /* 65027 */ // GIR_Coverage, 678,
23548 /* 65027 */ GIR_EraseRootFromParent_Done,
23549 /* 65028 */ // Label 1964: @65028
23550 /* 65028 */ GIM_Try, /*On fail goto*//*Label 1965*/ GIMT_Encode4(65112), // Rule ID 742 //
23551 /* 65033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23552 /* 65037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23553 /* 65041 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23554 /* 65045 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23555 /* 65049 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23556 /* 65053 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23557 /* 65057 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23558 /* 65060 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23559 /* 65064 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23560 /* 65068 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23561 /* 65072 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23562 /* 65076 */ // MIs[3] Operand 1
23563 /* 65076 */ // No operand predicates
23564 /* 65076 */ // MIs[0] src1
23565 /* 65076 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23566 /* 65081 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23567 /* 65083 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23568 /* 65090 */ // (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)
23569 /* 65090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mi),
23570 /* 65093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23571 /* 65097 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23572 /* 65100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23573 /* 65103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23574 /* 65110 */ GIR_RootConstrainSelectedInstOperands,
23575 /* 65111 */ // GIR_Coverage, 742,
23576 /* 65111 */ GIR_EraseRootFromParent_Done,
23577 /* 65112 */ // Label 1965: @65112
23578 /* 65112 */ GIM_Try, /*On fail goto*//*Label 1966*/ GIMT_Encode4(65196), // Rule ID 774 //
23579 /* 65117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23580 /* 65121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23581 /* 65125 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23582 /* 65129 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23583 /* 65133 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23584 /* 65137 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23585 /* 65141 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23586 /* 65144 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23587 /* 65148 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23588 /* 65152 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23589 /* 65156 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23590 /* 65160 */ // MIs[3] Operand 1
23591 /* 65160 */ // No operand predicates
23592 /* 65160 */ // MIs[0] src1
23593 /* 65160 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23594 /* 65165 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23595 /* 65167 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23596 /* 65174 */ // (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)
23597 /* 65174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mi),
23598 /* 65177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23599 /* 65181 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23600 /* 65184 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23601 /* 65187 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23602 /* 65194 */ GIR_RootConstrainSelectedInstOperands,
23603 /* 65195 */ // GIR_Coverage, 774,
23604 /* 65195 */ GIR_EraseRootFromParent_Done,
23605 /* 65196 */ // Label 1966: @65196
23606 /* 65196 */ GIM_Try, /*On fail goto*//*Label 1967*/ GIMT_Encode4(65280), // Rule ID 646 //
23607 /* 65201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23608 /* 65205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
23609 /* 65209 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23610 /* 65213 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23611 /* 65217 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23612 /* 65221 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23613 /* 65225 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23614 /* 65228 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23615 /* 65232 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23616 /* 65236 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23617 /* 65240 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23618 /* 65244 */ // MIs[3] Operand 1
23619 /* 65244 */ // No operand predicates
23620 /* 65244 */ // MIs[0] src1
23621 /* 65244 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23622 /* 65249 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23623 /* 65251 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23624 /* 65258 */ // (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)
23625 /* 65258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mi),
23626 /* 65261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23627 /* 65265 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23628 /* 65268 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23629 /* 65271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23630 /* 65278 */ GIR_RootConstrainSelectedInstOperands,
23631 /* 65279 */ // GIR_Coverage, 646,
23632 /* 65279 */ GIR_EraseRootFromParent_Done,
23633 /* 65280 */ // Label 1967: @65280
23634 /* 65280 */ GIM_Reject,
23635 /* 65281 */ // Label 1962: @65281
23636 /* 65281 */ GIM_Try, /*On fail goto*//*Label 1968*/ GIMT_Encode4(66089),
23637 /* 65286 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23638 /* 65289 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23639 /* 65296 */ GIM_Try, /*On fail goto*//*Label 1969*/ GIMT_Encode4(65384), // Rule ID 22636 //
23640 /* 65301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23641 /* 65305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23642 /* 65309 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23643 /* 65313 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23644 /* 65317 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23645 /* 65321 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23646 /* 65325 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23647 /* 65328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23648 /* 65332 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23649 /* 65339 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23650 /* 65343 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23651 /* 65348 */ // MIs[0] dst
23652 /* 65348 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23653 /* 65353 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23654 /* 65355 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23655 /* 65362 */ // (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)
23656 /* 65362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
23657 /* 65365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23658 /* 65369 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23659 /* 65373 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23660 /* 65376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23661 /* 65382 */ GIR_RootConstrainSelectedInstOperands,
23662 /* 65383 */ // GIR_Coverage, 22636,
23663 /* 65383 */ GIR_EraseRootFromParent_Done,
23664 /* 65384 */ // Label 1969: @65384
23665 /* 65384 */ GIM_Try, /*On fail goto*//*Label 1970*/ GIMT_Encode4(65472), // Rule ID 26263 //
23666 /* 65389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23667 /* 65393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23668 /* 65397 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23669 /* 65401 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23670 /* 65405 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23671 /* 65410 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23672 /* 65414 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23673 /* 65418 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23674 /* 65421 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23675 /* 65425 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23676 /* 65432 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23677 /* 65436 */ // MIs[0] dst
23678 /* 65436 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23679 /* 65441 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23680 /* 65443 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23681 /* 65450 */ // (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)
23682 /* 65450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
23683 /* 65453 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23684 /* 65457 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23685 /* 65461 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23686 /* 65464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23687 /* 65470 */ GIR_RootConstrainSelectedInstOperands,
23688 /* 65471 */ // GIR_Coverage, 26263,
23689 /* 65471 */ GIR_EraseRootFromParent_Done,
23690 /* 65472 */ // Label 1970: @65472
23691 /* 65472 */ GIM_Try, /*On fail goto*//*Label 1971*/ GIMT_Encode4(65560), // Rule ID 22644 //
23692 /* 65477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23693 /* 65481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23694 /* 65485 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23695 /* 65489 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23696 /* 65493 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23697 /* 65497 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23698 /* 65501 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23699 /* 65504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23700 /* 65508 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23701 /* 65515 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23702 /* 65519 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23703 /* 65524 */ // MIs[0] dst
23704 /* 65524 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23705 /* 65529 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23706 /* 65531 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23707 /* 65538 */ // (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)
23708 /* 65538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
23709 /* 65541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23710 /* 65545 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23711 /* 65549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23712 /* 65552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23713 /* 65558 */ GIR_RootConstrainSelectedInstOperands,
23714 /* 65559 */ // GIR_Coverage, 22644,
23715 /* 65559 */ GIR_EraseRootFromParent_Done,
23716 /* 65560 */ // Label 1971: @65560
23717 /* 65560 */ GIM_Try, /*On fail goto*//*Label 1972*/ GIMT_Encode4(65648), // Rule ID 26267 //
23718 /* 65565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23719 /* 65569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23720 /* 65573 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23721 /* 65577 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23722 /* 65581 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23723 /* 65586 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23724 /* 65590 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23725 /* 65594 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23726 /* 65597 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23727 /* 65601 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23728 /* 65608 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23729 /* 65612 */ // MIs[0] dst
23730 /* 65612 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23731 /* 65617 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23732 /* 65619 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23733 /* 65626 */ // (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)
23734 /* 65626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
23735 /* 65629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23736 /* 65633 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23737 /* 65637 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23738 /* 65640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23739 /* 65646 */ GIR_RootConstrainSelectedInstOperands,
23740 /* 65647 */ // GIR_Coverage, 26267,
23741 /* 65647 */ GIR_EraseRootFromParent_Done,
23742 /* 65648 */ // Label 1972: @65648
23743 /* 65648 */ GIM_Try, /*On fail goto*//*Label 1973*/ GIMT_Encode4(65736), // Rule ID 22652 //
23744 /* 65653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23745 /* 65657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23746 /* 65661 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23747 /* 65665 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23748 /* 65669 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23749 /* 65673 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23750 /* 65677 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23751 /* 65680 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23752 /* 65684 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23753 /* 65691 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23754 /* 65695 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23755 /* 65700 */ // MIs[0] dst
23756 /* 65700 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23757 /* 65705 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23758 /* 65707 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23759 /* 65714 */ // (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)
23760 /* 65714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
23761 /* 65717 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23762 /* 65721 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23763 /* 65725 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23764 /* 65728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23765 /* 65734 */ GIR_RootConstrainSelectedInstOperands,
23766 /* 65735 */ // GIR_Coverage, 22652,
23767 /* 65735 */ GIR_EraseRootFromParent_Done,
23768 /* 65736 */ // Label 1973: @65736
23769 /* 65736 */ GIM_Try, /*On fail goto*//*Label 1974*/ GIMT_Encode4(65824), // Rule ID 26271 //
23770 /* 65741 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23771 /* 65745 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23772 /* 65749 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23773 /* 65753 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23774 /* 65757 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23775 /* 65762 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23776 /* 65766 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23777 /* 65770 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23778 /* 65773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23779 /* 65777 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23780 /* 65784 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23781 /* 65788 */ // MIs[0] dst
23782 /* 65788 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23783 /* 65793 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23784 /* 65795 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23785 /* 65802 */ // (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)
23786 /* 65802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
23787 /* 65805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23788 /* 65809 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23789 /* 65813 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23790 /* 65816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23791 /* 65822 */ GIR_RootConstrainSelectedInstOperands,
23792 /* 65823 */ // GIR_Coverage, 26271,
23793 /* 65823 */ GIR_EraseRootFromParent_Done,
23794 /* 65824 */ // Label 1974: @65824
23795 /* 65824 */ GIM_Try, /*On fail goto*//*Label 1975*/ GIMT_Encode4(65912), // Rule ID 22668 //
23796 /* 65829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23797 /* 65833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23798 /* 65837 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23799 /* 65841 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23800 /* 65845 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23801 /* 65849 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23802 /* 65853 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23803 /* 65856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23804 /* 65860 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23805 /* 65867 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23806 /* 65871 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23807 /* 65876 */ // MIs[0] dst
23808 /* 65876 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23809 /* 65881 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23810 /* 65883 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23811 /* 65890 */ // (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)
23812 /* 65890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
23813 /* 65893 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23814 /* 65897 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23815 /* 65901 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23816 /* 65904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23817 /* 65910 */ GIR_RootConstrainSelectedInstOperands,
23818 /* 65911 */ // GIR_Coverage, 22668,
23819 /* 65911 */ GIR_EraseRootFromParent_Done,
23820 /* 65912 */ // Label 1975: @65912
23821 /* 65912 */ GIM_Try, /*On fail goto*//*Label 1976*/ GIMT_Encode4(66000), // Rule ID 22660 //
23822 /* 65917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23823 /* 65921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23824 /* 65925 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23825 /* 65929 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23826 /* 65933 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23827 /* 65937 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23828 /* 65941 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23829 /* 65944 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23830 /* 65948 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23831 /* 65955 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23832 /* 65959 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23833 /* 65964 */ // MIs[0] dst
23834 /* 65964 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23835 /* 65969 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23836 /* 65971 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23837 /* 65978 */ // (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)
23838 /* 65978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
23839 /* 65981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23840 /* 65985 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23841 /* 65989 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23842 /* 65992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23843 /* 65998 */ GIR_RootConstrainSelectedInstOperands,
23844 /* 65999 */ // GIR_Coverage, 22660,
23845 /* 65999 */ GIR_EraseRootFromParent_Done,
23846 /* 66000 */ // Label 1976: @66000
23847 /* 66000 */ GIM_Try, /*On fail goto*//*Label 1977*/ GIMT_Encode4(66088), // Rule ID 26275 //
23848 /* 66005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23849 /* 66009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23850 /* 66013 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23851 /* 66017 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23852 /* 66021 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23853 /* 66026 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23854 /* 66030 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23855 /* 66034 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23856 /* 66037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23857 /* 66041 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23858 /* 66048 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23859 /* 66052 */ // MIs[0] dst
23860 /* 66052 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23861 /* 66057 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23862 /* 66059 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23863 /* 66066 */ // (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)
23864 /* 66066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
23865 /* 66069 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23866 /* 66073 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23867 /* 66077 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23868 /* 66080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23869 /* 66086 */ GIR_RootConstrainSelectedInstOperands,
23870 /* 66087 */ // GIR_Coverage, 26275,
23871 /* 66087 */ GIR_EraseRootFromParent_Done,
23872 /* 66088 */ // Label 1977: @66088
23873 /* 66088 */ GIM_Reject,
23874 /* 66089 */ // Label 1968: @66089
23875 /* 66089 */ GIM_Try, /*On fail goto*//*Label 1978*/ GIMT_Encode4(67333),
23876 /* 66094 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23877 /* 66097 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23878 /* 66101 */ GIM_Try, /*On fail goto*//*Label 1979*/ GIMT_Encode4(66182), // Rule ID 408 //
23879 /* 66106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23880 /* 66110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23881 /* 66114 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23882 /* 66118 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23883 /* 66122 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23884 /* 66126 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23885 /* 66130 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23886 /* 66133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23887 /* 66137 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23888 /* 66141 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23889 /* 66146 */ // MIs[0] src1
23890 /* 66146 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23891 /* 66151 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23892 /* 66153 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23893 /* 66160 */ // (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)
23894 /* 66160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
23895 /* 66163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23896 /* 66167 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23897 /* 66171 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23898 /* 66174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23899 /* 66180 */ GIR_RootConstrainSelectedInstOperands,
23900 /* 66181 */ // GIR_Coverage, 408,
23901 /* 66181 */ GIR_EraseRootFromParent_Done,
23902 /* 66182 */ // Label 1979: @66182
23903 /* 66182 */ GIM_Try, /*On fail goto*//*Label 1980*/ GIMT_Encode4(66263), // Rule ID 23479 //
23904 /* 66187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23905 /* 66191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23906 /* 66195 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23907 /* 66199 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23908 /* 66203 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23909 /* 66208 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23910 /* 66212 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23911 /* 66216 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23912 /* 66219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23913 /* 66223 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23914 /* 66227 */ // MIs[0] src1
23915 /* 66227 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23916 /* 66232 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23917 /* 66234 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23918 /* 66241 */ // (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)
23919 /* 66241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
23920 /* 66244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23921 /* 66248 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23922 /* 66252 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23923 /* 66255 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23924 /* 66261 */ GIR_RootConstrainSelectedInstOperands,
23925 /* 66262 */ // GIR_Coverage, 23479,
23926 /* 66262 */ GIR_EraseRootFromParent_Done,
23927 /* 66263 */ // Label 1980: @66263
23928 /* 66263 */ GIM_Try, /*On fail goto*//*Label 1981*/ GIMT_Encode4(66344), // Rule ID 300 //
23929 /* 66268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23930 /* 66272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23931 /* 66276 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23932 /* 66280 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23933 /* 66284 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23934 /* 66288 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23935 /* 66292 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23936 /* 66295 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23937 /* 66299 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23938 /* 66303 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23939 /* 66308 */ // MIs[0] src1
23940 /* 66308 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23941 /* 66313 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23942 /* 66315 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23943 /* 66322 */ // (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)
23944 /* 66322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
23945 /* 66325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23946 /* 66329 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23947 /* 66333 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23948 /* 66336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23949 /* 66342 */ GIR_RootConstrainSelectedInstOperands,
23950 /* 66343 */ // GIR_Coverage, 300,
23951 /* 66343 */ GIR_EraseRootFromParent_Done,
23952 /* 66344 */ // Label 1981: @66344
23953 /* 66344 */ GIM_Try, /*On fail goto*//*Label 1982*/ GIMT_Encode4(66425), // Rule ID 23443 //
23954 /* 66349 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23955 /* 66353 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23956 /* 66357 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23957 /* 66361 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23958 /* 66365 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23959 /* 66370 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23960 /* 66374 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23961 /* 66378 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23962 /* 66381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23963 /* 66385 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23964 /* 66389 */ // MIs[0] src1
23965 /* 66389 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23966 /* 66394 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23967 /* 66396 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23968 /* 66403 */ // (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)
23969 /* 66403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
23970 /* 66406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23971 /* 66410 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23972 /* 66414 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23973 /* 66417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23974 /* 66423 */ GIR_RootConstrainSelectedInstOperands,
23975 /* 66424 */ // GIR_Coverage, 23443,
23976 /* 66424 */ GIR_EraseRootFromParent_Done,
23977 /* 66425 */ // Label 1982: @66425
23978 /* 66425 */ GIM_Try, /*On fail goto*//*Label 1983*/ GIMT_Encode4(66516), // Rule ID 726 //
23979 /* 66430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23980 /* 66434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
23981 /* 66438 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23982 /* 66442 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23983 /* 66446 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23984 /* 66450 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23985 /* 66454 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23986 /* 66457 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23987 /* 66461 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23988 /* 66465 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23989 /* 66470 */ // MIs[0] src1
23990 /* 66470 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23991 /* 66475 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23992 /* 66477 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23993 /* 66484 */ // (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)
23994 /* 66484 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23995 /* 66488 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23996 /* 66494 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23997 /* 66498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mCL),
23998 /* 66501 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23999 /* 66505 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24000 /* 66508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24001 /* 66514 */ GIR_RootConstrainSelectedInstOperands,
24002 /* 66515 */ // GIR_Coverage, 726,
24003 /* 66515 */ GIR_EraseRootFromParent_Done,
24004 /* 66516 */ // Label 1983: @66516
24005 /* 66516 */ GIM_Try, /*On fail goto*//*Label 1984*/ GIMT_Encode4(66607), // Rule ID 694 //
24006 /* 66521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24007 /* 66525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
24008 /* 66529 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24009 /* 66533 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24010 /* 66537 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24011 /* 66541 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24012 /* 66545 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24013 /* 66548 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24014 /* 66552 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24015 /* 66556 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24016 /* 66561 */ // MIs[0] src1
24017 /* 66561 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24018 /* 66566 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24019 /* 66568 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24020 /* 66575 */ // (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)
24021 /* 66575 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24022 /* 66579 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24023 /* 66585 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24024 /* 66589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mCL),
24025 /* 66592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24026 /* 66596 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24027 /* 66599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24028 /* 66605 */ GIR_RootConstrainSelectedInstOperands,
24029 /* 66606 */ // GIR_Coverage, 694,
24030 /* 66606 */ GIR_EraseRootFromParent_Done,
24031 /* 66607 */ // Label 1984: @66607
24032 /* 66607 */ GIM_Try, /*On fail goto*//*Label 1985*/ GIMT_Encode4(66688), // Rule ID 336 //
24033 /* 66612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24034 /* 66616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24035 /* 66620 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24036 /* 66624 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24037 /* 66628 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24038 /* 66632 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24039 /* 66636 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24040 /* 66639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24041 /* 66643 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24042 /* 66647 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24043 /* 66652 */ // MIs[0] src1
24044 /* 66652 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24045 /* 66657 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24046 /* 66659 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24047 /* 66666 */ // (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)
24048 /* 66666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24049 /* 66669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24050 /* 66673 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24051 /* 66677 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24052 /* 66680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24053 /* 66686 */ GIR_RootConstrainSelectedInstOperands,
24054 /* 66687 */ // GIR_Coverage, 336,
24055 /* 66687 */ GIR_EraseRootFromParent_Done,
24056 /* 66688 */ // Label 1985: @66688
24057 /* 66688 */ GIM_Try, /*On fail goto*//*Label 1986*/ GIMT_Encode4(66769), // Rule ID 23455 //
24058 /* 66693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24059 /* 66697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24060 /* 66701 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24061 /* 66705 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24062 /* 66709 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24063 /* 66714 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24064 /* 66718 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24065 /* 66722 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24066 /* 66725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24067 /* 66729 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24068 /* 66733 */ // MIs[0] src1
24069 /* 66733 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24070 /* 66738 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24071 /* 66740 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24072 /* 66747 */ // (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)
24073 /* 66747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24074 /* 66750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24075 /* 66754 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24076 /* 66758 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24077 /* 66761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24078 /* 66767 */ GIR_RootConstrainSelectedInstOperands,
24079 /* 66768 */ // GIR_Coverage, 23455,
24080 /* 66768 */ GIR_EraseRootFromParent_Done,
24081 /* 66769 */ // Label 1986: @66769
24082 /* 66769 */ GIM_Try, /*On fail goto*//*Label 1987*/ GIMT_Encode4(66860), // Rule ID 758 //
24083 /* 66774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24084 /* 66778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24085 /* 66782 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24086 /* 66786 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24087 /* 66790 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24088 /* 66794 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24089 /* 66798 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24090 /* 66801 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24091 /* 66805 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24092 /* 66809 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24093 /* 66814 */ // MIs[0] src1
24094 /* 66814 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24095 /* 66819 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24096 /* 66821 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24097 /* 66828 */ // (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)
24098 /* 66828 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24099 /* 66832 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24100 /* 66838 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24101 /* 66842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mCL),
24102 /* 66845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24103 /* 66849 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24104 /* 66852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24105 /* 66858 */ GIR_RootConstrainSelectedInstOperands,
24106 /* 66859 */ // GIR_Coverage, 758,
24107 /* 66859 */ GIR_EraseRootFromParent_Done,
24108 /* 66860 */ // Label 1987: @66860
24109 /* 66860 */ GIM_Try, /*On fail goto*//*Label 1988*/ GIMT_Encode4(66951), // Rule ID 790 //
24110 /* 66865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24111 /* 66869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24112 /* 66873 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24113 /* 66877 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24114 /* 66881 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24115 /* 66885 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24116 /* 66889 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24117 /* 66892 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24118 /* 66896 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24119 /* 66900 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24120 /* 66905 */ // MIs[0] src1
24121 /* 66905 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24122 /* 66910 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24123 /* 66912 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24124 /* 66919 */ // (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)
24125 /* 66919 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24126 /* 66923 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24127 /* 66929 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24128 /* 66933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mCL),
24129 /* 66936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24130 /* 66940 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24131 /* 66943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24132 /* 66949 */ GIR_RootConstrainSelectedInstOperands,
24133 /* 66950 */ // GIR_Coverage, 790,
24134 /* 66950 */ GIR_EraseRootFromParent_Done,
24135 /* 66951 */ // Label 1988: @66951
24136 /* 66951 */ GIM_Try, /*On fail goto*//*Label 1989*/ GIMT_Encode4(67042), // Rule ID 662 //
24137 /* 66956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24138 /* 66960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
24139 /* 66964 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24140 /* 66968 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24141 /* 66972 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24142 /* 66976 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24143 /* 66980 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24144 /* 66983 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24145 /* 66987 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24146 /* 66991 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24147 /* 66996 */ // MIs[0] src1
24148 /* 66996 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24149 /* 67001 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24150 /* 67003 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24151 /* 67010 */ // (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)
24152 /* 67010 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24153 /* 67014 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24154 /* 67020 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24155 /* 67024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mCL),
24156 /* 67027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24157 /* 67031 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24158 /* 67034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24159 /* 67040 */ GIR_RootConstrainSelectedInstOperands,
24160 /* 67041 */ // GIR_Coverage, 662,
24161 /* 67041 */ GIR_EraseRootFromParent_Done,
24162 /* 67042 */ // Label 1989: @67042
24163 /* 67042 */ GIM_Try, /*On fail goto*//*Label 1990*/ GIMT_Encode4(67123), // Rule ID 444 //
24164 /* 67047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24165 /* 67051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24166 /* 67055 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24167 /* 67059 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24168 /* 67063 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24169 /* 67067 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24170 /* 67071 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24171 /* 67074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24172 /* 67078 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24173 /* 67082 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24174 /* 67087 */ // MIs[0] src1
24175 /* 67087 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24176 /* 67092 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24177 /* 67094 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24178 /* 67101 */ // (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)
24179 /* 67101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
24180 /* 67104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24181 /* 67108 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24182 /* 67112 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24183 /* 67115 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24184 /* 67121 */ GIR_RootConstrainSelectedInstOperands,
24185 /* 67122 */ // GIR_Coverage, 444,
24186 /* 67122 */ GIR_EraseRootFromParent_Done,
24187 /* 67123 */ // Label 1990: @67123
24188 /* 67123 */ GIM_Try, /*On fail goto*//*Label 1991*/ GIMT_Encode4(67204), // Rule ID 372 //
24189 /* 67128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24190 /* 67132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24191 /* 67136 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24192 /* 67140 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24193 /* 67144 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24194 /* 67148 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24195 /* 67152 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24196 /* 67155 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24197 /* 67159 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24198 /* 67163 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24199 /* 67168 */ // MIs[0] src1
24200 /* 67168 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24201 /* 67173 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24202 /* 67175 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24203 /* 67182 */ // (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)
24204 /* 67182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24205 /* 67185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24206 /* 67189 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24207 /* 67193 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24208 /* 67196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24209 /* 67202 */ GIR_RootConstrainSelectedInstOperands,
24210 /* 67203 */ // GIR_Coverage, 372,
24211 /* 67203 */ GIR_EraseRootFromParent_Done,
24212 /* 67204 */ // Label 1991: @67204
24213 /* 67204 */ GIM_Try, /*On fail goto*//*Label 1992*/ GIMT_Encode4(67285), // Rule ID 23467 //
24214 /* 67209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24215 /* 67213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24216 /* 67217 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24217 /* 67221 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24218 /* 67225 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24219 /* 67230 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24220 /* 67234 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24221 /* 67238 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24222 /* 67241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24223 /* 67245 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24224 /* 67249 */ // MIs[0] src1
24225 /* 67249 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24226 /* 67254 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24227 /* 67256 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24228 /* 67263 */ // (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)
24229 /* 67263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24230 /* 67266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24231 /* 67270 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24232 /* 67274 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24233 /* 67277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24234 /* 67283 */ GIR_RootConstrainSelectedInstOperands,
24235 /* 67284 */ // GIR_Coverage, 23467,
24236 /* 67284 */ GIR_EraseRootFromParent_Done,
24237 /* 67285 */ // Label 1992: @67285
24238 /* 67285 */ GIM_Try, /*On fail goto*//*Label 1993*/ GIMT_Encode4(67332), // Rule ID 25 //
24239 /* 67290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24240 /* 67294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24241 /* 67298 */ // MIs[1] Operand 1
24242 /* 67298 */ // No operand predicates
24243 /* 67298 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24244 /* 67302 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24245 /* 67306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24246 /* 67308 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24247 /* 67315 */ // (st (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24248 /* 67315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
24249 /* 67318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24250 /* 67322 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
24251 /* 67325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24252 /* 67330 */ GIR_RootConstrainSelectedInstOperands,
24253 /* 67331 */ // GIR_Coverage, 25,
24254 /* 67331 */ GIR_EraseRootFromParent_Done,
24255 /* 67332 */ // Label 1993: @67332
24256 /* 67332 */ GIM_Reject,
24257 /* 67333 */ // Label 1978: @67333
24258 /* 67333 */ GIM_Try, /*On fail goto*//*Label 1994*/ GIMT_Encode4(67386), // Rule ID 22712 //
24259 /* 67338 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24260 /* 67341 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24261 /* 67348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24262 /* 67352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24263 /* 67356 */ // MIs[1] Operand 1
24264 /* 67356 */ // No operand predicates
24265 /* 67356 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24266 /* 67360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24267 /* 67362 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24268 /* 67369 */ // (atomic_store (imm:{ *:[i16] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24269 /* 67369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
24270 /* 67372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24271 /* 67376 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
24272 /* 67379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24273 /* 67384 */ GIR_RootConstrainSelectedInstOperands,
24274 /* 67385 */ // GIR_Coverage, 22712,
24275 /* 67385 */ GIR_EraseRootFromParent_Done,
24276 /* 67386 */ // Label 1994: @67386
24277 /* 67386 */ GIM_Try, /*On fail goto*//*Label 1995*/ GIMT_Encode4(67505),
24278 /* 67391 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24279 /* 67394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24280 /* 67398 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24281 /* 67402 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1996*/ GIMT_Encode4(67453), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 50 //
24282 /* 67409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24283 /* 67413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
24284 /* 67417 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24285 /* 67421 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24286 /* 67426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24287 /* 67428 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24288 /* 67435 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
24289 /* 67435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr),
24290 /* 67438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24291 /* 67442 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
24292 /* 67446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24293 /* 67451 */ GIR_RootConstrainSelectedInstOperands,
24294 /* 67452 */ // GIR_Coverage, 50,
24295 /* 67452 */ GIR_EraseRootFromParent_Done,
24296 /* 67453 */ // Label 1996: @67453
24297 /* 67453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1997*/ GIMT_Encode4(67504), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 56 //
24298 /* 67460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24299 /* 67464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
24300 /* 67468 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24301 /* 67472 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24302 /* 67477 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24303 /* 67479 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24304 /* 67486 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr_EVEX addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
24305 /* 67486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr_EVEX),
24306 /* 67489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24307 /* 67493 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
24308 /* 67497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24309 /* 67502 */ GIR_RootConstrainSelectedInstOperands,
24310 /* 67503 */ // GIR_Coverage, 56,
24311 /* 67503 */ GIR_EraseRootFromParent_Done,
24312 /* 67504 */ // Label 1997: @67504
24313 /* 67504 */ GIM_Reject,
24314 /* 67505 */ // Label 1995: @67505
24315 /* 67505 */ GIM_Try, /*On fail goto*//*Label 1998*/ GIMT_Encode4(67550), // Rule ID 22716 //
24316 /* 67510 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24317 /* 67513 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24318 /* 67520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24319 /* 67524 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24320 /* 67528 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24321 /* 67535 */ // (atomic_store GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
24322 /* 67535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
24323 /* 67538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24324 /* 67542 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24325 /* 67544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24326 /* 67548 */ GIR_RootConstrainSelectedInstOperands,
24327 /* 67549 */ // GIR_Coverage, 22716,
24328 /* 67549 */ GIR_EraseRootFromParent_Done,
24329 /* 67550 */ // Label 1998: @67550
24330 /* 67550 */ GIM_Try, /*On fail goto*//*Label 1999*/ GIMT_Encode4(67907),
24331 /* 67555 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24332 /* 67558 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24333 /* 67562 */ GIM_Try, /*On fail goto*//*Label 2000*/ GIMT_Encode4(67597), // Rule ID 33 //
24334 /* 67567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24335 /* 67571 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24336 /* 67575 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24337 /* 67582 */ // (st GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
24338 /* 67582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
24339 /* 67585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24340 /* 67589 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24341 /* 67591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24342 /* 67595 */ GIR_RootConstrainSelectedInstOperands,
24343 /* 67596 */ // GIR_Coverage, 33,
24344 /* 67596 */ GIR_EraseRootFromParent_Done,
24345 /* 67597 */ // Label 2000: @67597
24346 /* 67597 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2001*/ GIMT_Encode4(67634), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 4623 //
24347 /* 67604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
24348 /* 67608 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24349 /* 67612 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24350 /* 67619 */ // (st FR16X:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSHZmr addr:{ *:[iPTR] }:$dst, FR16X:{ *:[f16] }:$src)
24351 /* 67619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZmr),
24352 /* 67622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24353 /* 67626 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24354 /* 67628 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24355 /* 67632 */ GIR_RootConstrainSelectedInstOperands,
24356 /* 67633 */ // GIR_Coverage, 4623,
24357 /* 67633 */ GIR_EraseRootFromParent_Done,
24358 /* 67634 */ // Label 2001: @67634
24359 /* 67634 */ GIM_Try, /*On fail goto*//*Label 2002*/ GIMT_Encode4(67906),
24360 /* 67639 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24361 /* 67643 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2003*/ GIMT_Encode4(67697), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 18646 //
24362 /* 67650 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24363 /* 67657 */ // (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] })
24364 /* 67657 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
24365 /* 67660 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24366 /* 67664 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24367 /* 67669 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
24368 /* 67673 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24369 /* 67678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PEXTRWmri),
24370 /* 67681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24371 /* 67685 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24372 /* 67688 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
24373 /* 67691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24374 /* 67695 */ GIR_RootConstrainSelectedInstOperands,
24375 /* 67696 */ // GIR_Coverage, 18646,
24376 /* 67696 */ GIR_EraseRootFromParent_Done,
24377 /* 67697 */ // Label 2003: @67697
24378 /* 67697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2004*/ GIMT_Encode4(67751), GIMT_Encode2(GIFBS_HasAVX_NoBWI), // Rule ID 18647 //
24379 /* 67704 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24380 /* 67711 */ // (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] })
24381 /* 67711 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
24382 /* 67714 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24383 /* 67718 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24384 /* 67723 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
24385 /* 67727 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24386 /* 67732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWmri),
24387 /* 67735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24388 /* 67739 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24389 /* 67742 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
24390 /* 67745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24391 /* 67749 */ GIR_RootConstrainSelectedInstOperands,
24392 /* 67750 */ // GIR_Coverage, 18647,
24393 /* 67750 */ GIR_EraseRootFromParent_Done,
24394 /* 67751 */ // Label 2004: @67751
24395 /* 67751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2005*/ GIMT_Encode4(67851), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18433 //
24396 /* 67758 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24397 /* 67765 */ // (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] }))
24398 /* 67765 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s16,
24399 /* 67768 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24400 /* 67772 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24401 /* 67777 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/0, // src
24402 /* 67781 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24403 /* 67786 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
24404 /* 67789 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
24405 /* 67793 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24406 /* 67798 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
24407 /* 67801 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/0,
24408 /* 67804 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
24409 /* 67806 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
24410 /* 67809 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24411 /* 67813 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24412 /* 67818 */ GIR_AddTempSubRegister, /*InsnID*/1, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
24413 /* 67825 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
24414 /* 67830 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
24415 /* 67835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
24416 /* 67838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24417 /* 67842 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24418 /* 67845 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24419 /* 67849 */ GIR_RootConstrainSelectedInstOperands,
24420 /* 67850 */ // GIR_Coverage, 18433,
24421 /* 67850 */ GIR_EraseRootFromParent_Done,
24422 /* 67851 */ // Label 2005: @67851
24423 /* 67851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2006*/ GIMT_Encode4(67905), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21992 //
24424 /* 67858 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24425 /* 67865 */ // (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] })
24426 /* 67865 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
24427 /* 67868 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24428 /* 67872 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24429 /* 67877 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
24430 /* 67881 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24431 /* 67886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZmri),
24432 /* 67889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24433 /* 67893 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24434 /* 67896 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
24435 /* 67899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24436 /* 67903 */ GIR_RootConstrainSelectedInstOperands,
24437 /* 67904 */ // GIR_Coverage, 21992,
24438 /* 67904 */ GIR_EraseRootFromParent_Done,
24439 /* 67905 */ // Label 2006: @67905
24440 /* 67905 */ GIM_Reject,
24441 /* 67906 */ // Label 2002: @67906
24442 /* 67906 */ GIM_Reject,
24443 /* 67907 */ // Label 1999: @67907
24444 /* 67907 */ GIM_Reject,
24445 /* 67908 */ // Label 1858: @67908
24446 /* 67908 */ GIM_Try, /*On fail goto*//*Label 2007*/ GIMT_Encode4(68257),
24447 /* 67913 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24448 /* 67916 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24449 /* 67923 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2008*/ GIMT_Encode4(68008), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22697 //
24450 /* 67930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24451 /* 67934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24452 /* 67938 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24453 /* 67942 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24454 /* 67946 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24455 /* 67950 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24456 /* 67954 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24457 /* 67957 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24458 /* 67961 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24459 /* 67968 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24460 /* 67972 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
24461 /* 67976 */ // MIs[0] dst
24462 /* 67976 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24463 /* 67981 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24464 /* 67983 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24465 /* 67990 */ // (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)
24466 /* 67990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
24467 /* 67993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24468 /* 67997 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24469 /* 68000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24470 /* 68006 */ GIR_RootConstrainSelectedInstOperands,
24471 /* 68007 */ // GIR_Coverage, 22697,
24472 /* 68007 */ GIR_EraseRootFromParent_Done,
24473 /* 68008 */ // Label 2008: @68008
24474 /* 68008 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2009*/ GIMT_Encode4(68093), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22701 //
24475 /* 68015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24476 /* 68019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24477 /* 68023 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24478 /* 68027 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24479 /* 68031 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24480 /* 68035 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24481 /* 68039 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24482 /* 68042 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24483 /* 68046 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24484 /* 68053 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24485 /* 68057 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24486 /* 68061 */ // MIs[0] dst
24487 /* 68061 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24488 /* 68066 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24489 /* 68068 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24490 /* 68075 */ // (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)
24491 /* 68075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
24492 /* 68078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24493 /* 68082 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24494 /* 68085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24495 /* 68091 */ GIR_RootConstrainSelectedInstOperands,
24496 /* 68092 */ // GIR_Coverage, 22701,
24497 /* 68092 */ GIR_EraseRootFromParent_Done,
24498 /* 68093 */ // Label 2009: @68093
24499 /* 68093 */ GIM_Try, /*On fail goto*//*Label 2010*/ GIMT_Encode4(68176), // Rule ID 22705 //
24500 /* 68098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24501 /* 68102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24502 /* 68106 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24503 /* 68110 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24504 /* 68114 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
24505 /* 68118 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24506 /* 68122 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24507 /* 68126 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24508 /* 68129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24509 /* 68133 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24510 /* 68140 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24511 /* 68144 */ // MIs[0] dst
24512 /* 68144 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24513 /* 68149 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24514 /* 68151 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24515 /* 68158 */ // (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)
24516 /* 68158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
24517 /* 68161 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24518 /* 68165 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24519 /* 68168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24520 /* 68174 */ GIR_RootConstrainSelectedInstOperands,
24521 /* 68175 */ // GIR_Coverage, 22705,
24522 /* 68175 */ GIR_EraseRootFromParent_Done,
24523 /* 68176 */ // Label 2010: @68176
24524 /* 68176 */ GIM_Try, /*On fail goto*//*Label 2011*/ GIMT_Encode4(68256), // Rule ID 22709 //
24525 /* 68181 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24526 /* 68185 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24527 /* 68189 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24528 /* 68193 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24529 /* 68197 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24530 /* 68201 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24531 /* 68205 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24532 /* 68208 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24533 /* 68212 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24534 /* 68219 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24535 /* 68223 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24536 /* 68227 */ // MIs[0] dst
24537 /* 68227 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24538 /* 68232 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24539 /* 68234 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24540 /* 68241 */ // (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)
24541 /* 68241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
24542 /* 68244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24543 /* 68248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24544 /* 68254 */ GIR_RootConstrainSelectedInstOperands,
24545 /* 68255 */ // GIR_Coverage, 22709,
24546 /* 68255 */ GIR_EraseRootFromParent_Done,
24547 /* 68256 */ // Label 2011: @68256
24548 /* 68256 */ GIM_Reject,
24549 /* 68257 */ // Label 2007: @68257
24550 /* 68257 */ GIM_Try, /*On fail goto*//*Label 2012*/ GIMT_Encode4(69253),
24551 /* 68262 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24552 /* 68265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24553 /* 68269 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2013*/ GIMT_Encode4(68347), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 225 //
24554 /* 68276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24555 /* 68280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24556 /* 68284 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24557 /* 68288 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24558 /* 68292 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24559 /* 68296 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24560 /* 68300 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24561 /* 68303 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24562 /* 68307 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24563 /* 68311 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
24564 /* 68315 */ // MIs[0] src1
24565 /* 68315 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24566 /* 68320 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24567 /* 68322 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24568 /* 68329 */ // (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)
24569 /* 68329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
24570 /* 68332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24571 /* 68336 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24572 /* 68339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24573 /* 68345 */ GIR_RootConstrainSelectedInstOperands,
24574 /* 68346 */ // GIR_Coverage, 225,
24575 /* 68346 */ GIR_EraseRootFromParent_Done,
24576 /* 68347 */ // Label 2013: @68347
24577 /* 68347 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2014*/ GIMT_Encode4(68425), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 228 //
24578 /* 68354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24579 /* 68358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24580 /* 68362 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24581 /* 68366 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24582 /* 68370 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24583 /* 68374 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24584 /* 68378 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24585 /* 68381 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24586 /* 68385 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24587 /* 68389 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24588 /* 68393 */ // MIs[0] src1
24589 /* 68393 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24590 /* 68398 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24591 /* 68400 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24592 /* 68407 */ // (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)
24593 /* 68407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
24594 /* 68410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24595 /* 68414 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24596 /* 68417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24597 /* 68423 */ GIR_RootConstrainSelectedInstOperands,
24598 /* 68424 */ // GIR_Coverage, 228,
24599 /* 68424 */ GIR_EraseRootFromParent_Done,
24600 /* 68425 */ // Label 2014: @68425
24601 /* 68425 */ GIM_Try, /*On fail goto*//*Label 2015*/ GIMT_Encode4(68511), // Rule ID 22858 //
24602 /* 68430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24603 /* 68434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24604 /* 68438 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24605 /* 68442 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24606 /* 68446 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24607 /* 68450 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24608 /* 68454 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24609 /* 68457 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24610 /* 68461 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24611 /* 68465 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
24612 /* 68476 */ // MIs[0] dst
24613 /* 68476 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24614 /* 68481 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24615 /* 68483 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24616 /* 68490 */ // (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] })
24617 /* 68490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
24618 /* 68493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24619 /* 68497 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
24620 /* 68500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24621 /* 68503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24622 /* 68509 */ GIR_RootConstrainSelectedInstOperands,
24623 /* 68510 */ // GIR_Coverage, 22858,
24624 /* 68510 */ GIR_EraseRootFromParent_Done,
24625 /* 68511 */ // Label 2015: @68511
24626 /* 68511 */ GIM_Try, /*On fail goto*//*Label 2016*/ GIMT_Encode4(68587), // Rule ID 17671 //
24627 /* 68516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24628 /* 68520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24629 /* 68524 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24630 /* 68528 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24631 /* 68532 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24632 /* 68536 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24633 /* 68540 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24634 /* 68543 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24635 /* 68547 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24636 /* 68551 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
24637 /* 68555 */ // MIs[0] dst
24638 /* 68555 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24639 /* 68560 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24640 /* 68562 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24641 /* 68569 */ // (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)
24642 /* 68569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32m1),
24643 /* 68572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24644 /* 68576 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24645 /* 68579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24646 /* 68585 */ GIR_RootConstrainSelectedInstOperands,
24647 /* 68586 */ // GIR_Coverage, 17671,
24648 /* 68586 */ GIR_EraseRootFromParent_Done,
24649 /* 68587 */ // Label 2016: @68587
24650 /* 68587 */ GIM_Try, /*On fail goto*//*Label 2017*/ GIMT_Encode4(68663), // Rule ID 17675 //
24651 /* 68592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24652 /* 68596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24653 /* 68600 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24654 /* 68604 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24655 /* 68608 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24656 /* 68612 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24657 /* 68616 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24658 /* 68619 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24659 /* 68623 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24660 /* 68627 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
24661 /* 68631 */ // MIs[0] dst
24662 /* 68631 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24663 /* 68636 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24664 /* 68638 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24665 /* 68645 */ // (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)
24666 /* 68645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32m1),
24667 /* 68648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24668 /* 68652 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24669 /* 68655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24670 /* 68661 */ GIR_RootConstrainSelectedInstOperands,
24671 /* 68662 */ // GIR_Coverage, 17675,
24672 /* 68662 */ GIR_EraseRootFromParent_Done,
24673 /* 68663 */ // Label 2017: @68663
24674 /* 68663 */ GIM_Try, /*On fail goto*//*Label 2018*/ GIMT_Encode4(68739), // Rule ID 261 //
24675 /* 68668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24676 /* 68672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24677 /* 68676 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24678 /* 68680 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24679 /* 68684 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
24680 /* 68688 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24681 /* 68692 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24682 /* 68696 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24683 /* 68699 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24684 /* 68703 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24685 /* 68707 */ // MIs[0] src1
24686 /* 68707 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24687 /* 68712 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24688 /* 68714 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24689 /* 68721 */ // (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)
24690 /* 68721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
24691 /* 68724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24692 /* 68728 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24693 /* 68731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24694 /* 68737 */ GIR_RootConstrainSelectedInstOperands,
24695 /* 68738 */ // GIR_Coverage, 261,
24696 /* 68738 */ GIR_EraseRootFromParent_Done,
24697 /* 68739 */ // Label 2018: @68739
24698 /* 68739 */ GIM_Try, /*On fail goto*//*Label 2019*/ GIMT_Encode4(68812), // Rule ID 269 //
24699 /* 68744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24700 /* 68748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24701 /* 68752 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24702 /* 68756 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24703 /* 68760 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24704 /* 68764 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24705 /* 68768 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24706 /* 68771 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24707 /* 68775 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24708 /* 68779 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24709 /* 68783 */ // MIs[0] src1
24710 /* 68783 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24711 /* 68788 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24712 /* 68790 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24713 /* 68797 */ // (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)
24714 /* 68797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
24715 /* 68800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24716 /* 68804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24717 /* 68810 */ GIR_RootConstrainSelectedInstOperands,
24718 /* 68811 */ // GIR_Coverage, 269,
24719 /* 68811 */ GIR_EraseRootFromParent_Done,
24720 /* 68812 */ // Label 2019: @68812
24721 /* 68812 */ GIM_Try, /*On fail goto*//*Label 2020*/ GIMT_Encode4(68900), // Rule ID 413 //
24722 /* 68817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24723 /* 68821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24724 /* 68825 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24725 /* 68829 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24726 /* 68833 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24727 /* 68837 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24728 /* 68841 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24729 /* 68844 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24730 /* 68848 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24731 /* 68852 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24732 /* 68856 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24733 /* 68860 */ // MIs[3] Operand 1
24734 /* 68860 */ // No operand predicates
24735 /* 68860 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24736 /* 68864 */ // MIs[0] src1
24737 /* 68864 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24738 /* 68869 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24739 /* 68871 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24740 /* 68878 */ // (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)
24741 /* 68878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
24742 /* 68881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24743 /* 68885 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24744 /* 68888 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24745 /* 68891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24746 /* 68898 */ GIR_RootConstrainSelectedInstOperands,
24747 /* 68899 */ // GIR_Coverage, 413,
24748 /* 68899 */ GIR_EraseRootFromParent_Done,
24749 /* 68900 */ // Label 2020: @68900
24750 /* 68900 */ GIM_Try, /*On fail goto*//*Label 2021*/ GIMT_Encode4(68988), // Rule ID 305 //
24751 /* 68905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24752 /* 68909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24753 /* 68913 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24754 /* 68917 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24755 /* 68921 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24756 /* 68925 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24757 /* 68929 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24758 /* 68932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24759 /* 68936 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24760 /* 68940 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24761 /* 68944 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24762 /* 68948 */ // MIs[3] Operand 1
24763 /* 68948 */ // No operand predicates
24764 /* 68948 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24765 /* 68952 */ // MIs[0] src1
24766 /* 68952 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24767 /* 68957 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24768 /* 68959 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24769 /* 68966 */ // (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)
24770 /* 68966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
24771 /* 68969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24772 /* 68973 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24773 /* 68976 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24774 /* 68979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24775 /* 68986 */ GIR_RootConstrainSelectedInstOperands,
24776 /* 68987 */ // GIR_Coverage, 305,
24777 /* 68987 */ GIR_EraseRootFromParent_Done,
24778 /* 68988 */ // Label 2021: @68988
24779 /* 68988 */ GIM_Try, /*On fail goto*//*Label 2022*/ GIMT_Encode4(69076), // Rule ID 341 //
24780 /* 68993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24781 /* 68997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24782 /* 69001 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24783 /* 69005 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24784 /* 69009 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24785 /* 69013 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24786 /* 69017 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24787 /* 69020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24788 /* 69024 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24789 /* 69028 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24790 /* 69032 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24791 /* 69036 */ // MIs[3] Operand 1
24792 /* 69036 */ // No operand predicates
24793 /* 69036 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24794 /* 69040 */ // MIs[0] src1
24795 /* 69040 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24796 /* 69045 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24797 /* 69047 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24798 /* 69054 */ // (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)
24799 /* 69054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
24800 /* 69057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24801 /* 69061 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24802 /* 69064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24803 /* 69067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24804 /* 69074 */ GIR_RootConstrainSelectedInstOperands,
24805 /* 69075 */ // GIR_Coverage, 341,
24806 /* 69075 */ GIR_EraseRootFromParent_Done,
24807 /* 69076 */ // Label 2022: @69076
24808 /* 69076 */ GIM_Try, /*On fail goto*//*Label 2023*/ GIMT_Encode4(69164), // Rule ID 453 //
24809 /* 69081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24810 /* 69085 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24811 /* 69089 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24812 /* 69093 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24813 /* 69097 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24814 /* 69101 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24815 /* 69105 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24816 /* 69108 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24817 /* 69112 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24818 /* 69116 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24819 /* 69120 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24820 /* 69124 */ // MIs[3] Operand 1
24821 /* 69124 */ // No operand predicates
24822 /* 69124 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24823 /* 69128 */ // MIs[0] src1
24824 /* 69128 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24825 /* 69133 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24826 /* 69135 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24827 /* 69142 */ // (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)
24828 /* 69142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
24829 /* 69145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24830 /* 69149 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24831 /* 69152 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24832 /* 69155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24833 /* 69162 */ GIR_RootConstrainSelectedInstOperands,
24834 /* 69163 */ // GIR_Coverage, 453,
24835 /* 69163 */ GIR_EraseRootFromParent_Done,
24836 /* 69164 */ // Label 2023: @69164
24837 /* 69164 */ GIM_Try, /*On fail goto*//*Label 2024*/ GIMT_Encode4(69252), // Rule ID 377 //
24838 /* 69169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24839 /* 69173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24840 /* 69177 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24841 /* 69181 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24842 /* 69185 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24843 /* 69189 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24844 /* 69193 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24845 /* 69196 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24846 /* 69200 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24847 /* 69204 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24848 /* 69208 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24849 /* 69212 */ // MIs[3] Operand 1
24850 /* 69212 */ // No operand predicates
24851 /* 69212 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24852 /* 69216 */ // MIs[0] src1
24853 /* 69216 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24854 /* 69221 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24855 /* 69223 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24856 /* 69230 */ // (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)
24857 /* 69230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
24858 /* 69233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24859 /* 69237 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24860 /* 69240 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24861 /* 69243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24862 /* 69250 */ GIR_RootConstrainSelectedInstOperands,
24863 /* 69251 */ // GIR_Coverage, 377,
24864 /* 69251 */ GIR_EraseRootFromParent_Done,
24865 /* 69252 */ // Label 2024: @69252
24866 /* 69252 */ GIM_Reject,
24867 /* 69253 */ // Label 2012: @69253
24868 /* 69253 */ GIM_Try, /*On fail goto*//*Label 2025*/ GIMT_Encode4(69724),
24869 /* 69258 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24870 /* 69261 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24871 /* 69268 */ GIM_Try, /*On fail goto*//*Label 2026*/ GIMT_Encode4(69359), // Rule ID 22633 //
24872 /* 69273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24873 /* 69277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24874 /* 69281 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24875 /* 69285 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24876 /* 69289 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24877 /* 69293 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24878 /* 69297 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24879 /* 69300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24880 /* 69304 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24881 /* 69311 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24882 /* 69315 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24883 /* 69319 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24884 /* 69323 */ // MIs[3] Operand 1
24885 /* 69323 */ // No operand predicates
24886 /* 69323 */ // MIs[0] dst
24887 /* 69323 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24888 /* 69328 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24889 /* 69330 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24890 /* 69337 */ // (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)
24891 /* 69337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
24892 /* 69340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24893 /* 69344 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24894 /* 69347 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24895 /* 69350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24896 /* 69357 */ GIR_RootConstrainSelectedInstOperands,
24897 /* 69358 */ // GIR_Coverage, 22633,
24898 /* 69358 */ GIR_EraseRootFromParent_Done,
24899 /* 69359 */ // Label 2026: @69359
24900 /* 69359 */ GIM_Try, /*On fail goto*//*Label 2027*/ GIMT_Encode4(69450), // Rule ID 22641 //
24901 /* 69364 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24902 /* 69368 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24903 /* 69372 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24904 /* 69376 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24905 /* 69380 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24906 /* 69384 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24907 /* 69388 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24908 /* 69391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24909 /* 69395 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24910 /* 69402 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24911 /* 69406 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24912 /* 69410 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24913 /* 69414 */ // MIs[3] Operand 1
24914 /* 69414 */ // No operand predicates
24915 /* 69414 */ // MIs[0] dst
24916 /* 69414 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24917 /* 69419 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24918 /* 69421 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24919 /* 69428 */ // (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)
24920 /* 69428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
24921 /* 69431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24922 /* 69435 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24923 /* 69438 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24924 /* 69441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24925 /* 69448 */ GIR_RootConstrainSelectedInstOperands,
24926 /* 69449 */ // GIR_Coverage, 22641,
24927 /* 69449 */ GIR_EraseRootFromParent_Done,
24928 /* 69450 */ // Label 2027: @69450
24929 /* 69450 */ GIM_Try, /*On fail goto*//*Label 2028*/ GIMT_Encode4(69541), // Rule ID 22649 //
24930 /* 69455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24931 /* 69459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24932 /* 69463 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24933 /* 69467 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24934 /* 69471 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24935 /* 69475 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24936 /* 69479 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24937 /* 69482 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24938 /* 69486 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24939 /* 69493 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24940 /* 69497 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24941 /* 69501 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24942 /* 69505 */ // MIs[3] Operand 1
24943 /* 69505 */ // No operand predicates
24944 /* 69505 */ // MIs[0] dst
24945 /* 69505 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24946 /* 69510 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24947 /* 69512 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24948 /* 69519 */ // (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)
24949 /* 69519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
24950 /* 69522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24951 /* 69526 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24952 /* 69529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24953 /* 69532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24954 /* 69539 */ GIR_RootConstrainSelectedInstOperands,
24955 /* 69540 */ // GIR_Coverage, 22649,
24956 /* 69540 */ GIR_EraseRootFromParent_Done,
24957 /* 69541 */ // Label 2028: @69541
24958 /* 69541 */ GIM_Try, /*On fail goto*//*Label 2029*/ GIMT_Encode4(69632), // Rule ID 22665 //
24959 /* 69546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24960 /* 69550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24961 /* 69554 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24962 /* 69558 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24963 /* 69562 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24964 /* 69566 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24965 /* 69570 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24966 /* 69573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24967 /* 69577 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24968 /* 69584 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24969 /* 69588 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24970 /* 69592 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24971 /* 69596 */ // MIs[3] Operand 1
24972 /* 69596 */ // No operand predicates
24973 /* 69596 */ // MIs[0] dst
24974 /* 69596 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24975 /* 69601 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24976 /* 69603 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24977 /* 69610 */ // (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)
24978 /* 69610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
24979 /* 69613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24980 /* 69617 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24981 /* 69620 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24982 /* 69623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24983 /* 69630 */ GIR_RootConstrainSelectedInstOperands,
24984 /* 69631 */ // GIR_Coverage, 22665,
24985 /* 69631 */ GIR_EraseRootFromParent_Done,
24986 /* 69632 */ // Label 2029: @69632
24987 /* 69632 */ GIM_Try, /*On fail goto*//*Label 2030*/ GIMT_Encode4(69723), // Rule ID 22657 //
24988 /* 69637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24989 /* 69641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24990 /* 69645 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24991 /* 69649 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24992 /* 69653 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24993 /* 69657 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24994 /* 69661 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24995 /* 69664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24996 /* 69668 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24997 /* 69675 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24998 /* 69679 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24999 /* 69683 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25000 /* 69687 */ // MIs[3] Operand 1
25001 /* 69687 */ // No operand predicates
25002 /* 69687 */ // MIs[0] dst
25003 /* 69687 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25004 /* 69692 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25005 /* 69694 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25006 /* 69701 */ // (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)
25007 /* 69701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
25008 /* 69704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25009 /* 69708 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25010 /* 69711 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25011 /* 69714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25012 /* 69721 */ GIR_RootConstrainSelectedInstOperands,
25013 /* 69722 */ // GIR_Coverage, 22657,
25014 /* 69722 */ GIR_EraseRootFromParent_Done,
25015 /* 69723 */ // Label 2030: @69723
25016 /* 69723 */ GIM_Reject,
25017 /* 69724 */ // Label 2025: @69724
25018 /* 69724 */ GIM_Try, /*On fail goto*//*Label 2031*/ GIMT_Encode4(70351),
25019 /* 69729 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25020 /* 69732 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25021 /* 69736 */ GIM_Try, /*On fail goto*//*Label 2032*/ GIMT_Encode4(69833), // Rule ID 810 //
25022 /* 69741 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25023 /* 69745 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
25024 /* 69749 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25025 /* 69753 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25026 /* 69757 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25027 /* 69761 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25028 /* 69765 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25029 /* 69769 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25030 /* 69772 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25031 /* 69776 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25032 /* 69780 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25033 /* 69785 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25034 /* 69789 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25035 /* 69793 */ // MIs[3] Operand 1
25036 /* 69793 */ // No operand predicates
25037 /* 69793 */ // MIs[0] src1
25038 /* 69793 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25039 /* 69798 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25040 /* 69800 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25041 /* 69807 */ // (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)
25042 /* 69807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mri8),
25043 /* 69810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25044 /* 69814 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25045 /* 69818 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25046 /* 69821 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25047 /* 69824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25048 /* 69831 */ GIR_RootConstrainSelectedInstOperands,
25049 /* 69832 */ // GIR_Coverage, 810,
25050 /* 69832 */ GIR_EraseRootFromParent_Done,
25051 /* 69833 */ // Label 2032: @69833
25052 /* 69833 */ GIM_Try, /*On fail goto*//*Label 2033*/ GIMT_Encode4(69930), // Rule ID 834 //
25053 /* 69838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25054 /* 69842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
25055 /* 69846 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25056 /* 69850 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25057 /* 69854 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25058 /* 69858 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25059 /* 69863 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25060 /* 69867 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25061 /* 69871 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25062 /* 69874 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25063 /* 69878 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25064 /* 69882 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25065 /* 69886 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25066 /* 69890 */ // MIs[3] Operand 1
25067 /* 69890 */ // No operand predicates
25068 /* 69890 */ // MIs[0] src1
25069 /* 69890 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25070 /* 69895 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25071 /* 69897 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25072 /* 69904 */ // (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)
25073 /* 69904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mri8),
25074 /* 69907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25075 /* 69911 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25076 /* 69915 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25077 /* 69918 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25078 /* 69921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25079 /* 69928 */ GIR_RootConstrainSelectedInstOperands,
25080 /* 69929 */ // GIR_Coverage, 834,
25081 /* 69929 */ GIR_EraseRootFromParent_Done,
25082 /* 69930 */ // Label 2033: @69930
25083 /* 69930 */ GIM_Try, /*On fail goto*//*Label 2034*/ GIMT_Encode4(70014), // Rule ID 711 //
25084 /* 69935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25085 /* 69939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
25086 /* 69943 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25087 /* 69947 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25088 /* 69951 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25089 /* 69955 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25090 /* 69959 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25091 /* 69962 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25092 /* 69966 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25093 /* 69970 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25094 /* 69974 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25095 /* 69978 */ // MIs[3] Operand 1
25096 /* 69978 */ // No operand predicates
25097 /* 69978 */ // MIs[0] src1
25098 /* 69978 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25099 /* 69983 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25100 /* 69985 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25101 /* 69992 */ // (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)
25102 /* 69992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mi),
25103 /* 69995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25104 /* 69999 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25105 /* 70002 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25106 /* 70005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25107 /* 70012 */ GIR_RootConstrainSelectedInstOperands,
25108 /* 70013 */ // GIR_Coverage, 711,
25109 /* 70013 */ GIR_EraseRootFromParent_Done,
25110 /* 70014 */ // Label 2034: @70014
25111 /* 70014 */ GIM_Try, /*On fail goto*//*Label 2035*/ GIMT_Encode4(70098), // Rule ID 679 //
25112 /* 70019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25113 /* 70023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
25114 /* 70027 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25115 /* 70031 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25116 /* 70035 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25117 /* 70039 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25118 /* 70043 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25119 /* 70046 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25120 /* 70050 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25121 /* 70054 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25122 /* 70058 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25123 /* 70062 */ // MIs[3] Operand 1
25124 /* 70062 */ // No operand predicates
25125 /* 70062 */ // MIs[0] src1
25126 /* 70062 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25127 /* 70067 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25128 /* 70069 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25129 /* 70076 */ // (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)
25130 /* 70076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mi),
25131 /* 70079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25132 /* 70083 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25133 /* 70086 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25134 /* 70089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25135 /* 70096 */ GIR_RootConstrainSelectedInstOperands,
25136 /* 70097 */ // GIR_Coverage, 679,
25137 /* 70097 */ GIR_EraseRootFromParent_Done,
25138 /* 70098 */ // Label 2035: @70098
25139 /* 70098 */ GIM_Try, /*On fail goto*//*Label 2036*/ GIMT_Encode4(70182), // Rule ID 743 //
25140 /* 70103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25141 /* 70107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25142 /* 70111 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25143 /* 70115 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25144 /* 70119 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25145 /* 70123 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25146 /* 70127 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25147 /* 70130 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25148 /* 70134 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25149 /* 70138 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25150 /* 70142 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25151 /* 70146 */ // MIs[3] Operand 1
25152 /* 70146 */ // No operand predicates
25153 /* 70146 */ // MIs[0] src1
25154 /* 70146 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25155 /* 70151 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25156 /* 70153 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25157 /* 70160 */ // (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)
25158 /* 70160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mi),
25159 /* 70163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25160 /* 70167 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25161 /* 70170 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25162 /* 70173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25163 /* 70180 */ GIR_RootConstrainSelectedInstOperands,
25164 /* 70181 */ // GIR_Coverage, 743,
25165 /* 70181 */ GIR_EraseRootFromParent_Done,
25166 /* 70182 */ // Label 2036: @70182
25167 /* 70182 */ GIM_Try, /*On fail goto*//*Label 2037*/ GIMT_Encode4(70266), // Rule ID 775 //
25168 /* 70187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25169 /* 70191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25170 /* 70195 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25171 /* 70199 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25172 /* 70203 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25173 /* 70207 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25174 /* 70211 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25175 /* 70214 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25176 /* 70218 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25177 /* 70222 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25178 /* 70226 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25179 /* 70230 */ // MIs[3] Operand 1
25180 /* 70230 */ // No operand predicates
25181 /* 70230 */ // MIs[0] src1
25182 /* 70230 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25183 /* 70235 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25184 /* 70237 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25185 /* 70244 */ // (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)
25186 /* 70244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mi),
25187 /* 70247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25188 /* 70251 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25189 /* 70254 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25190 /* 70257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25191 /* 70264 */ GIR_RootConstrainSelectedInstOperands,
25192 /* 70265 */ // GIR_Coverage, 775,
25193 /* 70265 */ GIR_EraseRootFromParent_Done,
25194 /* 70266 */ // Label 2037: @70266
25195 /* 70266 */ GIM_Try, /*On fail goto*//*Label 2038*/ GIMT_Encode4(70350), // Rule ID 647 //
25196 /* 70271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25197 /* 70275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
25198 /* 70279 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25199 /* 70283 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25200 /* 70287 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25201 /* 70291 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25202 /* 70295 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25203 /* 70298 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25204 /* 70302 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25205 /* 70306 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25206 /* 70310 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25207 /* 70314 */ // MIs[3] Operand 1
25208 /* 70314 */ // No operand predicates
25209 /* 70314 */ // MIs[0] src1
25210 /* 70314 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25211 /* 70319 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25212 /* 70321 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25213 /* 70328 */ // (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)
25214 /* 70328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mi),
25215 /* 70331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25216 /* 70335 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25217 /* 70338 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25218 /* 70341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25219 /* 70348 */ GIR_RootConstrainSelectedInstOperands,
25220 /* 70349 */ // GIR_Coverage, 647,
25221 /* 70349 */ GIR_EraseRootFromParent_Done,
25222 /* 70350 */ // Label 2038: @70350
25223 /* 70350 */ GIM_Reject,
25224 /* 70351 */ // Label 2031: @70351
25225 /* 70351 */ GIM_Try, /*On fail goto*//*Label 2039*/ GIMT_Encode4(71159),
25226 /* 70356 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25227 /* 70359 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25228 /* 70366 */ GIM_Try, /*On fail goto*//*Label 2040*/ GIMT_Encode4(70454), // Rule ID 22637 //
25229 /* 70371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25230 /* 70375 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25231 /* 70379 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25232 /* 70383 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25233 /* 70387 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25234 /* 70391 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25235 /* 70395 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25236 /* 70398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25237 /* 70402 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25238 /* 70409 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25239 /* 70413 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25240 /* 70418 */ // MIs[0] dst
25241 /* 70418 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25242 /* 70423 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25243 /* 70425 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25244 /* 70432 */ // (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)
25245 /* 70432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25246 /* 70435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25247 /* 70439 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25248 /* 70443 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25249 /* 70446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25250 /* 70452 */ GIR_RootConstrainSelectedInstOperands,
25251 /* 70453 */ // GIR_Coverage, 22637,
25252 /* 70453 */ GIR_EraseRootFromParent_Done,
25253 /* 70454 */ // Label 2040: @70454
25254 /* 70454 */ GIM_Try, /*On fail goto*//*Label 2041*/ GIMT_Encode4(70542), // Rule ID 26264 //
25255 /* 70459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25256 /* 70463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25257 /* 70467 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25258 /* 70471 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25259 /* 70475 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25260 /* 70480 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25261 /* 70484 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25262 /* 70488 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25263 /* 70491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25264 /* 70495 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25265 /* 70502 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25266 /* 70506 */ // MIs[0] dst
25267 /* 70506 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25268 /* 70511 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25269 /* 70513 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25270 /* 70520 */ // (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)
25271 /* 70520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25272 /* 70523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25273 /* 70527 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25274 /* 70531 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25275 /* 70534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25276 /* 70540 */ GIR_RootConstrainSelectedInstOperands,
25277 /* 70541 */ // GIR_Coverage, 26264,
25278 /* 70541 */ GIR_EraseRootFromParent_Done,
25279 /* 70542 */ // Label 2041: @70542
25280 /* 70542 */ GIM_Try, /*On fail goto*//*Label 2042*/ GIMT_Encode4(70630), // Rule ID 22645 //
25281 /* 70547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25282 /* 70551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25283 /* 70555 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25284 /* 70559 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25285 /* 70563 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25286 /* 70567 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25287 /* 70571 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25288 /* 70574 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25289 /* 70578 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25290 /* 70585 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25291 /* 70589 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25292 /* 70594 */ // MIs[0] dst
25293 /* 70594 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25294 /* 70599 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25295 /* 70601 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25296 /* 70608 */ // (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)
25297 /* 70608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25298 /* 70611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25299 /* 70615 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25300 /* 70619 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25301 /* 70622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25302 /* 70628 */ GIR_RootConstrainSelectedInstOperands,
25303 /* 70629 */ // GIR_Coverage, 22645,
25304 /* 70629 */ GIR_EraseRootFromParent_Done,
25305 /* 70630 */ // Label 2042: @70630
25306 /* 70630 */ GIM_Try, /*On fail goto*//*Label 2043*/ GIMT_Encode4(70718), // Rule ID 26268 //
25307 /* 70635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25308 /* 70639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25309 /* 70643 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25310 /* 70647 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25311 /* 70651 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25312 /* 70656 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25313 /* 70660 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25314 /* 70664 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25315 /* 70667 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25316 /* 70671 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25317 /* 70678 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25318 /* 70682 */ // MIs[0] dst
25319 /* 70682 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25320 /* 70687 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25321 /* 70689 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25322 /* 70696 */ // (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)
25323 /* 70696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25324 /* 70699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25325 /* 70703 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25326 /* 70707 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25327 /* 70710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25328 /* 70716 */ GIR_RootConstrainSelectedInstOperands,
25329 /* 70717 */ // GIR_Coverage, 26268,
25330 /* 70717 */ GIR_EraseRootFromParent_Done,
25331 /* 70718 */ // Label 2043: @70718
25332 /* 70718 */ GIM_Try, /*On fail goto*//*Label 2044*/ GIMT_Encode4(70806), // Rule ID 22653 //
25333 /* 70723 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25334 /* 70727 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25335 /* 70731 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25336 /* 70735 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25337 /* 70739 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25338 /* 70743 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25339 /* 70747 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25340 /* 70750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25341 /* 70754 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25342 /* 70761 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25343 /* 70765 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25344 /* 70770 */ // MIs[0] dst
25345 /* 70770 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25346 /* 70775 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25347 /* 70777 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25348 /* 70784 */ // (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)
25349 /* 70784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25350 /* 70787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25351 /* 70791 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25352 /* 70795 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25353 /* 70798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25354 /* 70804 */ GIR_RootConstrainSelectedInstOperands,
25355 /* 70805 */ // GIR_Coverage, 22653,
25356 /* 70805 */ GIR_EraseRootFromParent_Done,
25357 /* 70806 */ // Label 2044: @70806
25358 /* 70806 */ GIM_Try, /*On fail goto*//*Label 2045*/ GIMT_Encode4(70894), // Rule ID 26272 //
25359 /* 70811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25360 /* 70815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25361 /* 70819 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25362 /* 70823 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25363 /* 70827 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25364 /* 70832 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25365 /* 70836 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25366 /* 70840 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25367 /* 70843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25368 /* 70847 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25369 /* 70854 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25370 /* 70858 */ // MIs[0] dst
25371 /* 70858 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25372 /* 70863 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25373 /* 70865 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25374 /* 70872 */ // (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)
25375 /* 70872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25376 /* 70875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25377 /* 70879 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25378 /* 70883 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25379 /* 70886 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25380 /* 70892 */ GIR_RootConstrainSelectedInstOperands,
25381 /* 70893 */ // GIR_Coverage, 26272,
25382 /* 70893 */ GIR_EraseRootFromParent_Done,
25383 /* 70894 */ // Label 2045: @70894
25384 /* 70894 */ GIM_Try, /*On fail goto*//*Label 2046*/ GIMT_Encode4(70982), // Rule ID 22669 //
25385 /* 70899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25386 /* 70903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25387 /* 70907 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25388 /* 70911 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25389 /* 70915 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25390 /* 70919 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25391 /* 70923 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25392 /* 70926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25393 /* 70930 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25394 /* 70937 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25395 /* 70941 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25396 /* 70946 */ // MIs[0] dst
25397 /* 70946 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25398 /* 70951 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25399 /* 70953 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25400 /* 70960 */ // (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)
25401 /* 70960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
25402 /* 70963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25403 /* 70967 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25404 /* 70971 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25405 /* 70974 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25406 /* 70980 */ GIR_RootConstrainSelectedInstOperands,
25407 /* 70981 */ // GIR_Coverage, 22669,
25408 /* 70981 */ GIR_EraseRootFromParent_Done,
25409 /* 70982 */ // Label 2046: @70982
25410 /* 70982 */ GIM_Try, /*On fail goto*//*Label 2047*/ GIMT_Encode4(71070), // Rule ID 22661 //
25411 /* 70987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25412 /* 70991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25413 /* 70995 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25414 /* 70999 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25415 /* 71003 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25416 /* 71007 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25417 /* 71011 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25418 /* 71014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25419 /* 71018 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25420 /* 71025 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25421 /* 71029 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25422 /* 71034 */ // MIs[0] dst
25423 /* 71034 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25424 /* 71039 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25425 /* 71041 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25426 /* 71048 */ // (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)
25427 /* 71048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
25428 /* 71051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25429 /* 71055 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25430 /* 71059 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25431 /* 71062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25432 /* 71068 */ GIR_RootConstrainSelectedInstOperands,
25433 /* 71069 */ // GIR_Coverage, 22661,
25434 /* 71069 */ GIR_EraseRootFromParent_Done,
25435 /* 71070 */ // Label 2047: @71070
25436 /* 71070 */ GIM_Try, /*On fail goto*//*Label 2048*/ GIMT_Encode4(71158), // Rule ID 26276 //
25437 /* 71075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25438 /* 71079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25439 /* 71083 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25440 /* 71087 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25441 /* 71091 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25442 /* 71096 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25443 /* 71100 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25444 /* 71104 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25445 /* 71107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25446 /* 71111 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25447 /* 71118 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25448 /* 71122 */ // MIs[0] dst
25449 /* 71122 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25450 /* 71127 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25451 /* 71129 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25452 /* 71136 */ // (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)
25453 /* 71136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
25454 /* 71139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25455 /* 71143 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25456 /* 71147 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25457 /* 71150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25458 /* 71156 */ GIR_RootConstrainSelectedInstOperands,
25459 /* 71157 */ // GIR_Coverage, 26276,
25460 /* 71157 */ GIR_EraseRootFromParent_Done,
25461 /* 71158 */ // Label 2048: @71158
25462 /* 71158 */ GIM_Reject,
25463 /* 71159 */ // Label 2039: @71159
25464 /* 71159 */ GIM_Try, /*On fail goto*//*Label 2049*/ GIMT_Encode4(72611),
25465 /* 71164 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25466 /* 71167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25467 /* 71171 */ GIM_Try, /*On fail goto*//*Label 2050*/ GIMT_Encode4(71275), // Rule ID 813 //
25468 /* 71176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25469 /* 71180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
25470 /* 71184 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25471 /* 71188 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25472 /* 71192 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25473 /* 71196 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25474 /* 71200 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25475 /* 71204 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25476 /* 71207 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25477 /* 71211 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25478 /* 71215 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25479 /* 71220 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25480 /* 71225 */ // MIs[0] src1
25481 /* 71225 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25482 /* 71230 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25483 /* 71232 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25484 /* 71239 */ // (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)
25485 /* 71239 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25486 /* 71243 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25487 /* 71249 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
25488 /* 71253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mrCL),
25489 /* 71256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25490 /* 71260 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25491 /* 71264 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25492 /* 71267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25493 /* 71273 */ GIR_RootConstrainSelectedInstOperands,
25494 /* 71274 */ // GIR_Coverage, 813,
25495 /* 71274 */ GIR_EraseRootFromParent_Done,
25496 /* 71275 */ // Label 2050: @71275
25497 /* 71275 */ GIM_Try, /*On fail goto*//*Label 2051*/ GIMT_Encode4(71379), // Rule ID 837 //
25498 /* 71280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25499 /* 71284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
25500 /* 71288 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25501 /* 71292 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25502 /* 71296 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25503 /* 71300 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25504 /* 71305 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25505 /* 71309 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25506 /* 71313 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25507 /* 71316 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25508 /* 71320 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25509 /* 71324 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25510 /* 71329 */ // MIs[0] src1
25511 /* 71329 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25512 /* 71334 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25513 /* 71336 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25514 /* 71343 */ // (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)
25515 /* 71343 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25516 /* 71347 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25517 /* 71353 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
25518 /* 71357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mrCL),
25519 /* 71360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25520 /* 71364 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25521 /* 71368 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25522 /* 71371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25523 /* 71377 */ GIR_RootConstrainSelectedInstOperands,
25524 /* 71378 */ // GIR_Coverage, 837,
25525 /* 71378 */ GIR_EraseRootFromParent_Done,
25526 /* 71379 */ // Label 2051: @71379
25527 /* 71379 */ GIM_Try, /*On fail goto*//*Label 2052*/ GIMT_Encode4(71460), // Rule ID 409 //
25528 /* 71384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25529 /* 71388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25530 /* 71392 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25531 /* 71396 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25532 /* 71400 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25533 /* 71404 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25534 /* 71408 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25535 /* 71411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25536 /* 71415 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25537 /* 71419 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25538 /* 71424 */ // MIs[0] src1
25539 /* 71424 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25540 /* 71429 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25541 /* 71431 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25542 /* 71438 */ // (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)
25543 /* 71438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25544 /* 71441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25545 /* 71445 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25546 /* 71449 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25547 /* 71452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25548 /* 71458 */ GIR_RootConstrainSelectedInstOperands,
25549 /* 71459 */ // GIR_Coverage, 409,
25550 /* 71459 */ GIR_EraseRootFromParent_Done,
25551 /* 71460 */ // Label 2052: @71460
25552 /* 71460 */ GIM_Try, /*On fail goto*//*Label 2053*/ GIMT_Encode4(71541), // Rule ID 23480 //
25553 /* 71465 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25554 /* 71469 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25555 /* 71473 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25556 /* 71477 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25557 /* 71481 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25558 /* 71486 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25559 /* 71490 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25560 /* 71494 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25561 /* 71497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25562 /* 71501 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25563 /* 71505 */ // MIs[0] src1
25564 /* 71505 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25565 /* 71510 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25566 /* 71512 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25567 /* 71519 */ // (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)
25568 /* 71519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25569 /* 71522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25570 /* 71526 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25571 /* 71530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25572 /* 71533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25573 /* 71539 */ GIR_RootConstrainSelectedInstOperands,
25574 /* 71540 */ // GIR_Coverage, 23480,
25575 /* 71540 */ GIR_EraseRootFromParent_Done,
25576 /* 71541 */ // Label 2053: @71541
25577 /* 71541 */ GIM_Try, /*On fail goto*//*Label 2054*/ GIMT_Encode4(71622), // Rule ID 301 //
25578 /* 71546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25579 /* 71550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25580 /* 71554 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25581 /* 71558 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25582 /* 71562 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25583 /* 71566 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25584 /* 71570 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25585 /* 71573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25586 /* 71577 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25587 /* 71581 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25588 /* 71586 */ // MIs[0] src1
25589 /* 71586 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25590 /* 71591 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25591 /* 71593 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25592 /* 71600 */ // (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)
25593 /* 71600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25594 /* 71603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25595 /* 71607 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25596 /* 71611 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25597 /* 71614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25598 /* 71620 */ GIR_RootConstrainSelectedInstOperands,
25599 /* 71621 */ // GIR_Coverage, 301,
25600 /* 71621 */ GIR_EraseRootFromParent_Done,
25601 /* 71622 */ // Label 2054: @71622
25602 /* 71622 */ GIM_Try, /*On fail goto*//*Label 2055*/ GIMT_Encode4(71703), // Rule ID 23444 //
25603 /* 71627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25604 /* 71631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25605 /* 71635 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25606 /* 71639 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25607 /* 71643 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25608 /* 71648 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25609 /* 71652 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25610 /* 71656 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25611 /* 71659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25612 /* 71663 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25613 /* 71667 */ // MIs[0] src1
25614 /* 71667 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25615 /* 71672 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25616 /* 71674 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25617 /* 71681 */ // (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)
25618 /* 71681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25619 /* 71684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25620 /* 71688 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25621 /* 71692 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25622 /* 71695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25623 /* 71701 */ GIR_RootConstrainSelectedInstOperands,
25624 /* 71702 */ // GIR_Coverage, 23444,
25625 /* 71702 */ GIR_EraseRootFromParent_Done,
25626 /* 71703 */ // Label 2055: @71703
25627 /* 71703 */ GIM_Try, /*On fail goto*//*Label 2056*/ GIMT_Encode4(71794), // Rule ID 727 //
25628 /* 71708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25629 /* 71712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
25630 /* 71716 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25631 /* 71720 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25632 /* 71724 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25633 /* 71728 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25634 /* 71732 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25635 /* 71735 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25636 /* 71739 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25637 /* 71743 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25638 /* 71748 */ // MIs[0] src1
25639 /* 71748 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25640 /* 71753 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25641 /* 71755 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25642 /* 71762 */ // (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)
25643 /* 71762 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25644 /* 71766 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25645 /* 71772 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25646 /* 71776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mCL),
25647 /* 71779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25648 /* 71783 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25649 /* 71786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25650 /* 71792 */ GIR_RootConstrainSelectedInstOperands,
25651 /* 71793 */ // GIR_Coverage, 727,
25652 /* 71793 */ GIR_EraseRootFromParent_Done,
25653 /* 71794 */ // Label 2056: @71794
25654 /* 71794 */ GIM_Try, /*On fail goto*//*Label 2057*/ GIMT_Encode4(71885), // Rule ID 695 //
25655 /* 71799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25656 /* 71803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
25657 /* 71807 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25658 /* 71811 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25659 /* 71815 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25660 /* 71819 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25661 /* 71823 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25662 /* 71826 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25663 /* 71830 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25664 /* 71834 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25665 /* 71839 */ // MIs[0] src1
25666 /* 71839 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25667 /* 71844 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25668 /* 71846 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25669 /* 71853 */ // (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)
25670 /* 71853 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25671 /* 71857 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25672 /* 71863 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25673 /* 71867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mCL),
25674 /* 71870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25675 /* 71874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25676 /* 71877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25677 /* 71883 */ GIR_RootConstrainSelectedInstOperands,
25678 /* 71884 */ // GIR_Coverage, 695,
25679 /* 71884 */ GIR_EraseRootFromParent_Done,
25680 /* 71885 */ // Label 2057: @71885
25681 /* 71885 */ GIM_Try, /*On fail goto*//*Label 2058*/ GIMT_Encode4(71966), // Rule ID 337 //
25682 /* 71890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25683 /* 71894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25684 /* 71898 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25685 /* 71902 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25686 /* 71906 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25687 /* 71910 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25688 /* 71914 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25689 /* 71917 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25690 /* 71921 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25691 /* 71925 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25692 /* 71930 */ // MIs[0] src1
25693 /* 71930 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25694 /* 71935 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25695 /* 71937 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25696 /* 71944 */ // (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)
25697 /* 71944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25698 /* 71947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25699 /* 71951 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25700 /* 71955 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25701 /* 71958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25702 /* 71964 */ GIR_RootConstrainSelectedInstOperands,
25703 /* 71965 */ // GIR_Coverage, 337,
25704 /* 71965 */ GIR_EraseRootFromParent_Done,
25705 /* 71966 */ // Label 2058: @71966
25706 /* 71966 */ GIM_Try, /*On fail goto*//*Label 2059*/ GIMT_Encode4(72047), // Rule ID 23456 //
25707 /* 71971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25708 /* 71975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25709 /* 71979 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25710 /* 71983 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25711 /* 71987 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25712 /* 71992 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25713 /* 71996 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25714 /* 72000 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25715 /* 72003 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25716 /* 72007 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25717 /* 72011 */ // MIs[0] src1
25718 /* 72011 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25719 /* 72016 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25720 /* 72018 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25721 /* 72025 */ // (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)
25722 /* 72025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25723 /* 72028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25724 /* 72032 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25725 /* 72036 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25726 /* 72039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25727 /* 72045 */ GIR_RootConstrainSelectedInstOperands,
25728 /* 72046 */ // GIR_Coverage, 23456,
25729 /* 72046 */ GIR_EraseRootFromParent_Done,
25730 /* 72047 */ // Label 2059: @72047
25731 /* 72047 */ GIM_Try, /*On fail goto*//*Label 2060*/ GIMT_Encode4(72138), // Rule ID 759 //
25732 /* 72052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25733 /* 72056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25734 /* 72060 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25735 /* 72064 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25736 /* 72068 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25737 /* 72072 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25738 /* 72076 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25739 /* 72079 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25740 /* 72083 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25741 /* 72087 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25742 /* 72092 */ // MIs[0] src1
25743 /* 72092 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25744 /* 72097 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25745 /* 72099 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25746 /* 72106 */ // (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)
25747 /* 72106 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25748 /* 72110 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25749 /* 72116 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25750 /* 72120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mCL),
25751 /* 72123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25752 /* 72127 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25753 /* 72130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25754 /* 72136 */ GIR_RootConstrainSelectedInstOperands,
25755 /* 72137 */ // GIR_Coverage, 759,
25756 /* 72137 */ GIR_EraseRootFromParent_Done,
25757 /* 72138 */ // Label 2060: @72138
25758 /* 72138 */ GIM_Try, /*On fail goto*//*Label 2061*/ GIMT_Encode4(72229), // Rule ID 791 //
25759 /* 72143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25760 /* 72147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25761 /* 72151 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25762 /* 72155 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25763 /* 72159 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25764 /* 72163 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25765 /* 72167 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25766 /* 72170 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25767 /* 72174 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25768 /* 72178 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25769 /* 72183 */ // MIs[0] src1
25770 /* 72183 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25771 /* 72188 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25772 /* 72190 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25773 /* 72197 */ // (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)
25774 /* 72197 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25775 /* 72201 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25776 /* 72207 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25777 /* 72211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mCL),
25778 /* 72214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25779 /* 72218 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25780 /* 72221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25781 /* 72227 */ GIR_RootConstrainSelectedInstOperands,
25782 /* 72228 */ // GIR_Coverage, 791,
25783 /* 72228 */ GIR_EraseRootFromParent_Done,
25784 /* 72229 */ // Label 2061: @72229
25785 /* 72229 */ GIM_Try, /*On fail goto*//*Label 2062*/ GIMT_Encode4(72320), // Rule ID 663 //
25786 /* 72234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25787 /* 72238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
25788 /* 72242 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25789 /* 72246 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25790 /* 72250 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25791 /* 72254 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25792 /* 72258 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25793 /* 72261 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25794 /* 72265 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25795 /* 72269 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25796 /* 72274 */ // MIs[0] src1
25797 /* 72274 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25798 /* 72279 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25799 /* 72281 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25800 /* 72288 */ // (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)
25801 /* 72288 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25802 /* 72292 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25803 /* 72298 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25804 /* 72302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mCL),
25805 /* 72305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25806 /* 72309 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25807 /* 72312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25808 /* 72318 */ GIR_RootConstrainSelectedInstOperands,
25809 /* 72319 */ // GIR_Coverage, 663,
25810 /* 72319 */ GIR_EraseRootFromParent_Done,
25811 /* 72320 */ // Label 2062: @72320
25812 /* 72320 */ GIM_Try, /*On fail goto*//*Label 2063*/ GIMT_Encode4(72401), // Rule ID 445 //
25813 /* 72325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25814 /* 72329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25815 /* 72333 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25816 /* 72337 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25817 /* 72341 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25818 /* 72345 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25819 /* 72349 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25820 /* 72352 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25821 /* 72356 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25822 /* 72360 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25823 /* 72365 */ // MIs[0] src1
25824 /* 72365 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25825 /* 72370 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25826 /* 72372 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25827 /* 72379 */ // (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)
25828 /* 72379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
25829 /* 72382 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25830 /* 72386 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25831 /* 72390 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25832 /* 72393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25833 /* 72399 */ GIR_RootConstrainSelectedInstOperands,
25834 /* 72400 */ // GIR_Coverage, 445,
25835 /* 72400 */ GIR_EraseRootFromParent_Done,
25836 /* 72401 */ // Label 2063: @72401
25837 /* 72401 */ GIM_Try, /*On fail goto*//*Label 2064*/ GIMT_Encode4(72482), // Rule ID 373 //
25838 /* 72406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25839 /* 72410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25840 /* 72414 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25841 /* 72418 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25842 /* 72422 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25843 /* 72426 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25844 /* 72430 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25845 /* 72433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25846 /* 72437 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25847 /* 72441 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25848 /* 72446 */ // MIs[0] src1
25849 /* 72446 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25850 /* 72451 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25851 /* 72453 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25852 /* 72460 */ // (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)
25853 /* 72460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
25854 /* 72463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25855 /* 72467 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25856 /* 72471 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25857 /* 72474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25858 /* 72480 */ GIR_RootConstrainSelectedInstOperands,
25859 /* 72481 */ // GIR_Coverage, 373,
25860 /* 72481 */ GIR_EraseRootFromParent_Done,
25861 /* 72482 */ // Label 2064: @72482
25862 /* 72482 */ GIM_Try, /*On fail goto*//*Label 2065*/ GIMT_Encode4(72563), // Rule ID 23468 //
25863 /* 72487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25864 /* 72491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25865 /* 72495 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25866 /* 72499 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25867 /* 72503 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25868 /* 72508 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25869 /* 72512 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25870 /* 72516 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25871 /* 72519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25872 /* 72523 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25873 /* 72527 */ // MIs[0] src1
25874 /* 72527 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25875 /* 72532 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25876 /* 72534 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25877 /* 72541 */ // (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)
25878 /* 72541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
25879 /* 72544 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25880 /* 72548 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25881 /* 72552 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25882 /* 72555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25883 /* 72561 */ GIR_RootConstrainSelectedInstOperands,
25884 /* 72562 */ // GIR_Coverage, 23468,
25885 /* 72562 */ GIR_EraseRootFromParent_Done,
25886 /* 72563 */ // Label 2065: @72563
25887 /* 72563 */ GIM_Try, /*On fail goto*//*Label 2066*/ GIMT_Encode4(72610), // Rule ID 26 //
25888 /* 72568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25889 /* 72572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25890 /* 72576 */ // MIs[1] Operand 1
25891 /* 72576 */ // No operand predicates
25892 /* 72576 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25893 /* 72580 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25894 /* 72584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25895 /* 72586 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25896 /* 72593 */ // (st (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
25897 /* 72593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
25898 /* 72596 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25899 /* 72600 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25900 /* 72603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25901 /* 72608 */ GIR_RootConstrainSelectedInstOperands,
25902 /* 72609 */ // GIR_Coverage, 26,
25903 /* 72609 */ GIR_EraseRootFromParent_Done,
25904 /* 72610 */ // Label 2066: @72610
25905 /* 72610 */ GIM_Reject,
25906 /* 72611 */ // Label 2049: @72611
25907 /* 72611 */ GIM_Try, /*On fail goto*//*Label 2067*/ GIMT_Encode4(72823),
25908 /* 72616 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25909 /* 72619 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25910 /* 72626 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25911 /* 72630 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2068*/ GIMT_Encode4(72681), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22747 //
25912 /* 72637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25913 /* 72641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
25914 /* 72645 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25915 /* 72649 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
25916 /* 72654 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25917 /* 72656 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25918 /* 72663 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
25919 /* 72663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
25920 /* 72666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25921 /* 72670 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25922 /* 72674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25923 /* 72679 */ GIR_RootConstrainSelectedInstOperands,
25924 /* 72680 */ // GIR_Coverage, 22747,
25925 /* 72680 */ GIR_EraseRootFromParent_Done,
25926 /* 72681 */ // Label 2068: @72681
25927 /* 72681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2069*/ GIMT_Encode4(72732), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22748 //
25928 /* 72688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25929 /* 72692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
25930 /* 72696 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25931 /* 72700 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
25932 /* 72705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25933 /* 72707 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25934 /* 72714 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
25935 /* 72714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
25936 /* 72717 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25937 /* 72721 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25938 /* 72725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25939 /* 72730 */ GIR_RootConstrainSelectedInstOperands,
25940 /* 72731 */ // GIR_Coverage, 22748,
25941 /* 72731 */ GIR_EraseRootFromParent_Done,
25942 /* 72732 */ // Label 2069: @72732
25943 /* 72732 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2070*/ GIMT_Encode4(72783), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22749 //
25944 /* 72739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25945 /* 72743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
25946 /* 72747 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25947 /* 72751 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
25948 /* 72756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25949 /* 72758 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25950 /* 72765 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
25951 /* 72765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
25952 /* 72768 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25953 /* 72772 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25954 /* 72776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25955 /* 72781 */ GIR_RootConstrainSelectedInstOperands,
25956 /* 72782 */ // GIR_Coverage, 22749,
25957 /* 72782 */ GIR_EraseRootFromParent_Done,
25958 /* 72783 */ // Label 2070: @72783
25959 /* 72783 */ GIM_Try, /*On fail goto*//*Label 2071*/ GIMT_Encode4(72822), // Rule ID 22713 //
25960 /* 72788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25961 /* 72792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25962 /* 72796 */ // MIs[1] Operand 1
25963 /* 72796 */ // No operand predicates
25964 /* 72796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25965 /* 72798 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25966 /* 72805 */ // (atomic_store (imm:{ *:[i32] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
25967 /* 72805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
25968 /* 72808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25969 /* 72812 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25970 /* 72815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25971 /* 72820 */ GIR_RootConstrainSelectedInstOperands,
25972 /* 72821 */ // GIR_Coverage, 22713,
25973 /* 72821 */ GIR_EraseRootFromParent_Done,
25974 /* 72822 */ // Label 2071: @72822
25975 /* 72822 */ GIM_Reject,
25976 /* 72823 */ // Label 2067: @72823
25977 /* 72823 */ GIM_Try, /*On fail goto*//*Label 2072*/ GIMT_Encode4(72942),
25978 /* 72828 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25979 /* 72831 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25980 /* 72835 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25981 /* 72839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2073*/ GIMT_Encode4(72890), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 52 //
25982 /* 72846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25983 /* 72850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
25984 /* 72854 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25985 /* 72858 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25986 /* 72863 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25987 /* 72865 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25988 /* 72872 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
25989 /* 72872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr),
25990 /* 72875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25991 /* 72879 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
25992 /* 72883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25993 /* 72888 */ GIR_RootConstrainSelectedInstOperands,
25994 /* 72889 */ // GIR_Coverage, 52,
25995 /* 72889 */ GIR_EraseRootFromParent_Done,
25996 /* 72890 */ // Label 2073: @72890
25997 /* 72890 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2074*/ GIMT_Encode4(72941), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 58 //
25998 /* 72897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25999 /* 72901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
26000 /* 72905 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26001 /* 72909 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26002 /* 72914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26003 /* 72916 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26004 /* 72923 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
26005 /* 72923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr_EVEX),
26006 /* 72926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26007 /* 72930 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
26008 /* 72934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26009 /* 72939 */ GIR_RootConstrainSelectedInstOperands,
26010 /* 72940 */ // GIR_Coverage, 58,
26011 /* 72940 */ GIR_EraseRootFromParent_Done,
26012 /* 72941 */ // Label 2074: @72941
26013 /* 72941 */ GIM_Reject,
26014 /* 72942 */ // Label 2072: @72942
26015 /* 72942 */ GIM_Try, /*On fail goto*//*Label 2075*/ GIMT_Encode4(72987), // Rule ID 22717 //
26016 /* 72947 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26017 /* 72950 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26018 /* 72957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26019 /* 72961 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26020 /* 72965 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26021 /* 72972 */ // (atomic_store GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26022 /* 72972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26023 /* 72975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26024 /* 72979 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26025 /* 72981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26026 /* 72985 */ GIR_RootConstrainSelectedInstOperands,
26027 /* 72986 */ // GIR_Coverage, 22717,
26028 /* 72986 */ GIR_EraseRootFromParent_Done,
26029 /* 72987 */ // Label 2075: @72987
26030 /* 72987 */ GIM_Try, /*On fail goto*//*Label 2076*/ GIMT_Encode4(73184),
26031 /* 72992 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26032 /* 72995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26033 /* 72999 */ GIM_Try, /*On fail goto*//*Label 2077*/ GIMT_Encode4(73034), // Rule ID 34 //
26034 /* 73004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26035 /* 73008 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26036 /* 73012 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26037 /* 73019 */ // (st GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26038 /* 73019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26039 /* 73022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26040 /* 73026 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26041 /* 73028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26042 /* 73032 */ GIR_RootConstrainSelectedInstOperands,
26043 /* 73033 */ // GIR_Coverage, 34,
26044 /* 73033 */ GIR_EraseRootFromParent_Done,
26045 /* 73034 */ // Label 2077: @73034
26046 /* 73034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2078*/ GIMT_Encode4(73074), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1071 //
26047 /* 73041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
26048 /* 73045 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26049 /* 73049 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26050 /* 73056 */ // (st RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp32m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
26051 /* 73056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp32m),
26052 /* 73059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
26053 /* 73063 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26054 /* 73065 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
26055 /* 73068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26056 /* 73072 */ GIR_RootConstrainSelectedInstOperands,
26057 /* 73073 */ // GIR_Coverage, 1071,
26058 /* 73073 */ GIR_EraseRootFromParent_Done,
26059 /* 73074 */ // Label 2078: @73074
26060 /* 73074 */ GIM_Try, /*On fail goto*//*Label 2079*/ GIMT_Encode4(73146),
26061 /* 73079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26062 /* 73083 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26063 /* 73087 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2080*/ GIMT_Encode4(73116), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1663 //
26064 /* 73094 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26065 /* 73101 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26066 /* 73101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
26067 /* 73104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26068 /* 73108 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26069 /* 73110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26070 /* 73114 */ GIR_RootConstrainSelectedInstOperands,
26071 /* 73115 */ // GIR_Coverage, 1663,
26072 /* 73115 */ GIR_EraseRootFromParent_Done,
26073 /* 73116 */ // Label 2080: @73116
26074 /* 73116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2081*/ GIMT_Encode4(73145), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1665 //
26075 /* 73123 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26076 /* 73130 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26077 /* 73130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
26078 /* 73133 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26079 /* 73137 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26080 /* 73139 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26081 /* 73143 */ GIR_RootConstrainSelectedInstOperands,
26082 /* 73144 */ // GIR_Coverage, 1665,
26083 /* 73144 */ GIR_EraseRootFromParent_Done,
26084 /* 73145 */ // Label 2081: @73145
26085 /* 73145 */ GIM_Reject,
26086 /* 73146 */ // Label 2079: @73146
26087 /* 73146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2082*/ GIMT_Encode4(73183), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4611 //
26088 /* 73153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
26089 /* 73157 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26090 /* 73161 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26091 /* 73168 */ // (st FR32X:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32X:{ *:[f32] }:$src)
26092 /* 73168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
26093 /* 73171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26094 /* 73175 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26095 /* 73177 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26096 /* 73181 */ GIR_RootConstrainSelectedInstOperands,
26097 /* 73182 */ // GIR_Coverage, 4611,
26098 /* 73182 */ GIR_EraseRootFromParent_Done,
26099 /* 73183 */ // Label 2082: @73183
26100 /* 73183 */ GIM_Reject,
26101 /* 73184 */ // Label 2076: @73184
26102 /* 73184 */ GIM_Reject,
26103 /* 73185 */ // Label 1859: @73185
26104 /* 73185 */ GIM_Try, /*On fail goto*//*Label 2083*/ GIMT_Encode4(73534),
26105 /* 73190 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26106 /* 73193 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26107 /* 73200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2084*/ GIMT_Encode4(73285), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22698 //
26108 /* 73207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26109 /* 73211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26110 /* 73215 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26111 /* 73219 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26112 /* 73223 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26113 /* 73227 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26114 /* 73231 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26115 /* 73234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26116 /* 73238 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26117 /* 73245 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26118 /* 73249 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
26119 /* 73253 */ // MIs[0] dst
26120 /* 73253 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26121 /* 73258 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26122 /* 73260 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26123 /* 73267 */ // (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)
26124 /* 73267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
26125 /* 73270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26126 /* 73274 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26127 /* 73277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26128 /* 73283 */ GIR_RootConstrainSelectedInstOperands,
26129 /* 73284 */ // GIR_Coverage, 22698,
26130 /* 73284 */ GIR_EraseRootFromParent_Done,
26131 /* 73285 */ // Label 2084: @73285
26132 /* 73285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2085*/ GIMT_Encode4(73370), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22702 //
26133 /* 73292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26134 /* 73296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26135 /* 73300 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26136 /* 73304 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26137 /* 73308 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26138 /* 73312 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26139 /* 73316 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26140 /* 73319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26141 /* 73323 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26142 /* 73330 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26143 /* 73334 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26144 /* 73338 */ // MIs[0] dst
26145 /* 73338 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26146 /* 73343 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26147 /* 73345 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26148 /* 73352 */ // (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)
26149 /* 73352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
26150 /* 73355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26151 /* 73359 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26152 /* 73362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26153 /* 73368 */ GIR_RootConstrainSelectedInstOperands,
26154 /* 73369 */ // GIR_Coverage, 22702,
26155 /* 73369 */ GIR_EraseRootFromParent_Done,
26156 /* 73370 */ // Label 2085: @73370
26157 /* 73370 */ GIM_Try, /*On fail goto*//*Label 2086*/ GIMT_Encode4(73453), // Rule ID 22706 //
26158 /* 73375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26159 /* 73379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26160 /* 73383 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26161 /* 73387 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26162 /* 73391 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
26163 /* 73395 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26164 /* 73399 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26165 /* 73403 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26166 /* 73406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26167 /* 73410 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26168 /* 73417 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26169 /* 73421 */ // MIs[0] dst
26170 /* 73421 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26171 /* 73426 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26172 /* 73428 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26173 /* 73435 */ // (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)
26174 /* 73435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
26175 /* 73438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26176 /* 73442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26177 /* 73445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26178 /* 73451 */ GIR_RootConstrainSelectedInstOperands,
26179 /* 73452 */ // GIR_Coverage, 22706,
26180 /* 73452 */ GIR_EraseRootFromParent_Done,
26181 /* 73453 */ // Label 2086: @73453
26182 /* 73453 */ GIM_Try, /*On fail goto*//*Label 2087*/ GIMT_Encode4(73533), // Rule ID 22710 //
26183 /* 73458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26184 /* 73462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26185 /* 73466 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26186 /* 73470 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26187 /* 73474 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26188 /* 73478 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26189 /* 73482 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26190 /* 73485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26191 /* 73489 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26192 /* 73496 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26193 /* 73500 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26194 /* 73504 */ // MIs[0] dst
26195 /* 73504 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26196 /* 73509 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26197 /* 73511 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26198 /* 73518 */ // (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)
26199 /* 73518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
26200 /* 73521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26201 /* 73525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26202 /* 73531 */ GIR_RootConstrainSelectedInstOperands,
26203 /* 73532 */ // GIR_Coverage, 22710,
26204 /* 73532 */ GIR_EraseRootFromParent_Done,
26205 /* 73533 */ // Label 2087: @73533
26206 /* 73533 */ GIM_Reject,
26207 /* 73534 */ // Label 2083: @73534
26208 /* 73534 */ GIM_Try, /*On fail goto*//*Label 2088*/ GIMT_Encode4(74191),
26209 /* 73539 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26210 /* 73542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26211 /* 73546 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2089*/ GIMT_Encode4(73624), GIMT_Encode2(GIFBS_In64BitMode_UseIncDec), // Rule ID 229 //
26212 /* 73553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26213 /* 73557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26214 /* 73561 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26215 /* 73565 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26216 /* 73569 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26217 /* 73573 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26218 /* 73577 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26219 /* 73580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26220 /* 73584 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26221 /* 73588 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
26222 /* 73592 */ // MIs[0] src1
26223 /* 73592 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26224 /* 73597 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26225 /* 73599 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26226 /* 73606 */ // (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)
26227 /* 73606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
26228 /* 73609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26229 /* 73613 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26230 /* 73616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26231 /* 73622 */ GIR_RootConstrainSelectedInstOperands,
26232 /* 73623 */ // GIR_Coverage, 229,
26233 /* 73623 */ GIR_EraseRootFromParent_Done,
26234 /* 73624 */ // Label 2089: @73624
26235 /* 73624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2090*/ GIMT_Encode4(73702), GIMT_Encode2(GIFBS_In64BitMode_UseIncDec), // Rule ID 230 //
26236 /* 73631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26237 /* 73635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26238 /* 73639 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26239 /* 73643 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26240 /* 73647 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26241 /* 73651 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26242 /* 73655 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26243 /* 73658 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26244 /* 73662 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26245 /* 73666 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26246 /* 73670 */ // MIs[0] src1
26247 /* 73670 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26248 /* 73675 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26249 /* 73677 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26250 /* 73684 */ // (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)
26251 /* 73684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
26252 /* 73687 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26253 /* 73691 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26254 /* 73694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26255 /* 73700 */ GIR_RootConstrainSelectedInstOperands,
26256 /* 73701 */ // GIR_Coverage, 230,
26257 /* 73701 */ GIR_EraseRootFromParent_Done,
26258 /* 73702 */ // Label 2090: @73702
26259 /* 73702 */ GIM_Try, /*On fail goto*//*Label 2091*/ GIMT_Encode4(73788), // Rule ID 22859 //
26260 /* 73707 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26261 /* 73711 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26262 /* 73715 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26263 /* 73719 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26264 /* 73723 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26265 /* 73727 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26266 /* 73731 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26267 /* 73734 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26268 /* 73738 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26269 /* 73742 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
26270 /* 73753 */ // MIs[0] dst
26271 /* 73753 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26272 /* 73758 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26273 /* 73760 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26274 /* 73767 */ // (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] })
26275 /* 73767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
26276 /* 73770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26277 /* 73774 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
26278 /* 73777 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26279 /* 73780 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26280 /* 73786 */ GIR_RootConstrainSelectedInstOperands,
26281 /* 73787 */ // GIR_Coverage, 22859,
26282 /* 73787 */ GIR_EraseRootFromParent_Done,
26283 /* 73788 */ // Label 2091: @73788
26284 /* 73788 */ GIM_Try, /*On fail goto*//*Label 2092*/ GIMT_Encode4(73881), // Rule ID 22867 //
26285 /* 73793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26286 /* 73797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26287 /* 73801 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26288 /* 73805 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26289 /* 73809 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26290 /* 73813 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26291 /* 73817 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26292 /* 73820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26293 /* 73824 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26294 /* 73828 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(2147483648),
26295 /* 73839 */ // MIs[0] dst
26296 /* 73839 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26297 /* 73844 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26298 /* 73846 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26299 /* 73853 */ // (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] })
26300 /* 73853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
26301 /* 73856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26302 /* 73860 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
26303 /* 73870 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26304 /* 73873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26305 /* 73879 */ GIR_RootConstrainSelectedInstOperands,
26306 /* 73880 */ // GIR_Coverage, 22867,
26307 /* 73880 */ GIR_EraseRootFromParent_Done,
26308 /* 73881 */ // Label 2092: @73881
26309 /* 73881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2093*/ GIMT_Encode4(73959), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 17672 //
26310 /* 73888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26311 /* 73892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26312 /* 73896 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26313 /* 73900 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26314 /* 73904 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26315 /* 73908 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26316 /* 73912 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26317 /* 73915 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26318 /* 73919 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26319 /* 73923 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
26320 /* 73927 */ // MIs[0] dst
26321 /* 73927 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26322 /* 73932 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26323 /* 73934 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26324 /* 73941 */ // (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)
26325 /* 73941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64m1),
26326 /* 73944 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26327 /* 73948 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26328 /* 73951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26329 /* 73957 */ GIR_RootConstrainSelectedInstOperands,
26330 /* 73958 */ // GIR_Coverage, 17672,
26331 /* 73958 */ GIR_EraseRootFromParent_Done,
26332 /* 73959 */ // Label 2093: @73959
26333 /* 73959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2094*/ GIMT_Encode4(74037), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 17676 //
26334 /* 73966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26335 /* 73970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26336 /* 73974 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26337 /* 73978 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26338 /* 73982 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26339 /* 73986 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26340 /* 73990 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26341 /* 73993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26342 /* 73997 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26343 /* 74001 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
26344 /* 74005 */ // MIs[0] dst
26345 /* 74005 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26346 /* 74010 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26347 /* 74012 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26348 /* 74019 */ // (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)
26349 /* 74019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64m1),
26350 /* 74022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26351 /* 74026 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26352 /* 74029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26353 /* 74035 */ GIR_RootConstrainSelectedInstOperands,
26354 /* 74036 */ // GIR_Coverage, 17676,
26355 /* 74036 */ GIR_EraseRootFromParent_Done,
26356 /* 74037 */ // Label 2094: @74037
26357 /* 74037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2095*/ GIMT_Encode4(74115), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 262 //
26358 /* 74044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26359 /* 74048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26360 /* 74052 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26361 /* 74056 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26362 /* 74060 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
26363 /* 74064 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26364 /* 74068 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26365 /* 74072 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26366 /* 74075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26367 /* 74079 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26368 /* 74083 */ // MIs[0] src1
26369 /* 74083 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26370 /* 74088 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26371 /* 74090 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26372 /* 74097 */ // (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)
26373 /* 74097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
26374 /* 74100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26375 /* 74104 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26376 /* 74107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26377 /* 74113 */ GIR_RootConstrainSelectedInstOperands,
26378 /* 74114 */ // GIR_Coverage, 262,
26379 /* 74114 */ GIR_EraseRootFromParent_Done,
26380 /* 74115 */ // Label 2095: @74115
26381 /* 74115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2096*/ GIMT_Encode4(74190), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 270 //
26382 /* 74122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26383 /* 74126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26384 /* 74130 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26385 /* 74134 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26386 /* 74138 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26387 /* 74142 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26388 /* 74146 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26389 /* 74149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26390 /* 74153 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26391 /* 74157 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26392 /* 74161 */ // MIs[0] src1
26393 /* 74161 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26394 /* 74166 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26395 /* 74168 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26396 /* 74175 */ // (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)
26397 /* 74175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
26398 /* 74178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26399 /* 74182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26400 /* 74188 */ GIR_RootConstrainSelectedInstOperands,
26401 /* 74189 */ // GIR_Coverage, 270,
26402 /* 74189 */ GIR_EraseRootFromParent_Done,
26403 /* 74190 */ // Label 2096: @74190
26404 /* 74190 */ GIM_Reject,
26405 /* 74191 */ // Label 2088: @74191
26406 /* 74191 */ GIM_Try, /*On fail goto*//*Label 2097*/ GIMT_Encode4(74682),
26407 /* 74196 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26408 /* 74199 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26409 /* 74206 */ GIM_Try, /*On fail goto*//*Label 2098*/ GIMT_Encode4(74301), // Rule ID 22634 //
26410 /* 74211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26411 /* 74215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26412 /* 74219 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26413 /* 74223 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26414 /* 74227 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26415 /* 74231 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26416 /* 74235 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26417 /* 74238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26418 /* 74242 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26419 /* 74249 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26420 /* 74253 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26421 /* 74257 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26422 /* 74261 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26423 /* 74265 */ // MIs[3] Operand 1
26424 /* 74265 */ // No operand predicates
26425 /* 74265 */ // MIs[0] dst
26426 /* 74265 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26427 /* 74270 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26428 /* 74272 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26429 /* 74279 */ // (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)
26430 /* 74279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mi32),
26431 /* 74282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26432 /* 74286 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26433 /* 74289 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26434 /* 74292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26435 /* 74299 */ GIR_RootConstrainSelectedInstOperands,
26436 /* 74300 */ // GIR_Coverage, 22634,
26437 /* 74300 */ GIR_EraseRootFromParent_Done,
26438 /* 74301 */ // Label 2098: @74301
26439 /* 74301 */ GIM_Try, /*On fail goto*//*Label 2099*/ GIMT_Encode4(74396), // Rule ID 22642 //
26440 /* 74306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26441 /* 74310 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26442 /* 74314 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26443 /* 74318 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26444 /* 74322 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26445 /* 74326 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26446 /* 74330 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26447 /* 74333 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26448 /* 74337 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26449 /* 74344 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26450 /* 74348 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26451 /* 74352 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26452 /* 74356 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26453 /* 74360 */ // MIs[3] Operand 1
26454 /* 74360 */ // No operand predicates
26455 /* 74360 */ // MIs[0] dst
26456 /* 74360 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26457 /* 74365 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26458 /* 74367 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26459 /* 74374 */ // (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)
26460 /* 74374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mi32),
26461 /* 74377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26462 /* 74381 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26463 /* 74384 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26464 /* 74387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26465 /* 74394 */ GIR_RootConstrainSelectedInstOperands,
26466 /* 74395 */ // GIR_Coverage, 22642,
26467 /* 74395 */ GIR_EraseRootFromParent_Done,
26468 /* 74396 */ // Label 2099: @74396
26469 /* 74396 */ GIM_Try, /*On fail goto*//*Label 2100*/ GIMT_Encode4(74491), // Rule ID 22650 //
26470 /* 74401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26471 /* 74405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26472 /* 74409 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26473 /* 74413 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26474 /* 74417 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26475 /* 74421 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26476 /* 74425 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26477 /* 74428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26478 /* 74432 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26479 /* 74439 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26480 /* 74443 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26481 /* 74447 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26482 /* 74451 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26483 /* 74455 */ // MIs[3] Operand 1
26484 /* 74455 */ // No operand predicates
26485 /* 74455 */ // MIs[0] dst
26486 /* 74455 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26487 /* 74460 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26488 /* 74462 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26489 /* 74469 */ // (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)
26490 /* 74469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mi32),
26491 /* 74472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26492 /* 74476 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26493 /* 74479 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26494 /* 74482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26495 /* 74489 */ GIR_RootConstrainSelectedInstOperands,
26496 /* 74490 */ // GIR_Coverage, 22650,
26497 /* 74490 */ GIR_EraseRootFromParent_Done,
26498 /* 74491 */ // Label 2100: @74491
26499 /* 74491 */ GIM_Try, /*On fail goto*//*Label 2101*/ GIMT_Encode4(74586), // Rule ID 22666 //
26500 /* 74496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26501 /* 74500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26502 /* 74504 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26503 /* 74508 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26504 /* 74512 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26505 /* 74516 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26506 /* 74520 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26507 /* 74523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26508 /* 74527 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26509 /* 74534 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26510 /* 74538 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26511 /* 74542 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26512 /* 74546 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26513 /* 74550 */ // MIs[3] Operand 1
26514 /* 74550 */ // No operand predicates
26515 /* 74550 */ // MIs[0] dst
26516 /* 74550 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26517 /* 74555 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26518 /* 74557 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26519 /* 74564 */ // (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)
26520 /* 74564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
26521 /* 74567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26522 /* 74571 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26523 /* 74574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26524 /* 74577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26525 /* 74584 */ GIR_RootConstrainSelectedInstOperands,
26526 /* 74585 */ // GIR_Coverage, 22666,
26527 /* 74585 */ GIR_EraseRootFromParent_Done,
26528 /* 74586 */ // Label 2101: @74586
26529 /* 74586 */ GIM_Try, /*On fail goto*//*Label 2102*/ GIMT_Encode4(74681), // Rule ID 22658 //
26530 /* 74591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26531 /* 74595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26532 /* 74599 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26533 /* 74603 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26534 /* 74607 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26535 /* 74611 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26536 /* 74615 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26537 /* 74618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26538 /* 74622 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26539 /* 74629 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26540 /* 74633 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26541 /* 74637 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26542 /* 74641 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26543 /* 74645 */ // MIs[3] Operand 1
26544 /* 74645 */ // No operand predicates
26545 /* 74645 */ // MIs[0] dst
26546 /* 74645 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26547 /* 74650 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26548 /* 74652 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26549 /* 74659 */ // (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)
26550 /* 74659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mi32),
26551 /* 74662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26552 /* 74666 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26553 /* 74669 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26554 /* 74672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26555 /* 74679 */ GIR_RootConstrainSelectedInstOperands,
26556 /* 74680 */ // GIR_Coverage, 22658,
26557 /* 74680 */ GIR_EraseRootFromParent_Done,
26558 /* 74681 */ // Label 2102: @74681
26559 /* 74681 */ GIM_Reject,
26560 /* 74682 */ // Label 2097: @74682
26561 /* 74682 */ GIM_Try, /*On fail goto*//*Label 2103*/ GIMT_Encode4(75319),
26562 /* 74687 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26563 /* 74690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26564 /* 74694 */ GIM_Try, /*On fail goto*//*Label 2104*/ GIMT_Encode4(74791), // Rule ID 811 //
26565 /* 74699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26566 /* 74703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
26567 /* 74707 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26568 /* 74711 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26569 /* 74715 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26570 /* 74719 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26571 /* 74723 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26572 /* 74727 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26573 /* 74730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26574 /* 74734 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26575 /* 74738 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26576 /* 74743 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
26577 /* 74747 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26578 /* 74751 */ // MIs[3] Operand 1
26579 /* 74751 */ // No operand predicates
26580 /* 74751 */ // MIs[0] src1
26581 /* 74751 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26582 /* 74756 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26583 /* 74758 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26584 /* 74765 */ // (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)
26585 /* 74765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mri8),
26586 /* 74768 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26587 /* 74772 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26588 /* 74776 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
26589 /* 74779 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26590 /* 74782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26591 /* 74789 */ GIR_RootConstrainSelectedInstOperands,
26592 /* 74790 */ // GIR_Coverage, 811,
26593 /* 74790 */ GIR_EraseRootFromParent_Done,
26594 /* 74791 */ // Label 2104: @74791
26595 /* 74791 */ GIM_Try, /*On fail goto*//*Label 2105*/ GIMT_Encode4(74888), // Rule ID 835 //
26596 /* 74796 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26597 /* 74800 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
26598 /* 74804 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26599 /* 74808 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26600 /* 74812 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26601 /* 74816 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26602 /* 74821 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26603 /* 74825 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26604 /* 74829 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26605 /* 74832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26606 /* 74836 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26607 /* 74840 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
26608 /* 74844 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26609 /* 74848 */ // MIs[3] Operand 1
26610 /* 74848 */ // No operand predicates
26611 /* 74848 */ // MIs[0] src1
26612 /* 74848 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26613 /* 74853 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26614 /* 74855 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26615 /* 74862 */ // (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)
26616 /* 74862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mri8),
26617 /* 74865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26618 /* 74869 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26619 /* 74873 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
26620 /* 74876 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26621 /* 74879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26622 /* 74886 */ GIR_RootConstrainSelectedInstOperands,
26623 /* 74887 */ // GIR_Coverage, 835,
26624 /* 74887 */ GIR_EraseRootFromParent_Done,
26625 /* 74888 */ // Label 2105: @74888
26626 /* 74888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2106*/ GIMT_Encode4(74974), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 712 //
26627 /* 74895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26628 /* 74899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
26629 /* 74903 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26630 /* 74907 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26631 /* 74911 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26632 /* 74915 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26633 /* 74919 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26634 /* 74922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26635 /* 74926 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26636 /* 74930 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26637 /* 74934 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26638 /* 74938 */ // MIs[3] Operand 1
26639 /* 74938 */ // No operand predicates
26640 /* 74938 */ // MIs[0] src1
26641 /* 74938 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26642 /* 74943 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26643 /* 74945 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26644 /* 74952 */ // (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)
26645 /* 74952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mi),
26646 /* 74955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26647 /* 74959 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26648 /* 74962 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26649 /* 74965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26650 /* 74972 */ GIR_RootConstrainSelectedInstOperands,
26651 /* 74973 */ // GIR_Coverage, 712,
26652 /* 74973 */ GIR_EraseRootFromParent_Done,
26653 /* 74974 */ // Label 2106: @74974
26654 /* 74974 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2107*/ GIMT_Encode4(75060), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 680 //
26655 /* 74981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26656 /* 74985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
26657 /* 74989 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26658 /* 74993 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26659 /* 74997 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26660 /* 75001 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26661 /* 75005 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26662 /* 75008 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26663 /* 75012 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26664 /* 75016 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26665 /* 75020 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26666 /* 75024 */ // MIs[3] Operand 1
26667 /* 75024 */ // No operand predicates
26668 /* 75024 */ // MIs[0] src1
26669 /* 75024 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26670 /* 75029 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26671 /* 75031 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26672 /* 75038 */ // (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)
26673 /* 75038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mi),
26674 /* 75041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26675 /* 75045 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26676 /* 75048 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26677 /* 75051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26678 /* 75058 */ GIR_RootConstrainSelectedInstOperands,
26679 /* 75059 */ // GIR_Coverage, 680,
26680 /* 75059 */ GIR_EraseRootFromParent_Done,
26681 /* 75060 */ // Label 2107: @75060
26682 /* 75060 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2108*/ GIMT_Encode4(75146), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 744 //
26683 /* 75067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26684 /* 75071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26685 /* 75075 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26686 /* 75079 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26687 /* 75083 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26688 /* 75087 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26689 /* 75091 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26690 /* 75094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26691 /* 75098 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26692 /* 75102 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26693 /* 75106 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26694 /* 75110 */ // MIs[3] Operand 1
26695 /* 75110 */ // No operand predicates
26696 /* 75110 */ // MIs[0] src1
26697 /* 75110 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26698 /* 75115 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26699 /* 75117 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26700 /* 75124 */ // (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)
26701 /* 75124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mi),
26702 /* 75127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26703 /* 75131 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26704 /* 75134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26705 /* 75137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26706 /* 75144 */ GIR_RootConstrainSelectedInstOperands,
26707 /* 75145 */ // GIR_Coverage, 744,
26708 /* 75145 */ GIR_EraseRootFromParent_Done,
26709 /* 75146 */ // Label 2108: @75146
26710 /* 75146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2109*/ GIMT_Encode4(75232), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 776 //
26711 /* 75153 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26712 /* 75157 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26713 /* 75161 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26714 /* 75165 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26715 /* 75169 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26716 /* 75173 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26717 /* 75177 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26718 /* 75180 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26719 /* 75184 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26720 /* 75188 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26721 /* 75192 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26722 /* 75196 */ // MIs[3] Operand 1
26723 /* 75196 */ // No operand predicates
26724 /* 75196 */ // MIs[0] src1
26725 /* 75196 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26726 /* 75201 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26727 /* 75203 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26728 /* 75210 */ // (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)
26729 /* 75210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mi),
26730 /* 75213 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26731 /* 75217 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26732 /* 75220 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26733 /* 75223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26734 /* 75230 */ GIR_RootConstrainSelectedInstOperands,
26735 /* 75231 */ // GIR_Coverage, 776,
26736 /* 75231 */ GIR_EraseRootFromParent_Done,
26737 /* 75232 */ // Label 2109: @75232
26738 /* 75232 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2110*/ GIMT_Encode4(75318), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 648 //
26739 /* 75239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26740 /* 75243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
26741 /* 75247 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26742 /* 75251 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26743 /* 75255 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26744 /* 75259 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26745 /* 75263 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26746 /* 75266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26747 /* 75270 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26748 /* 75274 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26749 /* 75278 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26750 /* 75282 */ // MIs[3] Operand 1
26751 /* 75282 */ // No operand predicates
26752 /* 75282 */ // MIs[0] src1
26753 /* 75282 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26754 /* 75287 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26755 /* 75289 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26756 /* 75296 */ // (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)
26757 /* 75296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mi),
26758 /* 75299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26759 /* 75303 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26760 /* 75306 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26761 /* 75309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26762 /* 75316 */ GIR_RootConstrainSelectedInstOperands,
26763 /* 75317 */ // GIR_Coverage, 648,
26764 /* 75317 */ GIR_EraseRootFromParent_Done,
26765 /* 75318 */ // Label 2110: @75318
26766 /* 75318 */ GIM_Reject,
26767 /* 75319 */ // Label 2103: @75319
26768 /* 75319 */ GIM_Try, /*On fail goto*//*Label 2111*/ GIMT_Encode4(76127),
26769 /* 75324 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26770 /* 75327 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26771 /* 75334 */ GIM_Try, /*On fail goto*//*Label 2112*/ GIMT_Encode4(75422), // Rule ID 22638 //
26772 /* 75339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26773 /* 75343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26774 /* 75347 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26775 /* 75351 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26776 /* 75355 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26777 /* 75359 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26778 /* 75363 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26779 /* 75366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26780 /* 75370 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26781 /* 75377 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26782 /* 75381 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26783 /* 75386 */ // MIs[0] dst
26784 /* 75386 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26785 /* 75391 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26786 /* 75393 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26787 /* 75400 */ // (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)
26788 /* 75400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
26789 /* 75403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26790 /* 75407 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26791 /* 75411 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26792 /* 75414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26793 /* 75420 */ GIR_RootConstrainSelectedInstOperands,
26794 /* 75421 */ // GIR_Coverage, 22638,
26795 /* 75421 */ GIR_EraseRootFromParent_Done,
26796 /* 75422 */ // Label 2112: @75422
26797 /* 75422 */ GIM_Try, /*On fail goto*//*Label 2113*/ GIMT_Encode4(75510), // Rule ID 26265 //
26798 /* 75427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26799 /* 75431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26800 /* 75435 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26801 /* 75439 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26802 /* 75443 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26803 /* 75448 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26804 /* 75452 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26805 /* 75456 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26806 /* 75459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26807 /* 75463 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26808 /* 75470 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26809 /* 75474 */ // MIs[0] dst
26810 /* 75474 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26811 /* 75479 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26812 /* 75481 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26813 /* 75488 */ // (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)
26814 /* 75488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
26815 /* 75491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26816 /* 75495 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26817 /* 75499 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26818 /* 75502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26819 /* 75508 */ GIR_RootConstrainSelectedInstOperands,
26820 /* 75509 */ // GIR_Coverage, 26265,
26821 /* 75509 */ GIR_EraseRootFromParent_Done,
26822 /* 75510 */ // Label 2113: @75510
26823 /* 75510 */ GIM_Try, /*On fail goto*//*Label 2114*/ GIMT_Encode4(75598), // Rule ID 22646 //
26824 /* 75515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26825 /* 75519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26826 /* 75523 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26827 /* 75527 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26828 /* 75531 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26829 /* 75535 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26830 /* 75539 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26831 /* 75542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26832 /* 75546 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26833 /* 75553 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26834 /* 75557 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26835 /* 75562 */ // MIs[0] dst
26836 /* 75562 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26837 /* 75567 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26838 /* 75569 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26839 /* 75576 */ // (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)
26840 /* 75576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
26841 /* 75579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26842 /* 75583 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26843 /* 75587 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26844 /* 75590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26845 /* 75596 */ GIR_RootConstrainSelectedInstOperands,
26846 /* 75597 */ // GIR_Coverage, 22646,
26847 /* 75597 */ GIR_EraseRootFromParent_Done,
26848 /* 75598 */ // Label 2114: @75598
26849 /* 75598 */ GIM_Try, /*On fail goto*//*Label 2115*/ GIMT_Encode4(75686), // Rule ID 26269 //
26850 /* 75603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26851 /* 75607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26852 /* 75611 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26853 /* 75615 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26854 /* 75619 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26855 /* 75624 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26856 /* 75628 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26857 /* 75632 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26858 /* 75635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26859 /* 75639 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26860 /* 75646 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26861 /* 75650 */ // MIs[0] dst
26862 /* 75650 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26863 /* 75655 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26864 /* 75657 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26865 /* 75664 */ // (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)
26866 /* 75664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
26867 /* 75667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26868 /* 75671 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26869 /* 75675 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26870 /* 75678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26871 /* 75684 */ GIR_RootConstrainSelectedInstOperands,
26872 /* 75685 */ // GIR_Coverage, 26269,
26873 /* 75685 */ GIR_EraseRootFromParent_Done,
26874 /* 75686 */ // Label 2115: @75686
26875 /* 75686 */ GIM_Try, /*On fail goto*//*Label 2116*/ GIMT_Encode4(75774), // Rule ID 22654 //
26876 /* 75691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26877 /* 75695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26878 /* 75699 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26879 /* 75703 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26880 /* 75707 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26881 /* 75711 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26882 /* 75715 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26883 /* 75718 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26884 /* 75722 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26885 /* 75729 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26886 /* 75733 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26887 /* 75738 */ // MIs[0] dst
26888 /* 75738 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26889 /* 75743 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26890 /* 75745 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26891 /* 75752 */ // (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)
26892 /* 75752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
26893 /* 75755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26894 /* 75759 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26895 /* 75763 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26896 /* 75766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26897 /* 75772 */ GIR_RootConstrainSelectedInstOperands,
26898 /* 75773 */ // GIR_Coverage, 22654,
26899 /* 75773 */ GIR_EraseRootFromParent_Done,
26900 /* 75774 */ // Label 2116: @75774
26901 /* 75774 */ GIM_Try, /*On fail goto*//*Label 2117*/ GIMT_Encode4(75862), // Rule ID 26273 //
26902 /* 75779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26903 /* 75783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26904 /* 75787 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26905 /* 75791 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26906 /* 75795 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26907 /* 75800 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26908 /* 75804 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26909 /* 75808 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26910 /* 75811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26911 /* 75815 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26912 /* 75822 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26913 /* 75826 */ // MIs[0] dst
26914 /* 75826 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26915 /* 75831 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26916 /* 75833 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26917 /* 75840 */ // (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)
26918 /* 75840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
26919 /* 75843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26920 /* 75847 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26921 /* 75851 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26922 /* 75854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26923 /* 75860 */ GIR_RootConstrainSelectedInstOperands,
26924 /* 75861 */ // GIR_Coverage, 26273,
26925 /* 75861 */ GIR_EraseRootFromParent_Done,
26926 /* 75862 */ // Label 2117: @75862
26927 /* 75862 */ GIM_Try, /*On fail goto*//*Label 2118*/ GIMT_Encode4(75950), // Rule ID 22670 //
26928 /* 75867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26929 /* 75871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26930 /* 75875 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26931 /* 75879 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26932 /* 75883 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26933 /* 75887 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26934 /* 75891 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26935 /* 75894 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26936 /* 75898 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26937 /* 75905 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26938 /* 75909 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26939 /* 75914 */ // MIs[0] dst
26940 /* 75914 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26941 /* 75919 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26942 /* 75921 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26943 /* 75928 */ // (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)
26944 /* 75928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
26945 /* 75931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26946 /* 75935 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26947 /* 75939 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26948 /* 75942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26949 /* 75948 */ GIR_RootConstrainSelectedInstOperands,
26950 /* 75949 */ // GIR_Coverage, 22670,
26951 /* 75949 */ GIR_EraseRootFromParent_Done,
26952 /* 75950 */ // Label 2118: @75950
26953 /* 75950 */ GIM_Try, /*On fail goto*//*Label 2119*/ GIMT_Encode4(76038), // Rule ID 22662 //
26954 /* 75955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26955 /* 75959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26956 /* 75963 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26957 /* 75967 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26958 /* 75971 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26959 /* 75975 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26960 /* 75979 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26961 /* 75982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26962 /* 75986 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26963 /* 75993 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26964 /* 75997 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26965 /* 76002 */ // MIs[0] dst
26966 /* 76002 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26967 /* 76007 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26968 /* 76009 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26969 /* 76016 */ // (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)
26970 /* 76016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
26971 /* 76019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26972 /* 76023 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26973 /* 76027 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26974 /* 76030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26975 /* 76036 */ GIR_RootConstrainSelectedInstOperands,
26976 /* 76037 */ // GIR_Coverage, 22662,
26977 /* 76037 */ GIR_EraseRootFromParent_Done,
26978 /* 76038 */ // Label 2119: @76038
26979 /* 76038 */ GIM_Try, /*On fail goto*//*Label 2120*/ GIMT_Encode4(76126), // Rule ID 26277 //
26980 /* 76043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26981 /* 76047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26982 /* 76051 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26983 /* 76055 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26984 /* 76059 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26985 /* 76064 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26986 /* 76068 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26987 /* 76072 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26988 /* 76075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26989 /* 76079 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26990 /* 76086 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26991 /* 76090 */ // MIs[0] dst
26992 /* 76090 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26993 /* 76095 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26994 /* 76097 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26995 /* 76104 */ // (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)
26996 /* 76104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
26997 /* 76107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26998 /* 76111 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26999 /* 76115 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27000 /* 76118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27001 /* 76124 */ GIR_RootConstrainSelectedInstOperands,
27002 /* 76125 */ // GIR_Coverage, 26277,
27003 /* 76125 */ GIR_EraseRootFromParent_Done,
27004 /* 76126 */ // Label 2120: @76126
27005 /* 76126 */ GIM_Reject,
27006 /* 76127 */ // Label 2111: @76127
27007 /* 76127 */ GIM_Try, /*On fail goto*//*Label 2121*/ GIMT_Encode4(77542),
27008 /* 76132 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27009 /* 76135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27010 /* 76139 */ GIM_Try, /*On fail goto*//*Label 2122*/ GIMT_Encode4(76243), // Rule ID 814 //
27011 /* 76144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27012 /* 76148 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
27013 /* 76152 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27014 /* 76156 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27015 /* 76160 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27016 /* 76164 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27017 /* 76168 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27018 /* 76172 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27019 /* 76175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27020 /* 76179 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27021 /* 76183 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27022 /* 76188 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27023 /* 76193 */ // MIs[0] src1
27024 /* 76193 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27025 /* 76198 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27026 /* 76200 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27027 /* 76207 */ // (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)
27028 /* 76207 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27029 /* 76211 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27030 /* 76217 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27031 /* 76221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mrCL),
27032 /* 76224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27033 /* 76228 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27034 /* 76232 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27035 /* 76235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27036 /* 76241 */ GIR_RootConstrainSelectedInstOperands,
27037 /* 76242 */ // GIR_Coverage, 814,
27038 /* 76242 */ GIR_EraseRootFromParent_Done,
27039 /* 76243 */ // Label 2122: @76243
27040 /* 76243 */ GIM_Try, /*On fail goto*//*Label 2123*/ GIMT_Encode4(76347), // Rule ID 838 //
27041 /* 76248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27042 /* 76252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
27043 /* 76256 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27044 /* 76260 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27045 /* 76264 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27046 /* 76268 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27047 /* 76273 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27048 /* 76277 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27049 /* 76281 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27050 /* 76284 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27051 /* 76288 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27052 /* 76292 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27053 /* 76297 */ // MIs[0] src1
27054 /* 76297 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27055 /* 76302 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27056 /* 76304 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27057 /* 76311 */ // (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)
27058 /* 76311 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27059 /* 76315 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27060 /* 76321 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27061 /* 76325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mrCL),
27062 /* 76328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27063 /* 76332 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27064 /* 76336 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27065 /* 76339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27066 /* 76345 */ GIR_RootConstrainSelectedInstOperands,
27067 /* 76346 */ // GIR_Coverage, 838,
27068 /* 76346 */ GIR_EraseRootFromParent_Done,
27069 /* 76347 */ // Label 2123: @76347
27070 /* 76347 */ GIM_Try, /*On fail goto*//*Label 2124*/ GIMT_Encode4(76428), // Rule ID 410 //
27071 /* 76352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27072 /* 76356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27073 /* 76360 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27074 /* 76364 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27075 /* 76368 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27076 /* 76372 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27077 /* 76376 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27078 /* 76379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27079 /* 76383 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27080 /* 76387 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27081 /* 76392 */ // MIs[0] src1
27082 /* 76392 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27083 /* 76397 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27084 /* 76399 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27085 /* 76406 */ // (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)
27086 /* 76406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27087 /* 76409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27088 /* 76413 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27089 /* 76417 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27090 /* 76420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27091 /* 76426 */ GIR_RootConstrainSelectedInstOperands,
27092 /* 76427 */ // GIR_Coverage, 410,
27093 /* 76427 */ GIR_EraseRootFromParent_Done,
27094 /* 76428 */ // Label 2124: @76428
27095 /* 76428 */ GIM_Try, /*On fail goto*//*Label 2125*/ GIMT_Encode4(76509), // Rule ID 23481 //
27096 /* 76433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27097 /* 76437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27098 /* 76441 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27099 /* 76445 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27100 /* 76449 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27101 /* 76454 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27102 /* 76458 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27103 /* 76462 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27104 /* 76465 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27105 /* 76469 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27106 /* 76473 */ // MIs[0] src1
27107 /* 76473 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27108 /* 76478 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27109 /* 76480 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27110 /* 76487 */ // (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)
27111 /* 76487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27112 /* 76490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27113 /* 76494 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27114 /* 76498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27115 /* 76501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27116 /* 76507 */ GIR_RootConstrainSelectedInstOperands,
27117 /* 76508 */ // GIR_Coverage, 23481,
27118 /* 76508 */ GIR_EraseRootFromParent_Done,
27119 /* 76509 */ // Label 2125: @76509
27120 /* 76509 */ GIM_Try, /*On fail goto*//*Label 2126*/ GIMT_Encode4(76590), // Rule ID 302 //
27121 /* 76514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27122 /* 76518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27123 /* 76522 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27124 /* 76526 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27125 /* 76530 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27126 /* 76534 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27127 /* 76538 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27128 /* 76541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27129 /* 76545 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27130 /* 76549 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27131 /* 76554 */ // MIs[0] src1
27132 /* 76554 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27133 /* 76559 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27134 /* 76561 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27135 /* 76568 */ // (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)
27136 /* 76568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27137 /* 76571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27138 /* 76575 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27139 /* 76579 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27140 /* 76582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27141 /* 76588 */ GIR_RootConstrainSelectedInstOperands,
27142 /* 76589 */ // GIR_Coverage, 302,
27143 /* 76589 */ GIR_EraseRootFromParent_Done,
27144 /* 76590 */ // Label 2126: @76590
27145 /* 76590 */ GIM_Try, /*On fail goto*//*Label 2127*/ GIMT_Encode4(76671), // Rule ID 23445 //
27146 /* 76595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27147 /* 76599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27148 /* 76603 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27149 /* 76607 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27150 /* 76611 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27151 /* 76616 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27152 /* 76620 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27153 /* 76624 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27154 /* 76627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27155 /* 76631 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27156 /* 76635 */ // MIs[0] src1
27157 /* 76635 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27158 /* 76640 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27159 /* 76642 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27160 /* 76649 */ // (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)
27161 /* 76649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27162 /* 76652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27163 /* 76656 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27164 /* 76660 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27165 /* 76663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27166 /* 76669 */ GIR_RootConstrainSelectedInstOperands,
27167 /* 76670 */ // GIR_Coverage, 23445,
27168 /* 76670 */ GIR_EraseRootFromParent_Done,
27169 /* 76671 */ // Label 2127: @76671
27170 /* 76671 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2128*/ GIMT_Encode4(76764), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 728 //
27171 /* 76678 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27172 /* 76682 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
27173 /* 76686 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27174 /* 76690 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27175 /* 76694 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27176 /* 76698 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27177 /* 76702 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27178 /* 76705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27179 /* 76709 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27180 /* 76713 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27181 /* 76718 */ // MIs[0] src1
27182 /* 76718 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27183 /* 76723 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27184 /* 76725 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27185 /* 76732 */ // (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)
27186 /* 76732 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27187 /* 76736 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27188 /* 76742 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27189 /* 76746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mCL),
27190 /* 76749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27191 /* 76753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27192 /* 76756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27193 /* 76762 */ GIR_RootConstrainSelectedInstOperands,
27194 /* 76763 */ // GIR_Coverage, 728,
27195 /* 76763 */ GIR_EraseRootFromParent_Done,
27196 /* 76764 */ // Label 2128: @76764
27197 /* 76764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2129*/ GIMT_Encode4(76857), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 696 //
27198 /* 76771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27199 /* 76775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
27200 /* 76779 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27201 /* 76783 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27202 /* 76787 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27203 /* 76791 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27204 /* 76795 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27205 /* 76798 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27206 /* 76802 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27207 /* 76806 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27208 /* 76811 */ // MIs[0] src1
27209 /* 76811 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27210 /* 76816 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27211 /* 76818 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27212 /* 76825 */ // (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)
27213 /* 76825 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27214 /* 76829 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27215 /* 76835 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27216 /* 76839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mCL),
27217 /* 76842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27218 /* 76846 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27219 /* 76849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27220 /* 76855 */ GIR_RootConstrainSelectedInstOperands,
27221 /* 76856 */ // GIR_Coverage, 696,
27222 /* 76856 */ GIR_EraseRootFromParent_Done,
27223 /* 76857 */ // Label 2129: @76857
27224 /* 76857 */ GIM_Try, /*On fail goto*//*Label 2130*/ GIMT_Encode4(76938), // Rule ID 338 //
27225 /* 76862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27226 /* 76866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27227 /* 76870 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27228 /* 76874 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27229 /* 76878 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27230 /* 76882 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27231 /* 76886 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27232 /* 76889 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27233 /* 76893 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27234 /* 76897 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27235 /* 76902 */ // MIs[0] src1
27236 /* 76902 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27237 /* 76907 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27238 /* 76909 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27239 /* 76916 */ // (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)
27240 /* 76916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27241 /* 76919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27242 /* 76923 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27243 /* 76927 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27244 /* 76930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27245 /* 76936 */ GIR_RootConstrainSelectedInstOperands,
27246 /* 76937 */ // GIR_Coverage, 338,
27247 /* 76937 */ GIR_EraseRootFromParent_Done,
27248 /* 76938 */ // Label 2130: @76938
27249 /* 76938 */ GIM_Try, /*On fail goto*//*Label 2131*/ GIMT_Encode4(77019), // Rule ID 23457 //
27250 /* 76943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27251 /* 76947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27252 /* 76951 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27253 /* 76955 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27254 /* 76959 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27255 /* 76964 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27256 /* 76968 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27257 /* 76972 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27258 /* 76975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27259 /* 76979 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27260 /* 76983 */ // MIs[0] src1
27261 /* 76983 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27262 /* 76988 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27263 /* 76990 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27264 /* 76997 */ // (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)
27265 /* 76997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27266 /* 77000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27267 /* 77004 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27268 /* 77008 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27269 /* 77011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27270 /* 77017 */ GIR_RootConstrainSelectedInstOperands,
27271 /* 77018 */ // GIR_Coverage, 23457,
27272 /* 77018 */ GIR_EraseRootFromParent_Done,
27273 /* 77019 */ // Label 2131: @77019
27274 /* 77019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2132*/ GIMT_Encode4(77112), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 760 //
27275 /* 77026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27276 /* 77030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27277 /* 77034 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27278 /* 77038 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27279 /* 77042 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27280 /* 77046 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27281 /* 77050 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27282 /* 77053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27283 /* 77057 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27284 /* 77061 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27285 /* 77066 */ // MIs[0] src1
27286 /* 77066 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27287 /* 77071 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27288 /* 77073 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27289 /* 77080 */ // (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)
27290 /* 77080 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27291 /* 77084 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27292 /* 77090 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27293 /* 77094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mCL),
27294 /* 77097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27295 /* 77101 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27296 /* 77104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27297 /* 77110 */ GIR_RootConstrainSelectedInstOperands,
27298 /* 77111 */ // GIR_Coverage, 760,
27299 /* 77111 */ GIR_EraseRootFromParent_Done,
27300 /* 77112 */ // Label 2132: @77112
27301 /* 77112 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2133*/ GIMT_Encode4(77205), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 792 //
27302 /* 77119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27303 /* 77123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
27304 /* 77127 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27305 /* 77131 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27306 /* 77135 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27307 /* 77139 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27308 /* 77143 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27309 /* 77146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27310 /* 77150 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27311 /* 77154 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27312 /* 77159 */ // MIs[0] src1
27313 /* 77159 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27314 /* 77164 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27315 /* 77166 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27316 /* 77173 */ // (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)
27317 /* 77173 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27318 /* 77177 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27319 /* 77183 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27320 /* 77187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mCL),
27321 /* 77190 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27322 /* 77194 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27323 /* 77197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27324 /* 77203 */ GIR_RootConstrainSelectedInstOperands,
27325 /* 77204 */ // GIR_Coverage, 792,
27326 /* 77204 */ GIR_EraseRootFromParent_Done,
27327 /* 77205 */ // Label 2133: @77205
27328 /* 77205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2134*/ GIMT_Encode4(77298), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 664 //
27329 /* 77212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27330 /* 77216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
27331 /* 77220 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27332 /* 77224 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27333 /* 77228 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27334 /* 77232 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27335 /* 77236 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27336 /* 77239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27337 /* 77243 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27338 /* 77247 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27339 /* 77252 */ // MIs[0] src1
27340 /* 77252 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27341 /* 77257 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27342 /* 77259 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27343 /* 77266 */ // (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)
27344 /* 77266 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27345 /* 77270 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27346 /* 77276 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27347 /* 77280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mCL),
27348 /* 77283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27349 /* 77287 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27350 /* 77290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27351 /* 77296 */ GIR_RootConstrainSelectedInstOperands,
27352 /* 77297 */ // GIR_Coverage, 664,
27353 /* 77297 */ GIR_EraseRootFromParent_Done,
27354 /* 77298 */ // Label 2134: @77298
27355 /* 77298 */ GIM_Try, /*On fail goto*//*Label 2135*/ GIMT_Encode4(77379), // Rule ID 446 //
27356 /* 77303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27357 /* 77307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27358 /* 77311 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27359 /* 77315 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27360 /* 77319 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27361 /* 77323 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27362 /* 77327 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27363 /* 77330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27364 /* 77334 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27365 /* 77338 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27366 /* 77343 */ // MIs[0] src1
27367 /* 77343 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27368 /* 77348 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27369 /* 77350 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27370 /* 77357 */ // (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)
27371 /* 77357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
27372 /* 77360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27373 /* 77364 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27374 /* 77368 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27375 /* 77371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27376 /* 77377 */ GIR_RootConstrainSelectedInstOperands,
27377 /* 77378 */ // GIR_Coverage, 446,
27378 /* 77378 */ GIR_EraseRootFromParent_Done,
27379 /* 77379 */ // Label 2135: @77379
27380 /* 77379 */ GIM_Try, /*On fail goto*//*Label 2136*/ GIMT_Encode4(77460), // Rule ID 374 //
27381 /* 77384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27382 /* 77388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27383 /* 77392 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27384 /* 77396 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27385 /* 77400 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27386 /* 77404 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27387 /* 77408 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27388 /* 77411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27389 /* 77415 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27390 /* 77419 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27391 /* 77424 */ // MIs[0] src1
27392 /* 77424 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27393 /* 77429 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27394 /* 77431 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27395 /* 77438 */ // (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)
27396 /* 77438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27397 /* 77441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27398 /* 77445 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27399 /* 77449 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27400 /* 77452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27401 /* 77458 */ GIR_RootConstrainSelectedInstOperands,
27402 /* 77459 */ // GIR_Coverage, 374,
27403 /* 77459 */ GIR_EraseRootFromParent_Done,
27404 /* 77460 */ // Label 2136: @77460
27405 /* 77460 */ GIM_Try, /*On fail goto*//*Label 2137*/ GIMT_Encode4(77541), // Rule ID 23469 //
27406 /* 77465 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27407 /* 77469 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27408 /* 77473 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27409 /* 77477 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27410 /* 77481 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27411 /* 77486 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27412 /* 77490 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27413 /* 77494 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27414 /* 77497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27415 /* 77501 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27416 /* 77505 */ // MIs[0] src1
27417 /* 77505 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27418 /* 77510 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27419 /* 77512 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27420 /* 77519 */ // (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)
27421 /* 77519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27422 /* 77522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27423 /* 77526 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27424 /* 77530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27425 /* 77533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27426 /* 77539 */ GIR_RootConstrainSelectedInstOperands,
27427 /* 77540 */ // GIR_Coverage, 23469,
27428 /* 77540 */ GIR_EraseRootFromParent_Done,
27429 /* 77541 */ // Label 2137: @77541
27430 /* 77541 */ GIM_Reject,
27431 /* 77542 */ // Label 2121: @77542
27432 /* 77542 */ GIM_Try, /*On fail goto*//*Label 2138*/ GIMT_Encode4(77758),
27433 /* 77547 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27434 /* 77550 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27435 /* 77557 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27436 /* 77561 */ GIM_Try, /*On fail goto*//*Label 2139*/ GIMT_Encode4(77604), // Rule ID 22714 //
27437 /* 77566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27438 /* 77570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27439 /* 77574 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27440 /* 77578 */ // MIs[1] Operand 1
27441 /* 77578 */ // No operand predicates
27442 /* 77578 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27443 /* 77580 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27444 /* 77587 */ // (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)
27445 /* 77587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mi32),
27446 /* 77590 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27447 /* 77594 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
27448 /* 77597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27449 /* 77602 */ GIR_RootConstrainSelectedInstOperands,
27450 /* 77603 */ // GIR_Coverage, 22714,
27451 /* 77603 */ GIR_EraseRootFromParent_Done,
27452 /* 77604 */ // Label 2139: @77604
27453 /* 77604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2140*/ GIMT_Encode4(77655), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 22750 //
27454 /* 77611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27455 /* 77615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
27456 /* 77619 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27457 /* 77623 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
27458 /* 77628 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27459 /* 77630 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27460 /* 77637 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27461 /* 77637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
27462 /* 77640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27463 /* 77644 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27464 /* 77648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27465 /* 77653 */ GIR_RootConstrainSelectedInstOperands,
27466 /* 77654 */ // GIR_Coverage, 22750,
27467 /* 77654 */ GIR_EraseRootFromParent_Done,
27468 /* 77655 */ // Label 2140: @77655
27469 /* 77655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2141*/ GIMT_Encode4(77706), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22751 //
27470 /* 77662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27471 /* 77666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
27472 /* 77670 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27473 /* 77674 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
27474 /* 77679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27475 /* 77681 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27476 /* 77688 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27477 /* 77688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
27478 /* 77691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27479 /* 77695 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27480 /* 77699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27481 /* 77704 */ GIR_RootConstrainSelectedInstOperands,
27482 /* 77705 */ // GIR_Coverage, 22751,
27483 /* 77705 */ GIR_EraseRootFromParent_Done,
27484 /* 77706 */ // Label 2141: @77706
27485 /* 77706 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2142*/ GIMT_Encode4(77757), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22752 //
27486 /* 77713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27487 /* 77717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
27488 /* 77721 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27489 /* 77725 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
27490 /* 77730 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27491 /* 77732 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27492 /* 77739 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27493 /* 77739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
27494 /* 77742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27495 /* 77746 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27496 /* 77750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27497 /* 77755 */ GIR_RootConstrainSelectedInstOperands,
27498 /* 77756 */ // GIR_Coverage, 22752,
27499 /* 77756 */ GIR_EraseRootFromParent_Done,
27500 /* 77757 */ // Label 2142: @77757
27501 /* 77757 */ GIM_Reject,
27502 /* 77758 */ // Label 2138: @77758
27503 /* 77758 */ GIM_Try, /*On fail goto*//*Label 2143*/ GIMT_Encode4(77877),
27504 /* 77763 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27505 /* 77766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27506 /* 77770 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27507 /* 77774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2144*/ GIMT_Encode4(77825), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 54 //
27508 /* 77781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27509 /* 77785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
27510 /* 77789 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27511 /* 77793 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27512 /* 77798 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27513 /* 77800 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27514 /* 77807 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
27515 /* 77807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr),
27516 /* 77810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27517 /* 77814 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
27518 /* 77818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27519 /* 77823 */ GIR_RootConstrainSelectedInstOperands,
27520 /* 77824 */ // GIR_Coverage, 54,
27521 /* 77824 */ GIR_EraseRootFromParent_Done,
27522 /* 77825 */ // Label 2144: @77825
27523 /* 77825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2145*/ GIMT_Encode4(77876), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 60 //
27524 /* 77832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27525 /* 77836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
27526 /* 77840 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27527 /* 77844 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27528 /* 77849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27529 /* 77851 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27530 /* 77858 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
27531 /* 77858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr_EVEX),
27532 /* 77861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27533 /* 77865 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
27534 /* 77869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27535 /* 77874 */ GIR_RootConstrainSelectedInstOperands,
27536 /* 77875 */ // GIR_Coverage, 60,
27537 /* 77875 */ GIR_EraseRootFromParent_Done,
27538 /* 77876 */ // Label 2145: @77876
27539 /* 77876 */ GIM_Reject,
27540 /* 77877 */ // Label 2143: @77877
27541 /* 77877 */ GIM_Try, /*On fail goto*//*Label 2146*/ GIMT_Encode4(77922), // Rule ID 22718 //
27542 /* 77882 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27543 /* 77885 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27544 /* 77892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27545 /* 77896 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27546 /* 77900 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27547 /* 77907 */ // (atomic_store GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
27548 /* 77907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
27549 /* 77910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27550 /* 77914 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27551 /* 77916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27552 /* 77920 */ GIR_RootConstrainSelectedInstOperands,
27553 /* 77921 */ // GIR_Coverage, 22718,
27554 /* 77921 */ GIR_EraseRootFromParent_Done,
27555 /* 77922 */ // Label 2146: @77922
27556 /* 77922 */ GIM_Try, /*On fail goto*//*Label 2147*/ GIMT_Encode4(78119),
27557 /* 77927 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27558 /* 77930 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27559 /* 77934 */ GIM_Try, /*On fail goto*//*Label 2148*/ GIMT_Encode4(77969), // Rule ID 35 //
27560 /* 77939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27561 /* 77943 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27562 /* 77947 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27563 /* 77954 */ // (st GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
27564 /* 77954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
27565 /* 77957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27566 /* 77961 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27567 /* 77963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27568 /* 77967 */ GIR_RootConstrainSelectedInstOperands,
27569 /* 77968 */ // GIR_Coverage, 35,
27570 /* 77968 */ GIR_EraseRootFromParent_Done,
27571 /* 77969 */ // Label 2148: @77969
27572 /* 77969 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2149*/ GIMT_Encode4(78009), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1073 //
27573 /* 77976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
27574 /* 77980 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27575 /* 77984 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27576 /* 77991 */ // (st RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp64m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
27577 /* 77991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m),
27578 /* 77994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
27579 /* 77998 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27580 /* 78000 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
27581 /* 78003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27582 /* 78007 */ GIR_RootConstrainSelectedInstOperands,
27583 /* 78008 */ // GIR_Coverage, 1073,
27584 /* 78008 */ GIR_EraseRootFromParent_Done,
27585 /* 78009 */ // Label 2149: @78009
27586 /* 78009 */ GIM_Try, /*On fail goto*//*Label 2150*/ GIMT_Encode4(78081),
27587 /* 78014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
27588 /* 78018 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27589 /* 78022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2151*/ GIMT_Encode4(78051), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1667 //
27590 /* 78029 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27591 /* 78036 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27592 /* 78036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
27593 /* 78039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27594 /* 78043 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27595 /* 78045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27596 /* 78049 */ GIR_RootConstrainSelectedInstOperands,
27597 /* 78050 */ // GIR_Coverage, 1667,
27598 /* 78050 */ GIR_EraseRootFromParent_Done,
27599 /* 78051 */ // Label 2151: @78051
27600 /* 78051 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2152*/ GIMT_Encode4(78080), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1669 //
27601 /* 78058 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27602 /* 78065 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27603 /* 78065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
27604 /* 78068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27605 /* 78072 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27606 /* 78074 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27607 /* 78078 */ GIR_RootConstrainSelectedInstOperands,
27608 /* 78079 */ // GIR_Coverage, 1669,
27609 /* 78079 */ GIR_EraseRootFromParent_Done,
27610 /* 78080 */ // Label 2152: @78080
27611 /* 78080 */ GIM_Reject,
27612 /* 78081 */ // Label 2150: @78081
27613 /* 78081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2153*/ GIMT_Encode4(78118), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4617 //
27614 /* 78088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
27615 /* 78092 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27616 /* 78096 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27617 /* 78103 */ // (st FR64X:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDZmr addr:{ *:[iPTR] }:$dst, FR64X:{ *:[f64] }:$src)
27618 /* 78103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZmr),
27619 /* 78106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27620 /* 78110 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27621 /* 78112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27622 /* 78116 */ GIR_RootConstrainSelectedInstOperands,
27623 /* 78117 */ // GIR_Coverage, 4617,
27624 /* 78117 */ GIR_EraseRootFromParent_Done,
27625 /* 78118 */ // Label 2153: @78118
27626 /* 78118 */ GIM_Reject,
27627 /* 78119 */ // Label 2147: @78119
27628 /* 78119 */ GIM_Reject,
27629 /* 78120 */ // Label 1860: @78120
27630 /* 78120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2154*/ GIMT_Encode4(78167), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1076 //
27631 /* 78127 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27632 /* 78130 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27633 /* 78134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
27634 /* 78138 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27635 /* 78142 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27636 /* 78149 */ // (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_FpP80m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
27637 /* 78149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_FpP80m),
27638 /* 78152 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
27639 /* 78156 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27640 /* 78158 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
27641 /* 78161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27642 /* 78165 */ GIR_RootConstrainSelectedInstOperands,
27643 /* 78166 */ // GIR_Coverage, 1076,
27644 /* 78166 */ GIR_EraseRootFromParent_Done,
27645 /* 78167 */ // Label 2154: @78167
27646 /* 78167 */ GIM_Reject,
27647 /* 78168 */ // Label 1861: @78168
27648 /* 78168 */ GIM_Try, /*On fail goto*//*Label 2155*/ GIMT_Encode4(78409),
27649 /* 78173 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27650 /* 78176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27651 /* 78180 */ GIM_Try, /*On fail goto*//*Label 2156*/ GIMT_Encode4(78299),
27652 /* 78185 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
27653 /* 78189 */ GIM_Try, /*On fail goto*//*Label 2157*/ GIMT_Encode4(78261),
27654 /* 78194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27655 /* 78198 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27656 /* 78202 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2158*/ GIMT_Encode4(78231), GIMT_Encode2(GIFBS_NoAVX), // Rule ID 23395 //
27657 /* 78209 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27658 /* 78216 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27659 /* 78216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
27660 /* 78219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27661 /* 78223 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27662 /* 78225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27663 /* 78229 */ GIR_RootConstrainSelectedInstOperands,
27664 /* 78230 */ // GIR_Coverage, 23395,
27665 /* 78230 */ GIR_EraseRootFromParent_Done,
27666 /* 78231 */ // Label 2158: @78231
27667 /* 78231 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2159*/ GIMT_Encode4(78260), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23400 //
27668 /* 78238 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27669 /* 78245 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27670 /* 78245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
27671 /* 78248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27672 /* 78252 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27673 /* 78254 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27674 /* 78258 */ GIR_RootConstrainSelectedInstOperands,
27675 /* 78259 */ // GIR_Coverage, 23400,
27676 /* 78259 */ GIR_EraseRootFromParent_Done,
27677 /* 78260 */ // Label 2159: @78260
27678 /* 78260 */ GIM_Reject,
27679 /* 78261 */ // Label 2157: @78261
27680 /* 78261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2160*/ GIMT_Encode4(78298), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 23405 //
27681 /* 78268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27682 /* 78272 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27683 /* 78276 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27684 /* 78283 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
27685 /* 78283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
27686 /* 78286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27687 /* 78290 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27688 /* 78292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27689 /* 78296 */ GIR_RootConstrainSelectedInstOperands,
27690 /* 78297 */ // GIR_Coverage, 23405,
27691 /* 78297 */ GIR_EraseRootFromParent_Done,
27692 /* 78298 */ // Label 2160: @78298
27693 /* 78298 */ GIM_Reject,
27694 /* 78299 */ // Label 2156: @78299
27695 /* 78299 */ GIM_Try, /*On fail goto*//*Label 2161*/ GIMT_Encode4(78371),
27696 /* 78304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27697 /* 78308 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27698 /* 78312 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2162*/ GIMT_Encode4(78341), GIMT_Encode2(GIFBS_NoAVX), // Rule ID 23397 //
27699 /* 78319 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27700 /* 78326 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27701 /* 78326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
27702 /* 78329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27703 /* 78333 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27704 /* 78335 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27705 /* 78339 */ GIR_RootConstrainSelectedInstOperands,
27706 /* 78340 */ // GIR_Coverage, 23397,
27707 /* 78340 */ GIR_EraseRootFromParent_Done,
27708 /* 78341 */ // Label 2162: @78341
27709 /* 78341 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2163*/ GIMT_Encode4(78370), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23402 //
27710 /* 78348 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27711 /* 78355 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27712 /* 78355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
27713 /* 78358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27714 /* 78362 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27715 /* 78364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27716 /* 78368 */ GIR_RootConstrainSelectedInstOperands,
27717 /* 78369 */ // GIR_Coverage, 23402,
27718 /* 78369 */ GIR_EraseRootFromParent_Done,
27719 /* 78370 */ // Label 2163: @78370
27720 /* 78370 */ GIM_Reject,
27721 /* 78371 */ // Label 2161: @78371
27722 /* 78371 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2164*/ GIMT_Encode4(78408), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 23407 //
27723 /* 78378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27724 /* 78382 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27725 /* 78386 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27726 /* 78393 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
27727 /* 78393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
27728 /* 78396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27729 /* 78400 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27730 /* 78402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27731 /* 78406 */ GIR_RootConstrainSelectedInstOperands,
27732 /* 78407 */ // GIR_Coverage, 23407,
27733 /* 78407 */ GIR_EraseRootFromParent_Done,
27734 /* 78408 */ // Label 2164: @78408
27735 /* 78408 */ GIM_Reject,
27736 /* 78409 */ // Label 2155: @78409
27737 /* 78409 */ GIM_Try, /*On fail goto*//*Label 2165*/ GIMT_Encode4(78531),
27738 /* 78414 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27739 /* 78417 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
27740 /* 78421 */ GIM_Try, /*On fail goto*//*Label 2166*/ GIMT_Encode4(78493),
27741 /* 78426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27742 /* 78430 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27743 /* 78434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2167*/ GIMT_Encode4(78463), GIMT_Encode2(GIFBS_NoAVX), // Rule ID 23396 //
27744 /* 78441 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27745 /* 78448 */ // (atomic_store VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27746 /* 78448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
27747 /* 78451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27748 /* 78455 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27749 /* 78457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27750 /* 78461 */ GIR_RootConstrainSelectedInstOperands,
27751 /* 78462 */ // GIR_Coverage, 23396,
27752 /* 78462 */ GIR_EraseRootFromParent_Done,
27753 /* 78463 */ // Label 2167: @78463
27754 /* 78463 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2168*/ GIMT_Encode4(78492), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23401 //
27755 /* 78470 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27756 /* 78477 */ // (atomic_store VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27757 /* 78477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
27758 /* 78480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27759 /* 78484 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27760 /* 78486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27761 /* 78490 */ GIR_RootConstrainSelectedInstOperands,
27762 /* 78491 */ // GIR_Coverage, 23401,
27763 /* 78491 */ GIR_EraseRootFromParent_Done,
27764 /* 78492 */ // Label 2168: @78492
27765 /* 78492 */ GIM_Reject,
27766 /* 78493 */ // Label 2166: @78493
27767 /* 78493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2169*/ GIMT_Encode4(78530), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 23406 //
27768 /* 78500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27769 /* 78504 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27770 /* 78508 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27771 /* 78515 */ // (atomic_store VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
27772 /* 78515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
27773 /* 78518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27774 /* 78522 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27775 /* 78524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27776 /* 78528 */ GIR_RootConstrainSelectedInstOperands,
27777 /* 78529 */ // GIR_Coverage, 23406,
27778 /* 78529 */ GIR_EraseRootFromParent_Done,
27779 /* 78530 */ // Label 2169: @78530
27780 /* 78530 */ GIM_Reject,
27781 /* 78531 */ // Label 2165: @78531
27782 /* 78531 */ GIM_Reject,
27783 /* 78532 */ // Label 1862: @78532
27784 /* 78532 */ GIM_Try, /*On fail goto*//*Label 2170*/ GIMT_Encode4(78611),
27785 /* 78537 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27786 /* 78540 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27787 /* 78544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
27788 /* 78548 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27789 /* 78552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2171*/ GIMT_Encode4(78581), GIMT_Encode2(GIFBS_HasDQI_NoEGPR), // Rule ID 4384 //
27790 /* 78559 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27791 /* 78566 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
27792 /* 78566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk),
27793 /* 78569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27794 /* 78573 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27795 /* 78575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27796 /* 78579 */ GIR_RootConstrainSelectedInstOperands,
27797 /* 78580 */ // GIR_Coverage, 4384,
27798 /* 78580 */ GIR_EraseRootFromParent_Done,
27799 /* 78581 */ // Label 2171: @78581
27800 /* 78581 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2172*/ GIMT_Encode4(78610), GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode), // Rule ID 4386 //
27801 /* 78588 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27802 /* 78595 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk_EVEX addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
27803 /* 78595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk_EVEX),
27804 /* 78598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27805 /* 78602 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27806 /* 78604 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27807 /* 78608 */ GIR_RootConstrainSelectedInstOperands,
27808 /* 78609 */ // GIR_Coverage, 4386,
27809 /* 78609 */ GIR_EraseRootFromParent_Done,
27810 /* 78610 */ // Label 2172: @78610
27811 /* 78610 */ GIM_Reject,
27812 /* 78611 */ // Label 2170: @78611
27813 /* 78611 */ GIM_Reject,
27814 /* 78612 */ // Label 1863: @78612
27815 /* 78612 */ GIM_Try, /*On fail goto*//*Label 2173*/ GIMT_Encode4(78691),
27816 /* 78617 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27817 /* 78620 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27818 /* 78624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
27819 /* 78628 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27820 /* 78632 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2174*/ GIMT_Encode4(78661), GIMT_Encode2(GIFBS_HasAVX512_NoEGPR), // Rule ID 4388 //
27821 /* 78639 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27822 /* 78646 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
27823 /* 78646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk),
27824 /* 78649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27825 /* 78653 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27826 /* 78655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27827 /* 78659 */ GIR_RootConstrainSelectedInstOperands,
27828 /* 78660 */ // GIR_Coverage, 4388,
27829 /* 78660 */ GIR_EraseRootFromParent_Done,
27830 /* 78661 */ // Label 2174: @78661
27831 /* 78661 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2175*/ GIMT_Encode4(78690), GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode), // Rule ID 4390 //
27832 /* 78668 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27833 /* 78675 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk_EVEX addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
27834 /* 78675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk_EVEX),
27835 /* 78678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27836 /* 78682 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27837 /* 78684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27838 /* 78688 */ GIR_RootConstrainSelectedInstOperands,
27839 /* 78689 */ // GIR_Coverage, 4390,
27840 /* 78689 */ GIR_EraseRootFromParent_Done,
27841 /* 78690 */ // Label 2175: @78690
27842 /* 78690 */ GIM_Reject,
27843 /* 78691 */ // Label 2173: @78691
27844 /* 78691 */ GIM_Reject,
27845 /* 78692 */ // Label 1864: @78692
27846 /* 78692 */ GIM_Try, /*On fail goto*//*Label 2176*/ GIMT_Encode4(78771),
27847 /* 78697 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27848 /* 78700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27849 /* 78704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
27850 /* 78708 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27851 /* 78712 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2177*/ GIMT_Encode4(78741), GIMT_Encode2(GIFBS_HasBWI_NoEGPR), // Rule ID 4392 //
27852 /* 78719 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27853 /* 78726 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
27854 /* 78726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk),
27855 /* 78729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27856 /* 78733 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27857 /* 78735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27858 /* 78739 */ GIR_RootConstrainSelectedInstOperands,
27859 /* 78740 */ // GIR_Coverage, 4392,
27860 /* 78740 */ GIR_EraseRootFromParent_Done,
27861 /* 78741 */ // Label 2177: @78741
27862 /* 78741 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2178*/ GIMT_Encode4(78770), GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode), // Rule ID 4396 //
27863 /* 78748 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27864 /* 78755 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk_EVEX addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
27865 /* 78755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk_EVEX),
27866 /* 78758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27867 /* 78762 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27868 /* 78764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27869 /* 78768 */ GIR_RootConstrainSelectedInstOperands,
27870 /* 78769 */ // GIR_Coverage, 4396,
27871 /* 78769 */ GIR_EraseRootFromParent_Done,
27872 /* 78770 */ // Label 2178: @78770
27873 /* 78770 */ GIM_Reject,
27874 /* 78771 */ // Label 2176: @78771
27875 /* 78771 */ GIM_Reject,
27876 /* 78772 */ // Label 1865: @78772
27877 /* 78772 */ GIM_Try, /*On fail goto*//*Label 2179*/ GIMT_Encode4(78851),
27878 /* 78777 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27879 /* 78780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27880 /* 78784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
27881 /* 78788 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27882 /* 78792 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2180*/ GIMT_Encode4(78821), GIMT_Encode2(GIFBS_HasBWI_NoEGPR), // Rule ID 4394 //
27883 /* 78799 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27884 /* 78806 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
27885 /* 78806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk),
27886 /* 78809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27887 /* 78813 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27888 /* 78815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27889 /* 78819 */ GIR_RootConstrainSelectedInstOperands,
27890 /* 78820 */ // GIR_Coverage, 4394,
27891 /* 78820 */ GIR_EraseRootFromParent_Done,
27892 /* 78821 */ // Label 2180: @78821
27893 /* 78821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2181*/ GIMT_Encode4(78850), GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode), // Rule ID 4398 //
27894 /* 78828 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27895 /* 78835 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk_EVEX addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
27896 /* 78835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk_EVEX),
27897 /* 78838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27898 /* 78842 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27899 /* 78844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27900 /* 78848 */ GIR_RootConstrainSelectedInstOperands,
27901 /* 78849 */ // GIR_Coverage, 4398,
27902 /* 78849 */ GIR_EraseRootFromParent_Done,
27903 /* 78850 */ // Label 2181: @78850
27904 /* 78850 */ GIM_Reject,
27905 /* 78851 */ // Label 2179: @78851
27906 /* 78851 */ GIM_Reject,
27907 /* 78852 */ // Label 1866: @78852
27908 /* 78852 */ GIM_Try, /*On fail goto*//*Label 2182*/ GIMT_Encode4(79093),
27909 /* 78857 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27910 /* 78860 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27911 /* 78864 */ GIM_Try, /*On fail goto*//*Label 2183*/ GIMT_Encode4(78983),
27912 /* 78869 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
27913 /* 78873 */ GIM_Try, /*On fail goto*//*Label 2184*/ GIMT_Encode4(78945),
27914 /* 78878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27915 /* 78882 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27916 /* 78886 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2185*/ GIMT_Encode4(78915), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18017 //
27917 /* 78893 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27918 /* 78900 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27919 /* 78900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
27920 /* 78903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27921 /* 78907 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27922 /* 78909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27923 /* 78913 */ GIR_RootConstrainSelectedInstOperands,
27924 /* 78914 */ // GIR_Coverage, 18017,
27925 /* 78914 */ GIR_EraseRootFromParent_Done,
27926 /* 78915 */ // Label 2185: @78915
27927 /* 78915 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2186*/ GIMT_Encode4(78944), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18426 //
27928 /* 78922 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27929 /* 78929 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27930 /* 78929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
27931 /* 78932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27932 /* 78936 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27933 /* 78938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27934 /* 78942 */ GIR_RootConstrainSelectedInstOperands,
27935 /* 78943 */ // GIR_Coverage, 18426,
27936 /* 78943 */ GIR_EraseRootFromParent_Done,
27937 /* 78944 */ // Label 2186: @78944
27938 /* 78944 */ GIM_Reject,
27939 /* 78945 */ // Label 2184: @78945
27940 /* 78945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2187*/ GIMT_Encode4(78982), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19945 //
27941 /* 78952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27942 /* 78956 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27943 /* 78960 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27944 /* 78967 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
27945 /* 78967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
27946 /* 78970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27947 /* 78974 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27948 /* 78976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27949 /* 78980 */ GIR_RootConstrainSelectedInstOperands,
27950 /* 78981 */ // GIR_Coverage, 19945,
27951 /* 78981 */ GIR_EraseRootFromParent_Done,
27952 /* 78982 */ // Label 2187: @78982
27953 /* 78982 */ GIM_Reject,
27954 /* 78983 */ // Label 2183: @78983
27955 /* 78983 */ GIM_Try, /*On fail goto*//*Label 2188*/ GIMT_Encode4(79055),
27956 /* 78988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27957 /* 78992 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27958 /* 78996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2189*/ GIMT_Encode4(79025), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18022 //
27959 /* 79003 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27960 /* 79010 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27961 /* 79010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
27962 /* 79013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27963 /* 79017 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27964 /* 79019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27965 /* 79023 */ GIR_RootConstrainSelectedInstOperands,
27966 /* 79024 */ // GIR_Coverage, 18022,
27967 /* 79024 */ GIR_EraseRootFromParent_Done,
27968 /* 79025 */ // Label 2189: @79025
27969 /* 79025 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2190*/ GIMT_Encode4(79054), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18431 //
27970 /* 79032 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27971 /* 79039 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27972 /* 79039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
27973 /* 79042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27974 /* 79046 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27975 /* 79048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27976 /* 79052 */ GIR_RootConstrainSelectedInstOperands,
27977 /* 79053 */ // GIR_Coverage, 18431,
27978 /* 79053 */ GIR_EraseRootFromParent_Done,
27979 /* 79054 */ // Label 2190: @79054
27980 /* 79054 */ GIM_Reject,
27981 /* 79055 */ // Label 2188: @79055
27982 /* 79055 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2191*/ GIMT_Encode4(79092), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19950 //
27983 /* 79062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27984 /* 79066 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27985 /* 79070 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27986 /* 79077 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
27987 /* 79077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
27988 /* 79080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27989 /* 79084 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27990 /* 79086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27991 /* 79090 */ GIR_RootConstrainSelectedInstOperands,
27992 /* 79091 */ // GIR_Coverage, 19950,
27993 /* 79091 */ GIR_EraseRootFromParent_Done,
27994 /* 79092 */ // Label 2191: @79092
27995 /* 79092 */ GIM_Reject,
27996 /* 79093 */ // Label 2182: @79093
27997 /* 79093 */ GIM_Try, /*On fail goto*//*Label 2192*/ GIMT_Encode4(79215),
27998 /* 79098 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27999 /* 79101 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
28000 /* 79105 */ GIM_Try, /*On fail goto*//*Label 2193*/ GIMT_Encode4(79177),
28001 /* 79110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28002 /* 79114 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28003 /* 79118 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2194*/ GIMT_Encode4(79147), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18018 //
28004 /* 79125 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28005 /* 79132 */ // (atomic_store VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
28006 /* 79132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28007 /* 79135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28008 /* 79139 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28009 /* 79141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28010 /* 79145 */ GIR_RootConstrainSelectedInstOperands,
28011 /* 79146 */ // GIR_Coverage, 18018,
28012 /* 79146 */ GIR_EraseRootFromParent_Done,
28013 /* 79147 */ // Label 2194: @79147
28014 /* 79147 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2195*/ GIMT_Encode4(79176), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18427 //
28015 /* 79154 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28016 /* 79161 */ // (atomic_store VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
28017 /* 79161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28018 /* 79164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28019 /* 79168 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28020 /* 79170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28021 /* 79174 */ GIR_RootConstrainSelectedInstOperands,
28022 /* 79175 */ // GIR_Coverage, 18427,
28023 /* 79175 */ GIR_EraseRootFromParent_Done,
28024 /* 79176 */ // Label 2195: @79176
28025 /* 79176 */ GIM_Reject,
28026 /* 79177 */ // Label 2193: @79177
28027 /* 79177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2196*/ GIMT_Encode4(79214), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19946 //
28028 /* 79184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28029 /* 79188 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28030 /* 79192 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28031 /* 79199 */ // (atomic_store VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
28032 /* 79199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28033 /* 79202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28034 /* 79206 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28035 /* 79208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28036 /* 79212 */ GIR_RootConstrainSelectedInstOperands,
28037 /* 79213 */ // GIR_Coverage, 19946,
28038 /* 79213 */ GIR_EraseRootFromParent_Done,
28039 /* 79214 */ // Label 2196: @79214
28040 /* 79214 */ GIM_Reject,
28041 /* 79215 */ // Label 2192: @79215
28042 /* 79215 */ GIM_Reject,
28043 /* 79216 */ // Label 1867: @79216
28044 /* 79216 */ GIM_Try, /*On fail goto*//*Label 2197*/ GIMT_Encode4(79387),
28045 /* 79221 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28046 /* 79224 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28047 /* 79228 */ GIM_Try, /*On fail goto*//*Label 2198*/ GIMT_Encode4(79312),
28048 /* 79233 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28049 /* 79237 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2199*/ GIMT_Encode4(79274), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17987 //
28050 /* 79244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28051 /* 79248 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28052 /* 79252 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28053 /* 79259 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
28054 /* 79259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28055 /* 79262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28056 /* 79266 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28057 /* 79268 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28058 /* 79272 */ GIR_RootConstrainSelectedInstOperands,
28059 /* 79273 */ // GIR_Coverage, 17987,
28060 /* 79273 */ GIR_EraseRootFromParent_Done,
28061 /* 79274 */ // Label 2199: @79274
28062 /* 79274 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2200*/ GIMT_Encode4(79311), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19965 //
28063 /* 79281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28064 /* 79285 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28065 /* 79289 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28066 /* 79296 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
28067 /* 79296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
28068 /* 79299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28069 /* 79303 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28070 /* 79305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28071 /* 79309 */ GIR_RootConstrainSelectedInstOperands,
28072 /* 79310 */ // GIR_Coverage, 19965,
28073 /* 79310 */ GIR_EraseRootFromParent_Done,
28074 /* 79311 */ // Label 2200: @79311
28075 /* 79311 */ GIM_Reject,
28076 /* 79312 */ // Label 2198: @79312
28077 /* 79312 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2201*/ GIMT_Encode4(79349), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17992 //
28078 /* 79319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28079 /* 79323 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28080 /* 79327 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28081 /* 79334 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
28082 /* 79334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
28083 /* 79337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28084 /* 79341 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28085 /* 79343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28086 /* 79347 */ GIR_RootConstrainSelectedInstOperands,
28087 /* 79348 */ // GIR_Coverage, 17992,
28088 /* 79348 */ GIR_EraseRootFromParent_Done,
28089 /* 79349 */ // Label 2201: @79349
28090 /* 79349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2202*/ GIMT_Encode4(79386), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19970 //
28091 /* 79356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28092 /* 79360 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28093 /* 79364 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28094 /* 79371 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
28095 /* 79371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
28096 /* 79374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28097 /* 79378 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28098 /* 79380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28099 /* 79384 */ GIR_RootConstrainSelectedInstOperands,
28100 /* 79385 */ // GIR_Coverage, 19970,
28101 /* 79385 */ GIR_EraseRootFromParent_Done,
28102 /* 79386 */ // Label 2202: @79386
28103 /* 79386 */ GIM_Reject,
28104 /* 79387 */ // Label 2197: @79387
28105 /* 79387 */ GIM_Try, /*On fail goto*//*Label 2203*/ GIMT_Encode4(79474),
28106 /* 79392 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28107 /* 79395 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28108 /* 79399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2204*/ GIMT_Encode4(79436), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17988 //
28109 /* 79406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28110 /* 79410 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28111 /* 79414 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28112 /* 79421 */ // (atomic_store VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
28113 /* 79421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28114 /* 79424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28115 /* 79428 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28116 /* 79430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28117 /* 79434 */ GIR_RootConstrainSelectedInstOperands,
28118 /* 79435 */ // GIR_Coverage, 17988,
28119 /* 79435 */ GIR_EraseRootFromParent_Done,
28120 /* 79436 */ // Label 2204: @79436
28121 /* 79436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2205*/ GIMT_Encode4(79473), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19966 //
28122 /* 79443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28123 /* 79447 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28124 /* 79451 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28125 /* 79458 */ // (atomic_store VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
28126 /* 79458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
28127 /* 79461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28128 /* 79465 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28129 /* 79467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28130 /* 79471 */ GIR_RootConstrainSelectedInstOperands,
28131 /* 79472 */ // GIR_Coverage, 19966,
28132 /* 79472 */ GIR_EraseRootFromParent_Done,
28133 /* 79473 */ // Label 2205: @79473
28134 /* 79473 */ GIM_Reject,
28135 /* 79474 */ // Label 2203: @79474
28136 /* 79474 */ GIM_Reject,
28137 /* 79475 */ // Label 1868: @79475
28138 /* 79475 */ GIM_Try, /*On fail goto*//*Label 2206*/ GIMT_Encode4(79566),
28139 /* 79480 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28140 /* 79483 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28141 /* 79487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2207*/ GIMT_Encode4(79528), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19925 //
28142 /* 79494 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
28143 /* 79498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28144 /* 79502 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28145 /* 79506 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28146 /* 79513 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
28147 /* 79513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
28148 /* 79516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28149 /* 79520 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28150 /* 79522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28151 /* 79526 */ GIR_RootConstrainSelectedInstOperands,
28152 /* 79527 */ // GIR_Coverage, 19925,
28153 /* 79527 */ GIR_EraseRootFromParent_Done,
28154 /* 79528 */ // Label 2207: @79528
28155 /* 79528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2208*/ GIMT_Encode4(79565), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19930 //
28156 /* 79535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28157 /* 79539 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28158 /* 79543 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28159 /* 79550 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
28160 /* 79550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
28161 /* 79553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28162 /* 79557 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28163 /* 79559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28164 /* 79563 */ GIR_RootConstrainSelectedInstOperands,
28165 /* 79564 */ // GIR_Coverage, 19930,
28166 /* 79564 */ GIR_EraseRootFromParent_Done,
28167 /* 79565 */ // Label 2208: @79565
28168 /* 79565 */ GIM_Reject,
28169 /* 79566 */ // Label 2206: @79566
28170 /* 79566 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2209*/ GIMT_Encode4(79610), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19926 //
28171 /* 79573 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28172 /* 79576 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
28173 /* 79580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28174 /* 79584 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28175 /* 79588 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28176 /* 79595 */ // (atomic_store VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
28177 /* 79595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
28178 /* 79598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28179 /* 79602 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28180 /* 79604 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28181 /* 79608 */ GIR_RootConstrainSelectedInstOperands,
28182 /* 79609 */ // GIR_Coverage, 19926,
28183 /* 79609 */ GIR_EraseRootFromParent_Done,
28184 /* 79610 */ // Label 2209: @79610
28185 /* 79610 */ GIM_Reject,
28186 /* 79611 */ // Label 1869: @79611
28187 /* 79611 */ GIM_Try, /*On fail goto*//*Label 2210*/ GIMT_Encode4(80096),
28188 /* 79616 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28189 /* 79619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28190 /* 79623 */ GIM_Try, /*On fail goto*//*Label 2211*/ GIMT_Encode4(79864),
28191 /* 79628 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
28192 /* 79632 */ GIM_Try, /*On fail goto*//*Label 2212*/ GIMT_Encode4(79791),
28193 /* 79637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28194 /* 79641 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28195 /* 79645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2213*/ GIMT_Encode4(79674), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17995 //
28196 /* 79652 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28197 /* 79659 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28198 /* 79659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28199 /* 79662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28200 /* 79666 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28201 /* 79668 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28202 /* 79672 */ GIR_RootConstrainSelectedInstOperands,
28203 /* 79673 */ // GIR_Coverage, 17995,
28204 /* 79673 */ GIR_EraseRootFromParent_Done,
28205 /* 79674 */ // Label 2213: @79674
28206 /* 79674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2214*/ GIMT_Encode4(79703), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18015 //
28207 /* 79681 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28208 /* 79688 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28209 /* 79688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28210 /* 79691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28211 /* 79695 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28212 /* 79697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28213 /* 79701 */ GIR_RootConstrainSelectedInstOperands,
28214 /* 79702 */ // GIR_Coverage, 18015,
28215 /* 79702 */ GIR_EraseRootFromParent_Done,
28216 /* 79703 */ // Label 2214: @79703
28217 /* 79703 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2215*/ GIMT_Encode4(79732), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18025 //
28218 /* 79710 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28219 /* 79717 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28220 /* 79717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28221 /* 79720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28222 /* 79724 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28223 /* 79726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28224 /* 79730 */ GIR_RootConstrainSelectedInstOperands,
28225 /* 79731 */ // GIR_Coverage, 18025,
28226 /* 79731 */ GIR_EraseRootFromParent_Done,
28227 /* 79732 */ // Label 2215: @79732
28228 /* 79732 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2216*/ GIMT_Encode4(79761), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18422 //
28229 /* 79739 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28230 /* 79746 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28231 /* 79746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28232 /* 79749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28233 /* 79753 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28234 /* 79755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28235 /* 79759 */ GIR_RootConstrainSelectedInstOperands,
28236 /* 79760 */ // GIR_Coverage, 18422,
28237 /* 79760 */ GIR_EraseRootFromParent_Done,
28238 /* 79761 */ // Label 2216: @79761
28239 /* 79761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2217*/ GIMT_Encode4(79790), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18424 //
28240 /* 79768 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28241 /* 79775 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28242 /* 79775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28243 /* 79778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28244 /* 79782 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28245 /* 79784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28246 /* 79788 */ GIR_RootConstrainSelectedInstOperands,
28247 /* 79789 */ // GIR_Coverage, 18424,
28248 /* 79789 */ GIR_EraseRootFromParent_Done,
28249 /* 79790 */ // Label 2217: @79790
28250 /* 79790 */ GIM_Reject,
28251 /* 79791 */ // Label 2212: @79791
28252 /* 79791 */ GIM_Try, /*On fail goto*//*Label 2218*/ GIMT_Encode4(79863),
28253 /* 79796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28254 /* 79800 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28255 /* 79804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2219*/ GIMT_Encode4(79833), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19941 //
28256 /* 79811 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28257 /* 79818 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
28258 /* 79818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28259 /* 79821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28260 /* 79825 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28261 /* 79827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28262 /* 79831 */ GIR_RootConstrainSelectedInstOperands,
28263 /* 79832 */ // GIR_Coverage, 19941,
28264 /* 79832 */ GIR_EraseRootFromParent_Done,
28265 /* 79833 */ // Label 2219: @79833
28266 /* 79833 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2220*/ GIMT_Encode4(79862), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19943 //
28267 /* 79840 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28268 /* 79847 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
28269 /* 79847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28270 /* 79850 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28271 /* 79854 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28272 /* 79856 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28273 /* 79860 */ GIR_RootConstrainSelectedInstOperands,
28274 /* 79861 */ // GIR_Coverage, 19943,
28275 /* 79861 */ GIR_EraseRootFromParent_Done,
28276 /* 79862 */ // Label 2220: @79862
28277 /* 79862 */ GIM_Reject,
28278 /* 79863 */ // Label 2218: @79863
28279 /* 79863 */ GIM_Reject,
28280 /* 79864 */ // Label 2211: @79864
28281 /* 79864 */ GIM_Try, /*On fail goto*//*Label 2221*/ GIMT_Encode4(80023),
28282 /* 79869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28283 /* 79873 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28284 /* 79877 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2222*/ GIMT_Encode4(79906), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17997 //
28285 /* 79884 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28286 /* 79891 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28287 /* 79891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
28288 /* 79894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28289 /* 79898 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28290 /* 79900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28291 /* 79904 */ GIR_RootConstrainSelectedInstOperands,
28292 /* 79905 */ // GIR_Coverage, 17997,
28293 /* 79905 */ GIR_EraseRootFromParent_Done,
28294 /* 79906 */ // Label 2222: @79906
28295 /* 79906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2223*/ GIMT_Encode4(79935), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18021 //
28296 /* 79913 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28297 /* 79920 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28298 /* 79920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28299 /* 79923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28300 /* 79927 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28301 /* 79929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28302 /* 79933 */ GIR_RootConstrainSelectedInstOperands,
28303 /* 79934 */ // GIR_Coverage, 18021,
28304 /* 79934 */ GIR_EraseRootFromParent_Done,
28305 /* 79935 */ // Label 2223: @79935
28306 /* 79935 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2224*/ GIMT_Encode4(79964), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18027 //
28307 /* 79942 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28308 /* 79949 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28309 /* 79949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28310 /* 79952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28311 /* 79956 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28312 /* 79958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28313 /* 79962 */ GIR_RootConstrainSelectedInstOperands,
28314 /* 79963 */ // GIR_Coverage, 18027,
28315 /* 79963 */ GIR_EraseRootFromParent_Done,
28316 /* 79964 */ // Label 2224: @79964
28317 /* 79964 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2225*/ GIMT_Encode4(79993), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18429 //
28318 /* 79971 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28319 /* 79978 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28320 /* 79978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28321 /* 79981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28322 /* 79985 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28323 /* 79987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28324 /* 79991 */ GIR_RootConstrainSelectedInstOperands,
28325 /* 79992 */ // GIR_Coverage, 18429,
28326 /* 79992 */ GIR_EraseRootFromParent_Done,
28327 /* 79993 */ // Label 2225: @79993
28328 /* 79993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2226*/ GIMT_Encode4(80022), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18430 //
28329 /* 80000 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28330 /* 80007 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28331 /* 80007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28332 /* 80010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28333 /* 80014 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28334 /* 80016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28335 /* 80020 */ GIR_RootConstrainSelectedInstOperands,
28336 /* 80021 */ // GIR_Coverage, 18430,
28337 /* 80021 */ GIR_EraseRootFromParent_Done,
28338 /* 80022 */ // Label 2226: @80022
28339 /* 80022 */ GIM_Reject,
28340 /* 80023 */ // Label 2221: @80023
28341 /* 80023 */ GIM_Try, /*On fail goto*//*Label 2227*/ GIMT_Encode4(80095),
28342 /* 80028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28343 /* 80032 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28344 /* 80036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2228*/ GIMT_Encode4(80065), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19948 //
28345 /* 80043 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28346 /* 80050 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
28347 /* 80050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
28348 /* 80053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28349 /* 80057 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28350 /* 80059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28351 /* 80063 */ GIR_RootConstrainSelectedInstOperands,
28352 /* 80064 */ // GIR_Coverage, 19948,
28353 /* 80064 */ GIR_EraseRootFromParent_Done,
28354 /* 80065 */ // Label 2228: @80065
28355 /* 80065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2229*/ GIMT_Encode4(80094), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19949 //
28356 /* 80072 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28357 /* 80079 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
28358 /* 80079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
28359 /* 80082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28360 /* 80086 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28361 /* 80088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28362 /* 80092 */ GIR_RootConstrainSelectedInstOperands,
28363 /* 80093 */ // GIR_Coverage, 19949,
28364 /* 80093 */ GIR_EraseRootFromParent_Done,
28365 /* 80094 */ // Label 2229: @80094
28366 /* 80094 */ GIM_Reject,
28367 /* 80095 */ // Label 2227: @80095
28368 /* 80095 */ GIM_Reject,
28369 /* 80096 */ // Label 2210: @80096
28370 /* 80096 */ GIM_Try, /*On fail goto*//*Label 2230*/ GIMT_Encode4(80340),
28371 /* 80101 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28372 /* 80104 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
28373 /* 80108 */ GIM_Try, /*On fail goto*//*Label 2231*/ GIMT_Encode4(80267),
28374 /* 80113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28375 /* 80117 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28376 /* 80121 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2232*/ GIMT_Encode4(80150), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17996 //
28377 /* 80128 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28378 /* 80135 */ // (atomic_store VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28379 /* 80135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28380 /* 80138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28381 /* 80142 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28382 /* 80144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28383 /* 80148 */ GIR_RootConstrainSelectedInstOperands,
28384 /* 80149 */ // GIR_Coverage, 17996,
28385 /* 80149 */ GIR_EraseRootFromParent_Done,
28386 /* 80150 */ // Label 2232: @80150
28387 /* 80150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2233*/ GIMT_Encode4(80179), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18016 //
28388 /* 80157 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28389 /* 80164 */ // (atomic_store VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28390 /* 80164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28391 /* 80167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28392 /* 80171 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28393 /* 80173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28394 /* 80177 */ GIR_RootConstrainSelectedInstOperands,
28395 /* 80178 */ // GIR_Coverage, 18016,
28396 /* 80178 */ GIR_EraseRootFromParent_Done,
28397 /* 80179 */ // Label 2233: @80179
28398 /* 80179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2234*/ GIMT_Encode4(80208), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18026 //
28399 /* 80186 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28400 /* 80193 */ // (atomic_store VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28401 /* 80193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28402 /* 80196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28403 /* 80200 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28404 /* 80202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28405 /* 80206 */ GIR_RootConstrainSelectedInstOperands,
28406 /* 80207 */ // GIR_Coverage, 18026,
28407 /* 80207 */ GIR_EraseRootFromParent_Done,
28408 /* 80208 */ // Label 2234: @80208
28409 /* 80208 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2235*/ GIMT_Encode4(80237), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18423 //
28410 /* 80215 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28411 /* 80222 */ // (atomic_store VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28412 /* 80222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28413 /* 80225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28414 /* 80229 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28415 /* 80231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28416 /* 80235 */ GIR_RootConstrainSelectedInstOperands,
28417 /* 80236 */ // GIR_Coverage, 18423,
28418 /* 80236 */ GIR_EraseRootFromParent_Done,
28419 /* 80237 */ // Label 2235: @80237
28420 /* 80237 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2236*/ GIMT_Encode4(80266), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18425 //
28421 /* 80244 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28422 /* 80251 */ // (atomic_store VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28423 /* 80251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28424 /* 80254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28425 /* 80258 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28426 /* 80260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28427 /* 80264 */ GIR_RootConstrainSelectedInstOperands,
28428 /* 80265 */ // GIR_Coverage, 18425,
28429 /* 80265 */ GIR_EraseRootFromParent_Done,
28430 /* 80266 */ // Label 2236: @80266
28431 /* 80266 */ GIM_Reject,
28432 /* 80267 */ // Label 2231: @80267
28433 /* 80267 */ GIM_Try, /*On fail goto*//*Label 2237*/ GIMT_Encode4(80339),
28434 /* 80272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28435 /* 80276 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28436 /* 80280 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2238*/ GIMT_Encode4(80309), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19942 //
28437 /* 80287 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28438 /* 80294 */ // (atomic_store VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
28439 /* 80294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28440 /* 80297 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28441 /* 80301 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28442 /* 80303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28443 /* 80307 */ GIR_RootConstrainSelectedInstOperands,
28444 /* 80308 */ // GIR_Coverage, 19942,
28445 /* 80308 */ GIR_EraseRootFromParent_Done,
28446 /* 80309 */ // Label 2238: @80309
28447 /* 80309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2239*/ GIMT_Encode4(80338), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19944 //
28448 /* 80316 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28449 /* 80323 */ // (atomic_store VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
28450 /* 80323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28451 /* 80326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28452 /* 80330 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28453 /* 80332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28454 /* 80336 */ GIR_RootConstrainSelectedInstOperands,
28455 /* 80337 */ // GIR_Coverage, 19944,
28456 /* 80337 */ GIR_EraseRootFromParent_Done,
28457 /* 80338 */ // Label 2239: @80338
28458 /* 80338 */ GIM_Reject,
28459 /* 80339 */ // Label 2237: @80339
28460 /* 80339 */ GIM_Reject,
28461 /* 80340 */ // Label 2230: @80340
28462 /* 80340 */ GIM_Reject,
28463 /* 80341 */ // Label 1870: @80341
28464 /* 80341 */ GIM_Try, /*On fail goto*//*Label 2240*/ GIMT_Encode4(80652),
28465 /* 80346 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28466 /* 80349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28467 /* 80353 */ GIM_Try, /*On fail goto*//*Label 2241*/ GIMT_Encode4(80507),
28468 /* 80358 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28469 /* 80362 */ GIM_Try, /*On fail goto*//*Label 2242*/ GIMT_Encode4(80434),
28470 /* 80367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28471 /* 80371 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28472 /* 80375 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2243*/ GIMT_Encode4(80404), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17985 //
28473 /* 80382 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28474 /* 80389 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
28475 /* 80389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28476 /* 80392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28477 /* 80396 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28478 /* 80398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28479 /* 80402 */ GIR_RootConstrainSelectedInstOperands,
28480 /* 80403 */ // GIR_Coverage, 17985,
28481 /* 80403 */ GIR_EraseRootFromParent_Done,
28482 /* 80404 */ // Label 2243: @80404
28483 /* 80404 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2244*/ GIMT_Encode4(80433), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18000 //
28484 /* 80411 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28485 /* 80418 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
28486 /* 80418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28487 /* 80421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28488 /* 80425 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28489 /* 80427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28490 /* 80431 */ GIR_RootConstrainSelectedInstOperands,
28491 /* 80432 */ // GIR_Coverage, 18000,
28492 /* 80432 */ GIR_EraseRootFromParent_Done,
28493 /* 80433 */ // Label 2244: @80433
28494 /* 80433 */ GIM_Reject,
28495 /* 80434 */ // Label 2242: @80434
28496 /* 80434 */ GIM_Try, /*On fail goto*//*Label 2245*/ GIMT_Encode4(80506),
28497 /* 80439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28498 /* 80443 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28499 /* 80447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2246*/ GIMT_Encode4(80476), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19961 //
28500 /* 80454 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28501 /* 80461 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
28502 /* 80461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
28503 /* 80464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28504 /* 80468 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28505 /* 80470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28506 /* 80474 */ GIR_RootConstrainSelectedInstOperands,
28507 /* 80475 */ // GIR_Coverage, 19961,
28508 /* 80475 */ GIR_EraseRootFromParent_Done,
28509 /* 80476 */ // Label 2246: @80476
28510 /* 80476 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2247*/ GIMT_Encode4(80505), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19963 //
28511 /* 80483 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28512 /* 80490 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
28513 /* 80490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
28514 /* 80493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28515 /* 80497 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28516 /* 80499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28517 /* 80503 */ GIR_RootConstrainSelectedInstOperands,
28518 /* 80504 */ // GIR_Coverage, 19963,
28519 /* 80504 */ GIR_EraseRootFromParent_Done,
28520 /* 80505 */ // Label 2247: @80505
28521 /* 80505 */ GIM_Reject,
28522 /* 80506 */ // Label 2245: @80506
28523 /* 80506 */ GIM_Reject,
28524 /* 80507 */ // Label 2241: @80507
28525 /* 80507 */ GIM_Try, /*On fail goto*//*Label 2248*/ GIMT_Encode4(80579),
28526 /* 80512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28527 /* 80516 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28528 /* 80520 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2249*/ GIMT_Encode4(80549), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17991 //
28529 /* 80527 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28530 /* 80534 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
28531 /* 80534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
28532 /* 80537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28533 /* 80541 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28534 /* 80543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28535 /* 80547 */ GIR_RootConstrainSelectedInstOperands,
28536 /* 80548 */ // GIR_Coverage, 17991,
28537 /* 80548 */ GIR_EraseRootFromParent_Done,
28538 /* 80549 */ // Label 2249: @80549
28539 /* 80549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2250*/ GIMT_Encode4(80578), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18002 //
28540 /* 80556 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28541 /* 80563 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
28542 /* 80563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
28543 /* 80566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28544 /* 80570 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28545 /* 80572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28546 /* 80576 */ GIR_RootConstrainSelectedInstOperands,
28547 /* 80577 */ // GIR_Coverage, 18002,
28548 /* 80577 */ GIR_EraseRootFromParent_Done,
28549 /* 80578 */ // Label 2250: @80578
28550 /* 80578 */ GIM_Reject,
28551 /* 80579 */ // Label 2248: @80579
28552 /* 80579 */ GIM_Try, /*On fail goto*//*Label 2251*/ GIMT_Encode4(80651),
28553 /* 80584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28554 /* 80588 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28555 /* 80592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2252*/ GIMT_Encode4(80621), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19968 //
28556 /* 80599 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28557 /* 80606 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
28558 /* 80606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
28559 /* 80609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28560 /* 80613 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28561 /* 80615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28562 /* 80619 */ GIR_RootConstrainSelectedInstOperands,
28563 /* 80620 */ // GIR_Coverage, 19968,
28564 /* 80620 */ GIR_EraseRootFromParent_Done,
28565 /* 80621 */ // Label 2252: @80621
28566 /* 80621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2253*/ GIMT_Encode4(80650), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19969 //
28567 /* 80628 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28568 /* 80635 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
28569 /* 80635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
28570 /* 80638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28571 /* 80642 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28572 /* 80644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28573 /* 80648 */ GIR_RootConstrainSelectedInstOperands,
28574 /* 80649 */ // GIR_Coverage, 19969,
28575 /* 80649 */ GIR_EraseRootFromParent_Done,
28576 /* 80650 */ // Label 2253: @80650
28577 /* 80650 */ GIM_Reject,
28578 /* 80651 */ // Label 2251: @80651
28579 /* 80651 */ GIM_Reject,
28580 /* 80652 */ // Label 2240: @80652
28581 /* 80652 */ GIM_Try, /*On fail goto*//*Label 2254*/ GIMT_Encode4(80809),
28582 /* 80657 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28583 /* 80660 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28584 /* 80664 */ GIM_Try, /*On fail goto*//*Label 2255*/ GIMT_Encode4(80736),
28585 /* 80669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28586 /* 80673 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28587 /* 80677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2256*/ GIMT_Encode4(80706), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17986 //
28588 /* 80684 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28589 /* 80691 */ // (atomic_store VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
28590 /* 80691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28591 /* 80694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28592 /* 80698 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28593 /* 80700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28594 /* 80704 */ GIR_RootConstrainSelectedInstOperands,
28595 /* 80705 */ // GIR_Coverage, 17986,
28596 /* 80705 */ GIR_EraseRootFromParent_Done,
28597 /* 80706 */ // Label 2256: @80706
28598 /* 80706 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2257*/ GIMT_Encode4(80735), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18001 //
28599 /* 80713 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28600 /* 80720 */ // (atomic_store VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
28601 /* 80720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28602 /* 80723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28603 /* 80727 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28604 /* 80729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28605 /* 80733 */ GIR_RootConstrainSelectedInstOperands,
28606 /* 80734 */ // GIR_Coverage, 18001,
28607 /* 80734 */ GIR_EraseRootFromParent_Done,
28608 /* 80735 */ // Label 2257: @80735
28609 /* 80735 */ GIM_Reject,
28610 /* 80736 */ // Label 2255: @80736
28611 /* 80736 */ GIM_Try, /*On fail goto*//*Label 2258*/ GIMT_Encode4(80808),
28612 /* 80741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28613 /* 80745 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28614 /* 80749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2259*/ GIMT_Encode4(80778), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19962 //
28615 /* 80756 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28616 /* 80763 */ // (atomic_store VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
28617 /* 80763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
28618 /* 80766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28619 /* 80770 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28620 /* 80772 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28621 /* 80776 */ GIR_RootConstrainSelectedInstOperands,
28622 /* 80777 */ // GIR_Coverage, 19962,
28623 /* 80777 */ GIR_EraseRootFromParent_Done,
28624 /* 80778 */ // Label 2259: @80778
28625 /* 80778 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2260*/ GIMT_Encode4(80807), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19964 //
28626 /* 80785 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28627 /* 80792 */ // (atomic_store VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
28628 /* 80792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
28629 /* 80795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28630 /* 80799 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28631 /* 80801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28632 /* 80805 */ GIR_RootConstrainSelectedInstOperands,
28633 /* 80806 */ // GIR_Coverage, 19964,
28634 /* 80806 */ GIR_EraseRootFromParent_Done,
28635 /* 80807 */ // Label 2260: @80807
28636 /* 80807 */ GIM_Reject,
28637 /* 80808 */ // Label 2258: @80808
28638 /* 80808 */ GIM_Reject,
28639 /* 80809 */ // Label 2254: @80809
28640 /* 80809 */ GIM_Reject,
28641 /* 80810 */ // Label 1871: @80810
28642 /* 80810 */ GIM_Try, /*On fail goto*//*Label 2261*/ GIMT_Encode4(80971),
28643 /* 80815 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28644 /* 80818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28645 /* 80822 */ GIM_Try, /*On fail goto*//*Label 2262*/ GIMT_Encode4(80898),
28646 /* 80827 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
28647 /* 80831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28648 /* 80835 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28649 /* 80839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2263*/ GIMT_Encode4(80868), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19921 //
28650 /* 80846 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28651 /* 80853 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
28652 /* 80853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
28653 /* 80856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28654 /* 80860 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28655 /* 80862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28656 /* 80866 */ GIR_RootConstrainSelectedInstOperands,
28657 /* 80867 */ // GIR_Coverage, 19921,
28658 /* 80867 */ GIR_EraseRootFromParent_Done,
28659 /* 80868 */ // Label 2263: @80868
28660 /* 80868 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2264*/ GIMT_Encode4(80897), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19923 //
28661 /* 80875 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28662 /* 80882 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
28663 /* 80882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
28664 /* 80885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28665 /* 80889 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28666 /* 80891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28667 /* 80895 */ GIR_RootConstrainSelectedInstOperands,
28668 /* 80896 */ // GIR_Coverage, 19923,
28669 /* 80896 */ GIR_EraseRootFromParent_Done,
28670 /* 80897 */ // Label 2264: @80897
28671 /* 80897 */ GIM_Reject,
28672 /* 80898 */ // Label 2262: @80898
28673 /* 80898 */ GIM_Try, /*On fail goto*//*Label 2265*/ GIMT_Encode4(80970),
28674 /* 80903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28675 /* 80907 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28676 /* 80911 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2266*/ GIMT_Encode4(80940), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19928 //
28677 /* 80918 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28678 /* 80925 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
28679 /* 80925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
28680 /* 80928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28681 /* 80932 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28682 /* 80934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28683 /* 80938 */ GIR_RootConstrainSelectedInstOperands,
28684 /* 80939 */ // GIR_Coverage, 19928,
28685 /* 80939 */ GIR_EraseRootFromParent_Done,
28686 /* 80940 */ // Label 2266: @80940
28687 /* 80940 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2267*/ GIMT_Encode4(80969), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19929 //
28688 /* 80947 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28689 /* 80954 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
28690 /* 80954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
28691 /* 80957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28692 /* 80961 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28693 /* 80963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28694 /* 80967 */ GIR_RootConstrainSelectedInstOperands,
28695 /* 80968 */ // GIR_Coverage, 19929,
28696 /* 80968 */ GIR_EraseRootFromParent_Done,
28697 /* 80969 */ // Label 2267: @80969
28698 /* 80969 */ GIM_Reject,
28699 /* 80970 */ // Label 2265: @80970
28700 /* 80970 */ GIM_Reject,
28701 /* 80971 */ // Label 2261: @80971
28702 /* 80971 */ GIM_Try, /*On fail goto*//*Label 2268*/ GIMT_Encode4(81050),
28703 /* 80976 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28704 /* 80979 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
28705 /* 80983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28706 /* 80987 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28707 /* 80991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2269*/ GIMT_Encode4(81020), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19922 //
28708 /* 80998 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28709 /* 81005 */ // (atomic_store VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
28710 /* 81005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
28711 /* 81008 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28712 /* 81012 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28713 /* 81014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28714 /* 81018 */ GIR_RootConstrainSelectedInstOperands,
28715 /* 81019 */ // GIR_Coverage, 19922,
28716 /* 81019 */ GIR_EraseRootFromParent_Done,
28717 /* 81020 */ // Label 2269: @81020
28718 /* 81020 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2270*/ GIMT_Encode4(81049), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19924 //
28719 /* 81027 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28720 /* 81034 */ // (atomic_store VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
28721 /* 81034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
28722 /* 81037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28723 /* 81041 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28724 /* 81043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28725 /* 81047 */ GIR_RootConstrainSelectedInstOperands,
28726 /* 81048 */ // GIR_Coverage, 19924,
28727 /* 81048 */ GIR_EraseRootFromParent_Done,
28728 /* 81049 */ // Label 2270: @81049
28729 /* 81049 */ GIM_Reject,
28730 /* 81050 */ // Label 2268: @81050
28731 /* 81050 */ GIM_Reject,
28732 /* 81051 */ // Label 1872: @81051
28733 /* 81051 */ GIM_Try, /*On fail goto*//*Label 2271*/ GIMT_Encode4(81510),
28734 /* 81056 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28735 /* 81059 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28736 /* 81063 */ GIM_Try, /*On fail goto*//*Label 2272*/ GIMT_Encode4(81291),
28737 /* 81068 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
28738 /* 81072 */ GIM_Try, /*On fail goto*//*Label 2273*/ GIMT_Encode4(81144),
28739 /* 81077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28740 /* 81081 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28741 /* 81085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2274*/ GIMT_Encode4(81114), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1690 //
28742 /* 81092 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28743 /* 81099 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28744 /* 81099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28745 /* 81102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28746 /* 81106 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28747 /* 81108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28748 /* 81112 */ GIR_RootConstrainSelectedInstOperands,
28749 /* 81113 */ // GIR_Coverage, 1690,
28750 /* 81113 */ GIR_EraseRootFromParent_Done,
28751 /* 81114 */ // Label 2274: @81114
28752 /* 81114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2275*/ GIMT_Encode4(81143), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1702 //
28753 /* 81121 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28754 /* 81128 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28755 /* 81128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28756 /* 81131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28757 /* 81135 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28758 /* 81137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28759 /* 81141 */ GIR_RootConstrainSelectedInstOperands,
28760 /* 81142 */ // GIR_Coverage, 1702,
28761 /* 81142 */ GIR_EraseRootFromParent_Done,
28762 /* 81143 */ // Label 2275: @81143
28763 /* 81143 */ GIM_Reject,
28764 /* 81144 */ // Label 2273: @81144
28765 /* 81144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2276*/ GIMT_Encode4(81181), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4470 //
28766 /* 81151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28767 /* 81155 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28768 /* 81159 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28769 /* 81166 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
28770 /* 81166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28771 /* 81169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28772 /* 81173 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28773 /* 81175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28774 /* 81179 */ GIR_RootConstrainSelectedInstOperands,
28775 /* 81180 */ // GIR_Coverage, 4470,
28776 /* 81180 */ GIR_EraseRootFromParent_Done,
28777 /* 81181 */ // Label 2276: @81181
28778 /* 81181 */ GIM_Try, /*On fail goto*//*Label 2277*/ GIMT_Encode4(81253),
28779 /* 81186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28780 /* 81190 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28781 /* 81194 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2278*/ GIMT_Encode4(81223), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18013 //
28782 /* 81201 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28783 /* 81208 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28784 /* 81208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28785 /* 81211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28786 /* 81215 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28787 /* 81217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28788 /* 81221 */ GIR_RootConstrainSelectedInstOperands,
28789 /* 81222 */ // GIR_Coverage, 18013,
28790 /* 81222 */ GIR_EraseRootFromParent_Done,
28791 /* 81223 */ // Label 2278: @81223
28792 /* 81223 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2279*/ GIMT_Encode4(81252), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18420 //
28793 /* 81230 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28794 /* 81237 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28795 /* 81237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28796 /* 81240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28797 /* 81244 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28798 /* 81246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28799 /* 81250 */ GIR_RootConstrainSelectedInstOperands,
28800 /* 81251 */ // GIR_Coverage, 18420,
28801 /* 81251 */ GIR_EraseRootFromParent_Done,
28802 /* 81252 */ // Label 2279: @81252
28803 /* 81252 */ GIM_Reject,
28804 /* 81253 */ // Label 2277: @81253
28805 /* 81253 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2280*/ GIMT_Encode4(81290), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19939 //
28806 /* 81260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28807 /* 81264 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28808 /* 81268 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28809 /* 81275 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
28810 /* 81275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28811 /* 81278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28812 /* 81282 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28813 /* 81284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28814 /* 81288 */ GIR_RootConstrainSelectedInstOperands,
28815 /* 81289 */ // GIR_Coverage, 19939,
28816 /* 81289 */ GIR_EraseRootFromParent_Done,
28817 /* 81290 */ // Label 2280: @81290
28818 /* 81290 */ GIM_Reject,
28819 /* 81291 */ // Label 2272: @81291
28820 /* 81291 */ GIM_Try, /*On fail goto*//*Label 2281*/ GIMT_Encode4(81363),
28821 /* 81296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28822 /* 81300 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28823 /* 81304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2282*/ GIMT_Encode4(81333), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1694 //
28824 /* 81311 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28825 /* 81318 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28826 /* 81318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
28827 /* 81321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28828 /* 81325 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28829 /* 81327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28830 /* 81331 */ GIR_RootConstrainSelectedInstOperands,
28831 /* 81332 */ // GIR_Coverage, 1694,
28832 /* 81332 */ GIR_EraseRootFromParent_Done,
28833 /* 81333 */ // Label 2282: @81333
28834 /* 81333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2283*/ GIMT_Encode4(81362), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1706 //
28835 /* 81340 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28836 /* 81347 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28837 /* 81347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28838 /* 81350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28839 /* 81354 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28840 /* 81356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28841 /* 81360 */ GIR_RootConstrainSelectedInstOperands,
28842 /* 81361 */ // GIR_Coverage, 1706,
28843 /* 81361 */ GIR_EraseRootFromParent_Done,
28844 /* 81362 */ // Label 2283: @81362
28845 /* 81362 */ GIM_Reject,
28846 /* 81363 */ // Label 2281: @81363
28847 /* 81363 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2284*/ GIMT_Encode4(81400), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4504 //
28848 /* 81370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28849 /* 81374 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28850 /* 81378 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28851 /* 81385 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
28852 /* 81385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
28853 /* 81388 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28854 /* 81392 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28855 /* 81394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28856 /* 81398 */ GIR_RootConstrainSelectedInstOperands,
28857 /* 81399 */ // GIR_Coverage, 4504,
28858 /* 81399 */ GIR_EraseRootFromParent_Done,
28859 /* 81400 */ // Label 2284: @81400
28860 /* 81400 */ GIM_Try, /*On fail goto*//*Label 2285*/ GIMT_Encode4(81472),
28861 /* 81405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28862 /* 81409 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28863 /* 81413 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2286*/ GIMT_Encode4(81442), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18020 //
28864 /* 81420 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28865 /* 81427 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28866 /* 81427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28867 /* 81430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28868 /* 81434 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28869 /* 81436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28870 /* 81440 */ GIR_RootConstrainSelectedInstOperands,
28871 /* 81441 */ // GIR_Coverage, 18020,
28872 /* 81441 */ GIR_EraseRootFromParent_Done,
28873 /* 81442 */ // Label 2286: @81442
28874 /* 81442 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2287*/ GIMT_Encode4(81471), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18428 //
28875 /* 81449 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28876 /* 81456 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28877 /* 81456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28878 /* 81459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28879 /* 81463 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28880 /* 81465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28881 /* 81469 */ GIR_RootConstrainSelectedInstOperands,
28882 /* 81470 */ // GIR_Coverage, 18428,
28883 /* 81470 */ GIR_EraseRootFromParent_Done,
28884 /* 81471 */ // Label 2287: @81471
28885 /* 81471 */ GIM_Reject,
28886 /* 81472 */ // Label 2285: @81472
28887 /* 81472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2288*/ GIMT_Encode4(81509), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19947 //
28888 /* 81479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28889 /* 81483 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28890 /* 81487 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28891 /* 81494 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
28892 /* 81494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
28893 /* 81497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28894 /* 81501 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28895 /* 81503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28896 /* 81507 */ GIR_RootConstrainSelectedInstOperands,
28897 /* 81508 */ // GIR_Coverage, 19947,
28898 /* 81508 */ GIR_EraseRootFromParent_Done,
28899 /* 81509 */ // Label 2288: @81509
28900 /* 81509 */ GIM_Reject,
28901 /* 81510 */ // Label 2271: @81510
28902 /* 81510 */ GIM_Try, /*On fail goto*//*Label 2289*/ GIMT_Encode4(81741),
28903 /* 81515 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28904 /* 81518 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
28905 /* 81522 */ GIM_Try, /*On fail goto*//*Label 2290*/ GIMT_Encode4(81594),
28906 /* 81527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28907 /* 81531 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28908 /* 81535 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2291*/ GIMT_Encode4(81564), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1691 //
28909 /* 81542 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28910 /* 81549 */ // (atomic_store VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28911 /* 81549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28912 /* 81552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28913 /* 81556 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28914 /* 81558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28915 /* 81562 */ GIR_RootConstrainSelectedInstOperands,
28916 /* 81563 */ // GIR_Coverage, 1691,
28917 /* 81563 */ GIR_EraseRootFromParent_Done,
28918 /* 81564 */ // Label 2291: @81564
28919 /* 81564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2292*/ GIMT_Encode4(81593), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1703 //
28920 /* 81571 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28921 /* 81578 */ // (atomic_store VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28922 /* 81578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28923 /* 81581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28924 /* 81585 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28925 /* 81587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28926 /* 81591 */ GIR_RootConstrainSelectedInstOperands,
28927 /* 81592 */ // GIR_Coverage, 1703,
28928 /* 81592 */ GIR_EraseRootFromParent_Done,
28929 /* 81593 */ // Label 2292: @81593
28930 /* 81593 */ GIM_Reject,
28931 /* 81594 */ // Label 2290: @81594
28932 /* 81594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2293*/ GIMT_Encode4(81631), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4471 //
28933 /* 81601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28934 /* 81605 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28935 /* 81609 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28936 /* 81616 */ // (atomic_store VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
28937 /* 81616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28938 /* 81619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28939 /* 81623 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28940 /* 81625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28941 /* 81629 */ GIR_RootConstrainSelectedInstOperands,
28942 /* 81630 */ // GIR_Coverage, 4471,
28943 /* 81630 */ GIR_EraseRootFromParent_Done,
28944 /* 81631 */ // Label 2293: @81631
28945 /* 81631 */ GIM_Try, /*On fail goto*//*Label 2294*/ GIMT_Encode4(81703),
28946 /* 81636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28947 /* 81640 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28948 /* 81644 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2295*/ GIMT_Encode4(81673), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18014 //
28949 /* 81651 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28950 /* 81658 */ // (atomic_store VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28951 /* 81658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28952 /* 81661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28953 /* 81665 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28954 /* 81667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28955 /* 81671 */ GIR_RootConstrainSelectedInstOperands,
28956 /* 81672 */ // GIR_Coverage, 18014,
28957 /* 81672 */ GIR_EraseRootFromParent_Done,
28958 /* 81673 */ // Label 2295: @81673
28959 /* 81673 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2296*/ GIMT_Encode4(81702), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18421 //
28960 /* 81680 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28961 /* 81687 */ // (atomic_store VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28962 /* 81687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28963 /* 81690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28964 /* 81694 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28965 /* 81696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28966 /* 81700 */ GIR_RootConstrainSelectedInstOperands,
28967 /* 81701 */ // GIR_Coverage, 18421,
28968 /* 81701 */ GIR_EraseRootFromParent_Done,
28969 /* 81702 */ // Label 2296: @81702
28970 /* 81702 */ GIM_Reject,
28971 /* 81703 */ // Label 2294: @81703
28972 /* 81703 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2297*/ GIMT_Encode4(81740), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19940 //
28973 /* 81710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28974 /* 81714 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28975 /* 81718 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28976 /* 81725 */ // (atomic_store VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
28977 /* 81725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28978 /* 81728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28979 /* 81732 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28980 /* 81734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28981 /* 81738 */ GIR_RootConstrainSelectedInstOperands,
28982 /* 81739 */ // GIR_Coverage, 19940,
28983 /* 81739 */ GIR_EraseRootFromParent_Done,
28984 /* 81740 */ // Label 2297: @81740
28985 /* 81740 */ GIM_Reject,
28986 /* 81741 */ // Label 2289: @81741
28987 /* 81741 */ GIM_Reject,
28988 /* 81742 */ // Label 1873: @81742
28989 /* 81742 */ GIM_Try, /*On fail goto*//*Label 2298*/ GIMT_Encode4(82061),
28990 /* 81747 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28991 /* 81750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28992 /* 81754 */ GIM_Try, /*On fail goto*//*Label 2299*/ GIMT_Encode4(81912),
28993 /* 81759 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28994 /* 81763 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2300*/ GIMT_Encode4(81800), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1696 //
28995 /* 81770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28996 /* 81774 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28997 /* 81778 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28998 /* 81785 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
28999 /* 81785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29000 /* 81788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29001 /* 81792 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29002 /* 81794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29003 /* 81798 */ GIR_RootConstrainSelectedInstOperands,
29004 /* 81799 */ // GIR_Coverage, 1696,
29005 /* 81799 */ GIR_EraseRootFromParent_Done,
29006 /* 81800 */ // Label 2300: @81800
29007 /* 81800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2301*/ GIMT_Encode4(81837), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4468 //
29008 /* 81807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29009 /* 81811 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29010 /* 81815 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29011 /* 81822 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29012 /* 81822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
29013 /* 81825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29014 /* 81829 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29015 /* 81831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29016 /* 81835 */ GIR_RootConstrainSelectedInstOperands,
29017 /* 81836 */ // GIR_Coverage, 4468,
29018 /* 81836 */ GIR_EraseRootFromParent_Done,
29019 /* 81837 */ // Label 2301: @81837
29020 /* 81837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2302*/ GIMT_Encode4(81874), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17983 //
29021 /* 81844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29022 /* 81848 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29023 /* 81852 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29024 /* 81859 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29025 /* 81859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29026 /* 81862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29027 /* 81866 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29028 /* 81868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29029 /* 81872 */ GIR_RootConstrainSelectedInstOperands,
29030 /* 81873 */ // GIR_Coverage, 17983,
29031 /* 81873 */ GIR_EraseRootFromParent_Done,
29032 /* 81874 */ // Label 2302: @81874
29033 /* 81874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2303*/ GIMT_Encode4(81911), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19959 //
29034 /* 81881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29035 /* 81885 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29036 /* 81889 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29037 /* 81896 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29038 /* 81896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29039 /* 81899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29040 /* 81903 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29041 /* 81905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29042 /* 81909 */ GIR_RootConstrainSelectedInstOperands,
29043 /* 81910 */ // GIR_Coverage, 19959,
29044 /* 81910 */ GIR_EraseRootFromParent_Done,
29045 /* 81911 */ // Label 2303: @81911
29046 /* 81911 */ GIM_Reject,
29047 /* 81912 */ // Label 2299: @81912
29048 /* 81912 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2304*/ GIMT_Encode4(81949), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1700 //
29049 /* 81919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29050 /* 81923 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29051 /* 81927 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29052 /* 81934 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29053 /* 81934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29054 /* 81937 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29055 /* 81941 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29056 /* 81943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29057 /* 81947 */ GIR_RootConstrainSelectedInstOperands,
29058 /* 81948 */ // GIR_Coverage, 1700,
29059 /* 81948 */ GIR_EraseRootFromParent_Done,
29060 /* 81949 */ // Label 2304: @81949
29061 /* 81949 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2305*/ GIMT_Encode4(81986), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4503 //
29062 /* 81956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29063 /* 81960 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29064 /* 81964 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29065 /* 81971 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29066 /* 81971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
29067 /* 81974 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29068 /* 81978 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29069 /* 81980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29070 /* 81984 */ GIR_RootConstrainSelectedInstOperands,
29071 /* 81985 */ // GIR_Coverage, 4503,
29072 /* 81985 */ GIR_EraseRootFromParent_Done,
29073 /* 81986 */ // Label 2305: @81986
29074 /* 81986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2306*/ GIMT_Encode4(82023), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17990 //
29075 /* 81993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29076 /* 81997 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29077 /* 82001 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29078 /* 82008 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29079 /* 82008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29080 /* 82011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29081 /* 82015 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29082 /* 82017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29083 /* 82021 */ GIR_RootConstrainSelectedInstOperands,
29084 /* 82022 */ // GIR_Coverage, 17990,
29085 /* 82022 */ GIR_EraseRootFromParent_Done,
29086 /* 82023 */ // Label 2306: @82023
29087 /* 82023 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2307*/ GIMT_Encode4(82060), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19967 //
29088 /* 82030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29089 /* 82034 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29090 /* 82038 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29091 /* 82045 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29092 /* 82045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29093 /* 82048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29094 /* 82052 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29095 /* 82054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29096 /* 82058 */ GIR_RootConstrainSelectedInstOperands,
29097 /* 82059 */ // GIR_Coverage, 19967,
29098 /* 82059 */ GIR_EraseRootFromParent_Done,
29099 /* 82060 */ // Label 2307: @82060
29100 /* 82060 */ GIM_Reject,
29101 /* 82061 */ // Label 2298: @82061
29102 /* 82061 */ GIM_Try, /*On fail goto*//*Label 2308*/ GIMT_Encode4(82222),
29103 /* 82066 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29104 /* 82069 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
29105 /* 82073 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2309*/ GIMT_Encode4(82110), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1697 //
29106 /* 82080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29107 /* 82084 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29108 /* 82088 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29109 /* 82095 */ // (atomic_store VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29110 /* 82095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29111 /* 82098 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29112 /* 82102 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29113 /* 82104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29114 /* 82108 */ GIR_RootConstrainSelectedInstOperands,
29115 /* 82109 */ // GIR_Coverage, 1697,
29116 /* 82109 */ GIR_EraseRootFromParent_Done,
29117 /* 82110 */ // Label 2309: @82110
29118 /* 82110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2310*/ GIMT_Encode4(82147), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4469 //
29119 /* 82117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29120 /* 82121 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29121 /* 82125 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29122 /* 82132 */ // (atomic_store VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29123 /* 82132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
29124 /* 82135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29125 /* 82139 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29126 /* 82141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29127 /* 82145 */ GIR_RootConstrainSelectedInstOperands,
29128 /* 82146 */ // GIR_Coverage, 4469,
29129 /* 82146 */ GIR_EraseRootFromParent_Done,
29130 /* 82147 */ // Label 2310: @82147
29131 /* 82147 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2311*/ GIMT_Encode4(82184), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17984 //
29132 /* 82154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29133 /* 82158 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29134 /* 82162 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29135 /* 82169 */ // (atomic_store VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29136 /* 82169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29137 /* 82172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29138 /* 82176 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29139 /* 82178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29140 /* 82182 */ GIR_RootConstrainSelectedInstOperands,
29141 /* 82183 */ // GIR_Coverage, 17984,
29142 /* 82183 */ GIR_EraseRootFromParent_Done,
29143 /* 82184 */ // Label 2311: @82184
29144 /* 82184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2312*/ GIMT_Encode4(82221), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19960 //
29145 /* 82191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29146 /* 82195 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29147 /* 82199 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29148 /* 82206 */ // (atomic_store VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29149 /* 82206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29150 /* 82209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29151 /* 82213 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29152 /* 82215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29153 /* 82219 */ GIR_RootConstrainSelectedInstOperands,
29154 /* 82220 */ // GIR_Coverage, 19960,
29155 /* 82220 */ GIR_EraseRootFromParent_Done,
29156 /* 82221 */ // Label 2312: @82221
29157 /* 82221 */ GIM_Reject,
29158 /* 82222 */ // Label 2308: @82222
29159 /* 82222 */ GIM_Reject,
29160 /* 82223 */ // Label 1874: @82223
29161 /* 82223 */ GIM_Try, /*On fail goto*//*Label 2313*/ GIMT_Encode4(82384),
29162 /* 82228 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29163 /* 82231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29164 /* 82235 */ GIM_Try, /*On fail goto*//*Label 2314*/ GIMT_Encode4(82311),
29165 /* 82240 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
29166 /* 82244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29167 /* 82248 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29168 /* 82252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2315*/ GIMT_Encode4(82281), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4466 //
29169 /* 82259 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29170 /* 82266 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29171 /* 82266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
29172 /* 82269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29173 /* 82273 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29174 /* 82275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29175 /* 82279 */ GIR_RootConstrainSelectedInstOperands,
29176 /* 82280 */ // GIR_Coverage, 4466,
29177 /* 82280 */ GIR_EraseRootFromParent_Done,
29178 /* 82281 */ // Label 2315: @82281
29179 /* 82281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2316*/ GIMT_Encode4(82310), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19919 //
29180 /* 82288 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29181 /* 82295 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29182 /* 82295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29183 /* 82298 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29184 /* 82302 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29185 /* 82304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29186 /* 82308 */ GIR_RootConstrainSelectedInstOperands,
29187 /* 82309 */ // GIR_Coverage, 19919,
29188 /* 82309 */ GIR_EraseRootFromParent_Done,
29189 /* 82310 */ // Label 2316: @82310
29190 /* 82310 */ GIM_Reject,
29191 /* 82311 */ // Label 2314: @82311
29192 /* 82311 */ GIM_Try, /*On fail goto*//*Label 2317*/ GIMT_Encode4(82383),
29193 /* 82316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29194 /* 82320 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29195 /* 82324 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2318*/ GIMT_Encode4(82353), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4502 //
29196 /* 82331 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29197 /* 82338 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29198 /* 82338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
29199 /* 82341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29200 /* 82345 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29201 /* 82347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29202 /* 82351 */ GIR_RootConstrainSelectedInstOperands,
29203 /* 82352 */ // GIR_Coverage, 4502,
29204 /* 82352 */ GIR_EraseRootFromParent_Done,
29205 /* 82353 */ // Label 2318: @82353
29206 /* 82353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2319*/ GIMT_Encode4(82382), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19927 //
29207 /* 82360 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29208 /* 82367 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29209 /* 82367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29210 /* 82370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29211 /* 82374 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29212 /* 82376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29213 /* 82380 */ GIR_RootConstrainSelectedInstOperands,
29214 /* 82381 */ // GIR_Coverage, 19927,
29215 /* 82381 */ GIR_EraseRootFromParent_Done,
29216 /* 82382 */ // Label 2319: @82382
29217 /* 82382 */ GIM_Reject,
29218 /* 82383 */ // Label 2317: @82383
29219 /* 82383 */ GIM_Reject,
29220 /* 82384 */ // Label 2313: @82384
29221 /* 82384 */ GIM_Try, /*On fail goto*//*Label 2320*/ GIMT_Encode4(82463),
29222 /* 82389 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29223 /* 82392 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
29224 /* 82396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29225 /* 82400 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29226 /* 82404 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2321*/ GIMT_Encode4(82433), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4467 //
29227 /* 82411 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29228 /* 82418 */ // (atomic_store VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29229 /* 82418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
29230 /* 82421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29231 /* 82425 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29232 /* 82427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29233 /* 82431 */ GIR_RootConstrainSelectedInstOperands,
29234 /* 82432 */ // GIR_Coverage, 4467,
29235 /* 82432 */ GIR_EraseRootFromParent_Done,
29236 /* 82433 */ // Label 2321: @82433
29237 /* 82433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2322*/ GIMT_Encode4(82462), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19920 //
29238 /* 82440 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29239 /* 82447 */ // (atomic_store VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29240 /* 82447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29241 /* 82450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29242 /* 82454 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29243 /* 82456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29244 /* 82460 */ GIR_RootConstrainSelectedInstOperands,
29245 /* 82461 */ // GIR_Coverage, 19920,
29246 /* 82461 */ GIR_EraseRootFromParent_Done,
29247 /* 82462 */ // Label 2322: @82462
29248 /* 82462 */ GIM_Reject,
29249 /* 82463 */ // Label 2320: @82463
29250 /* 82463 */ GIM_Reject,
29251 /* 82464 */ // Label 1875: @82464
29252 /* 82464 */ GIM_Try, /*On fail goto*//*Label 2323*/ GIMT_Encode4(82907),
29253 /* 82469 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29254 /* 82472 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29255 /* 82476 */ GIM_Try, /*On fail goto*//*Label 2324*/ GIMT_Encode4(82696),
29256 /* 82481 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
29257 /* 82485 */ GIM_Try, /*On fail goto*//*Label 2325*/ GIMT_Encode4(82586),
29258 /* 82490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29259 /* 82494 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29260 /* 82498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2326*/ GIMT_Encode4(82527), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1692 //
29261 /* 82505 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29262 /* 82512 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29263 /* 82512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDmr),
29264 /* 82515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29265 /* 82519 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29266 /* 82521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29267 /* 82525 */ GIR_RootConstrainSelectedInstOperands,
29268 /* 82526 */ // GIR_Coverage, 1692,
29269 /* 82526 */ GIR_EraseRootFromParent_Done,
29270 /* 82527 */ // Label 2326: @82527
29271 /* 82527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2327*/ GIMT_Encode4(82556), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1704 //
29272 /* 82534 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29273 /* 82541 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29274 /* 82541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDmr),
29275 /* 82544 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29276 /* 82548 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29277 /* 82550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29278 /* 82554 */ GIR_RootConstrainSelectedInstOperands,
29279 /* 82555 */ // GIR_Coverage, 1704,
29280 /* 82555 */ GIR_EraseRootFromParent_Done,
29281 /* 82556 */ // Label 2327: @82556
29282 /* 82556 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2328*/ GIMT_Encode4(82585), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2501 //
29283 /* 82563 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29284 /* 82570 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29285 /* 82570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29286 /* 82573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29287 /* 82577 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29288 /* 82579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29289 /* 82583 */ GIR_RootConstrainSelectedInstOperands,
29290 /* 82584 */ // GIR_Coverage, 2501,
29291 /* 82584 */ GIR_EraseRootFromParent_Done,
29292 /* 82585 */ // Label 2328: @82585
29293 /* 82585 */ GIM_Reject,
29294 /* 82586 */ // Label 2325: @82586
29295 /* 82586 */ GIM_Try, /*On fail goto*//*Label 2329*/ GIMT_Encode4(82658),
29296 /* 82591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29297 /* 82595 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29298 /* 82599 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2330*/ GIMT_Encode4(82628), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4491 //
29299 /* 82606 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29300 /* 82613 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29301 /* 82613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128mr),
29302 /* 82616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29303 /* 82620 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29304 /* 82622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29305 /* 82626 */ GIR_RootConstrainSelectedInstOperands,
29306 /* 82627 */ // GIR_Coverage, 4491,
29307 /* 82627 */ GIR_EraseRootFromParent_Done,
29308 /* 82628 */ // Label 2330: @82628
29309 /* 82628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2331*/ GIMT_Encode4(82657), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4548 //
29310 /* 82635 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29311 /* 82642 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
29312 /* 82642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29313 /* 82645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29314 /* 82649 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29315 /* 82651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29316 /* 82655 */ GIR_RootConstrainSelectedInstOperands,
29317 /* 82656 */ // GIR_Coverage, 4548,
29318 /* 82656 */ GIR_EraseRootFromParent_Done,
29319 /* 82657 */ // Label 2331: @82657
29320 /* 82657 */ GIM_Reject,
29321 /* 82658 */ // Label 2329: @82658
29322 /* 82658 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2332*/ GIMT_Encode4(82695), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18011 //
29323 /* 82665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29324 /* 82669 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29325 /* 82673 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29326 /* 82680 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29327 /* 82680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29328 /* 82683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29329 /* 82687 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29330 /* 82689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29331 /* 82693 */ GIR_RootConstrainSelectedInstOperands,
29332 /* 82694 */ // GIR_Coverage, 18011,
29333 /* 82694 */ GIR_EraseRootFromParent_Done,
29334 /* 82695 */ // Label 2332: @82695
29335 /* 82695 */ GIM_Reject,
29336 /* 82696 */ // Label 2324: @82696
29337 /* 82696 */ GIM_Try, /*On fail goto*//*Label 2333*/ GIMT_Encode4(82797),
29338 /* 82701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29339 /* 82705 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29340 /* 82709 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2334*/ GIMT_Encode4(82738), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1695 //
29341 /* 82716 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29342 /* 82723 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29343 /* 82723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDmr),
29344 /* 82726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29345 /* 82730 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29346 /* 82732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29347 /* 82736 */ GIR_RootConstrainSelectedInstOperands,
29348 /* 82737 */ // GIR_Coverage, 1695,
29349 /* 82737 */ GIR_EraseRootFromParent_Done,
29350 /* 82738 */ // Label 2334: @82738
29351 /* 82738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2335*/ GIMT_Encode4(82767), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1707 //
29352 /* 82745 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29353 /* 82752 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29354 /* 82752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDmr),
29355 /* 82755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29356 /* 82759 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29357 /* 82761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29358 /* 82765 */ GIR_RootConstrainSelectedInstOperands,
29359 /* 82766 */ // GIR_Coverage, 1707,
29360 /* 82766 */ GIR_EraseRootFromParent_Done,
29361 /* 82767 */ // Label 2335: @82767
29362 /* 82767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2336*/ GIMT_Encode4(82796), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2503 //
29363 /* 82774 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29364 /* 82781 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29365 /* 82781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29366 /* 82784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29367 /* 82788 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29368 /* 82790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29369 /* 82794 */ GIR_RootConstrainSelectedInstOperands,
29370 /* 82795 */ // GIR_Coverage, 2503,
29371 /* 82795 */ GIR_EraseRootFromParent_Done,
29372 /* 82796 */ // Label 2336: @82796
29373 /* 82796 */ GIM_Reject,
29374 /* 82797 */ // Label 2333: @82797
29375 /* 82797 */ GIM_Try, /*On fail goto*//*Label 2337*/ GIMT_Encode4(82869),
29376 /* 82802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29377 /* 82806 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29378 /* 82810 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2338*/ GIMT_Encode4(82839), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4516 //
29379 /* 82817 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29380 /* 82824 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29381 /* 82824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128mr),
29382 /* 82827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29383 /* 82831 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29384 /* 82833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29385 /* 82837 */ GIR_RootConstrainSelectedInstOperands,
29386 /* 82838 */ // GIR_Coverage, 4516,
29387 /* 82838 */ GIR_EraseRootFromParent_Done,
29388 /* 82839 */ // Label 2338: @82839
29389 /* 82839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2339*/ GIMT_Encode4(82868), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4591 //
29390 /* 82846 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29391 /* 82853 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
29392 /* 82853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29393 /* 82856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29394 /* 82860 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29395 /* 82862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29396 /* 82866 */ GIR_RootConstrainSelectedInstOperands,
29397 /* 82867 */ // GIR_Coverage, 4591,
29398 /* 82867 */ GIR_EraseRootFromParent_Done,
29399 /* 82868 */ // Label 2339: @82868
29400 /* 82868 */ GIM_Reject,
29401 /* 82869 */ // Label 2337: @82869
29402 /* 82869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2340*/ GIMT_Encode4(82906), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18019 //
29403 /* 82876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29404 /* 82880 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29405 /* 82884 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29406 /* 82891 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29407 /* 82891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29408 /* 82894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29409 /* 82898 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29410 /* 82900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29411 /* 82904 */ GIR_RootConstrainSelectedInstOperands,
29412 /* 82905 */ // GIR_Coverage, 18019,
29413 /* 82905 */ GIR_EraseRootFromParent_Done,
29414 /* 82906 */ // Label 2340: @82906
29415 /* 82906 */ GIM_Reject,
29416 /* 82907 */ // Label 2323: @82907
29417 /* 82907 */ GIM_Try, /*On fail goto*//*Label 2341*/ GIMT_Encode4(83130),
29418 /* 82912 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29419 /* 82915 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
29420 /* 82919 */ GIM_Try, /*On fail goto*//*Label 2342*/ GIMT_Encode4(83020),
29421 /* 82924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29422 /* 82928 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29423 /* 82932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2343*/ GIMT_Encode4(82961), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1693 //
29424 /* 82939 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29425 /* 82946 */ // (atomic_store VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29426 /* 82946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDmr),
29427 /* 82949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29428 /* 82953 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29429 /* 82955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29430 /* 82959 */ GIR_RootConstrainSelectedInstOperands,
29431 /* 82960 */ // GIR_Coverage, 1693,
29432 /* 82960 */ GIR_EraseRootFromParent_Done,
29433 /* 82961 */ // Label 2343: @82961
29434 /* 82961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2344*/ GIMT_Encode4(82990), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1705 //
29435 /* 82968 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29436 /* 82975 */ // (atomic_store VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29437 /* 82975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDmr),
29438 /* 82978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29439 /* 82982 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29440 /* 82984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29441 /* 82988 */ GIR_RootConstrainSelectedInstOperands,
29442 /* 82989 */ // GIR_Coverage, 1705,
29443 /* 82989 */ GIR_EraseRootFromParent_Done,
29444 /* 82990 */ // Label 2344: @82990
29445 /* 82990 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2345*/ GIMT_Encode4(83019), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2502 //
29446 /* 82997 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29447 /* 83004 */ // (atomic_store VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29448 /* 83004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29449 /* 83007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29450 /* 83011 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29451 /* 83013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29452 /* 83017 */ GIR_RootConstrainSelectedInstOperands,
29453 /* 83018 */ // GIR_Coverage, 2502,
29454 /* 83018 */ GIR_EraseRootFromParent_Done,
29455 /* 83019 */ // Label 2345: @83019
29456 /* 83019 */ GIM_Reject,
29457 /* 83020 */ // Label 2342: @83020
29458 /* 83020 */ GIM_Try, /*On fail goto*//*Label 2346*/ GIMT_Encode4(83092),
29459 /* 83025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29460 /* 83029 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29461 /* 83033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2347*/ GIMT_Encode4(83062), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4492 //
29462 /* 83040 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29463 /* 83047 */ // (atomic_store VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29464 /* 83047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128mr),
29465 /* 83050 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29466 /* 83054 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29467 /* 83056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29468 /* 83060 */ GIR_RootConstrainSelectedInstOperands,
29469 /* 83061 */ // GIR_Coverage, 4492,
29470 /* 83061 */ GIR_EraseRootFromParent_Done,
29471 /* 83062 */ // Label 2347: @83062
29472 /* 83062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2348*/ GIMT_Encode4(83091), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4549 //
29473 /* 83069 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29474 /* 83076 */ // (atomic_store VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
29475 /* 83076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29476 /* 83079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29477 /* 83083 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29478 /* 83085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29479 /* 83089 */ GIR_RootConstrainSelectedInstOperands,
29480 /* 83090 */ // GIR_Coverage, 4549,
29481 /* 83090 */ GIR_EraseRootFromParent_Done,
29482 /* 83091 */ // Label 2348: @83091
29483 /* 83091 */ GIM_Reject,
29484 /* 83092 */ // Label 2346: @83092
29485 /* 83092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2349*/ GIMT_Encode4(83129), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18012 //
29486 /* 83099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29487 /* 83103 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29488 /* 83107 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29489 /* 83114 */ // (atomic_store VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29490 /* 83114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29491 /* 83117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29492 /* 83121 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29493 /* 83123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29494 /* 83127 */ GIR_RootConstrainSelectedInstOperands,
29495 /* 83128 */ // GIR_Coverage, 18012,
29496 /* 83128 */ GIR_EraseRootFromParent_Done,
29497 /* 83129 */ // Label 2349: @83129
29498 /* 83129 */ GIM_Reject,
29499 /* 83130 */ // Label 2341: @83130
29500 /* 83130 */ GIM_Reject,
29501 /* 83131 */ // Label 1876: @83131
29502 /* 83131 */ GIM_Try, /*On fail goto*//*Label 2350*/ GIMT_Encode4(83446),
29503 /* 83136 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29504 /* 83139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29505 /* 83143 */ GIM_Try, /*On fail goto*//*Label 2351*/ GIMT_Encode4(83299),
29506 /* 83148 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
29507 /* 83152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2352*/ GIMT_Encode4(83189), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1698 //
29508 /* 83159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29509 /* 83163 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29510 /* 83167 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29511 /* 83174 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29512 /* 83174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYmr),
29513 /* 83177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29514 /* 83181 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29515 /* 83183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29516 /* 83187 */ GIR_RootConstrainSelectedInstOperands,
29517 /* 83188 */ // GIR_Coverage, 1698,
29518 /* 83188 */ GIR_EraseRootFromParent_Done,
29519 /* 83189 */ // Label 2352: @83189
29520 /* 83189 */ GIM_Try, /*On fail goto*//*Label 2353*/ GIMT_Encode4(83261),
29521 /* 83194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29522 /* 83198 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29523 /* 83202 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2354*/ GIMT_Encode4(83231), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4489 //
29524 /* 83209 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29525 /* 83216 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29526 /* 83216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256mr),
29527 /* 83219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29528 /* 83223 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29529 /* 83225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29530 /* 83229 */ GIR_RootConstrainSelectedInstOperands,
29531 /* 83230 */ // GIR_Coverage, 4489,
29532 /* 83230 */ GIR_EraseRootFromParent_Done,
29533 /* 83231 */ // Label 2354: @83231
29534 /* 83231 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2355*/ GIMT_Encode4(83260), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4546 //
29535 /* 83238 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29536 /* 83245 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
29537 /* 83245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29538 /* 83248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29539 /* 83252 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29540 /* 83254 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29541 /* 83258 */ GIR_RootConstrainSelectedInstOperands,
29542 /* 83259 */ // GIR_Coverage, 4546,
29543 /* 83259 */ GIR_EraseRootFromParent_Done,
29544 /* 83260 */ // Label 2355: @83260
29545 /* 83260 */ GIM_Reject,
29546 /* 83261 */ // Label 2353: @83261
29547 /* 83261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2356*/ GIMT_Encode4(83298), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17981 //
29548 /* 83268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29549 /* 83272 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29550 /* 83276 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29551 /* 83283 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
29552 /* 83283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29553 /* 83286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29554 /* 83290 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29555 /* 83292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29556 /* 83296 */ GIR_RootConstrainSelectedInstOperands,
29557 /* 83297 */ // GIR_Coverage, 17981,
29558 /* 83297 */ GIR_EraseRootFromParent_Done,
29559 /* 83298 */ // Label 2356: @83298
29560 /* 83298 */ GIM_Reject,
29561 /* 83299 */ // Label 2351: @83299
29562 /* 83299 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2357*/ GIMT_Encode4(83336), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1701 //
29563 /* 83306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29564 /* 83310 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29565 /* 83314 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29566 /* 83321 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29567 /* 83321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYmr),
29568 /* 83324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29569 /* 83328 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29570 /* 83330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29571 /* 83334 */ GIR_RootConstrainSelectedInstOperands,
29572 /* 83335 */ // GIR_Coverage, 1701,
29573 /* 83335 */ GIR_EraseRootFromParent_Done,
29574 /* 83336 */ // Label 2357: @83336
29575 /* 83336 */ GIM_Try, /*On fail goto*//*Label 2358*/ GIMT_Encode4(83408),
29576 /* 83341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29577 /* 83345 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29578 /* 83349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2359*/ GIMT_Encode4(83378), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4515 //
29579 /* 83356 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29580 /* 83363 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29581 /* 83363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256mr),
29582 /* 83366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29583 /* 83370 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29584 /* 83372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29585 /* 83376 */ GIR_RootConstrainSelectedInstOperands,
29586 /* 83377 */ // GIR_Coverage, 4515,
29587 /* 83377 */ GIR_EraseRootFromParent_Done,
29588 /* 83378 */ // Label 2359: @83378
29589 /* 83378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2360*/ GIMT_Encode4(83407), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4590 //
29590 /* 83385 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29591 /* 83392 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
29592 /* 83392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29593 /* 83395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29594 /* 83399 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29595 /* 83401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29596 /* 83405 */ GIR_RootConstrainSelectedInstOperands,
29597 /* 83406 */ // GIR_Coverage, 4590,
29598 /* 83406 */ GIR_EraseRootFromParent_Done,
29599 /* 83407 */ // Label 2360: @83407
29600 /* 83407 */ GIM_Reject,
29601 /* 83408 */ // Label 2358: @83408
29602 /* 83408 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2361*/ GIMT_Encode4(83445), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17989 //
29603 /* 83415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29604 /* 83419 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29605 /* 83423 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29606 /* 83430 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
29607 /* 83430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29608 /* 83433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29609 /* 83437 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29610 /* 83439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29611 /* 83443 */ GIR_RootConstrainSelectedInstOperands,
29612 /* 83444 */ // GIR_Coverage, 17989,
29613 /* 83444 */ GIR_EraseRootFromParent_Done,
29614 /* 83445 */ // Label 2361: @83445
29615 /* 83445 */ GIM_Reject,
29616 /* 83446 */ // Label 2350: @83446
29617 /* 83446 */ GIM_Try, /*On fail goto*//*Label 2362*/ GIMT_Encode4(83605),
29618 /* 83451 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29619 /* 83454 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
29620 /* 83458 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2363*/ GIMT_Encode4(83495), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1699 //
29621 /* 83465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29622 /* 83469 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29623 /* 83473 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29624 /* 83480 */ // (atomic_store VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29625 /* 83480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYmr),
29626 /* 83483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29627 /* 83487 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29628 /* 83489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29629 /* 83493 */ GIR_RootConstrainSelectedInstOperands,
29630 /* 83494 */ // GIR_Coverage, 1699,
29631 /* 83494 */ GIR_EraseRootFromParent_Done,
29632 /* 83495 */ // Label 2363: @83495
29633 /* 83495 */ GIM_Try, /*On fail goto*//*Label 2364*/ GIMT_Encode4(83567),
29634 /* 83500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29635 /* 83504 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29636 /* 83508 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2365*/ GIMT_Encode4(83537), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4490 //
29637 /* 83515 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29638 /* 83522 */ // (atomic_store VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29639 /* 83522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256mr),
29640 /* 83525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29641 /* 83529 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29642 /* 83531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29643 /* 83535 */ GIR_RootConstrainSelectedInstOperands,
29644 /* 83536 */ // GIR_Coverage, 4490,
29645 /* 83536 */ GIR_EraseRootFromParent_Done,
29646 /* 83537 */ // Label 2365: @83537
29647 /* 83537 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2366*/ GIMT_Encode4(83566), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4547 //
29648 /* 83544 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29649 /* 83551 */ // (atomic_store VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
29650 /* 83551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29651 /* 83554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29652 /* 83558 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29653 /* 83560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29654 /* 83564 */ GIR_RootConstrainSelectedInstOperands,
29655 /* 83565 */ // GIR_Coverage, 4547,
29656 /* 83565 */ GIR_EraseRootFromParent_Done,
29657 /* 83566 */ // Label 2366: @83566
29658 /* 83566 */ GIM_Reject,
29659 /* 83567 */ // Label 2364: @83567
29660 /* 83567 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2367*/ GIMT_Encode4(83604), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17982 //
29661 /* 83574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29662 /* 83578 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29663 /* 83582 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29664 /* 83589 */ // (atomic_store VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
29665 /* 83589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29666 /* 83592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29667 /* 83596 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29668 /* 83598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29669 /* 83602 */ GIR_RootConstrainSelectedInstOperands,
29670 /* 83603 */ // GIR_Coverage, 17982,
29671 /* 83603 */ GIR_EraseRootFromParent_Done,
29672 /* 83604 */ // Label 2367: @83604
29673 /* 83604 */ GIM_Reject,
29674 /* 83605 */ // Label 2362: @83605
29675 /* 83605 */ GIM_Reject,
29676 /* 83606 */ // Label 1877: @83606
29677 /* 83606 */ GIM_Try, /*On fail goto*//*Label 2368*/ GIMT_Encode4(83767),
29678 /* 83611 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29679 /* 83614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29680 /* 83618 */ GIM_Try, /*On fail goto*//*Label 2369*/ GIMT_Encode4(83694),
29681 /* 83623 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
29682 /* 83627 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29683 /* 83631 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29684 /* 83635 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2370*/ GIMT_Encode4(83664), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4487 //
29685 /* 83642 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29686 /* 83649 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVAPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29687 /* 83649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZmr),
29688 /* 83652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29689 /* 83656 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29690 /* 83658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29691 /* 83662 */ GIR_RootConstrainSelectedInstOperands,
29692 /* 83663 */ // GIR_Coverage, 4487,
29693 /* 83663 */ GIR_EraseRootFromParent_Done,
29694 /* 83664 */ // Label 2370: @83664
29695 /* 83664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2371*/ GIMT_Encode4(83693), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4544 //
29696 /* 83671 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29697 /* 83678 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29698 /* 83678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29699 /* 83681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29700 /* 83685 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29701 /* 83687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29702 /* 83691 */ GIR_RootConstrainSelectedInstOperands,
29703 /* 83692 */ // GIR_Coverage, 4544,
29704 /* 83692 */ GIR_EraseRootFromParent_Done,
29705 /* 83693 */ // Label 2371: @83693
29706 /* 83693 */ GIM_Reject,
29707 /* 83694 */ // Label 2369: @83694
29708 /* 83694 */ GIM_Try, /*On fail goto*//*Label 2372*/ GIMT_Encode4(83766),
29709 /* 83699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29710 /* 83703 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29711 /* 83707 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2373*/ GIMT_Encode4(83736), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4514 //
29712 /* 83714 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29713 /* 83721 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29714 /* 83721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZmr),
29715 /* 83724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29716 /* 83728 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29717 /* 83730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29718 /* 83734 */ GIR_RootConstrainSelectedInstOperands,
29719 /* 83735 */ // GIR_Coverage, 4514,
29720 /* 83735 */ GIR_EraseRootFromParent_Done,
29721 /* 83736 */ // Label 2373: @83736
29722 /* 83736 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2374*/ GIMT_Encode4(83765), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4589 //
29723 /* 83743 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29724 /* 83750 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29725 /* 83750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29726 /* 83753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29727 /* 83757 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29728 /* 83759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29729 /* 83763 */ GIR_RootConstrainSelectedInstOperands,
29730 /* 83764 */ // GIR_Coverage, 4589,
29731 /* 83764 */ GIR_EraseRootFromParent_Done,
29732 /* 83765 */ // Label 2374: @83765
29733 /* 83765 */ GIM_Reject,
29734 /* 83766 */ // Label 2372: @83766
29735 /* 83766 */ GIM_Reject,
29736 /* 83767 */ // Label 2368: @83767
29737 /* 83767 */ GIM_Try, /*On fail goto*//*Label 2375*/ GIMT_Encode4(83846),
29738 /* 83772 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29739 /* 83775 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
29740 /* 83779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29741 /* 83783 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29742 /* 83787 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2376*/ GIMT_Encode4(83816), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4488 //
29743 /* 83794 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29744 /* 83801 */ // (atomic_store VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVAPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29745 /* 83801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZmr),
29746 /* 83804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29747 /* 83808 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29748 /* 83810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29749 /* 83814 */ GIR_RootConstrainSelectedInstOperands,
29750 /* 83815 */ // GIR_Coverage, 4488,
29751 /* 83815 */ GIR_EraseRootFromParent_Done,
29752 /* 83816 */ // Label 2376: @83816
29753 /* 83816 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2377*/ GIMT_Encode4(83845), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4545 //
29754 /* 83823 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29755 /* 83830 */ // (atomic_store VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29756 /* 83830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29757 /* 83833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29758 /* 83837 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29759 /* 83839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29760 /* 83843 */ GIR_RootConstrainSelectedInstOperands,
29761 /* 83844 */ // GIR_Coverage, 4545,
29762 /* 83844 */ GIR_EraseRootFromParent_Done,
29763 /* 83845 */ // Label 2377: @83845
29764 /* 83845 */ GIM_Reject,
29765 /* 83846 */ // Label 2375: @83846
29766 /* 83846 */ GIM_Reject,
29767 /* 83847 */ // Label 1878: @83847
29768 /* 83847 */ GIM_Reject,
29769 /* 83848 */ // Label 16: @83848
29770 /* 83848 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(6), /*)*//*default:*//*Label 2380*/ GIMT_Encode4(84030),
29771 /* 83859 */ /*GILLT_s64*//*Label 2378*/ GIMT_Encode4(83867),
29772 /* 83863 */ /*GILLT_s80*//*Label 2379*/ GIMT_Encode4(83922),
29773 /* 83867 */ // Label 2378: @83867
29774 /* 83867 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2381*/ GIMT_Encode4(83921), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1072 //
29775 /* 83874 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29776 /* 83877 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29777 /* 83881 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29778 /* 83888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
29779 /* 83892 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29780 /* 83896 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29781 /* 83903 */ // (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)
29782 /* 83903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m32),
29783 /* 83906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29784 /* 83910 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29785 /* 83912 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29786 /* 83915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29787 /* 83919 */ GIR_RootConstrainSelectedInstOperands,
29788 /* 83920 */ // GIR_Coverage, 1072,
29789 /* 83920 */ GIR_EraseRootFromParent_Done,
29790 /* 83921 */ // Label 2381: @83921
29791 /* 83921 */ GIM_Reject,
29792 /* 83922 */ // Label 2379: @83922
29793 /* 83922 */ GIM_Try, /*On fail goto*//*Label 2382*/ GIMT_Encode4(84029),
29794 /* 83927 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29795 /* 83930 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29796 /* 83934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2383*/ GIMT_Encode4(83981), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1074 //
29797 /* 83941 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29798 /* 83948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
29799 /* 83952 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29800 /* 83956 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29801 /* 83963 */ // (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)
29802 /* 83963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m32),
29803 /* 83966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29804 /* 83970 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29805 /* 83972 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29806 /* 83975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29807 /* 83979 */ GIR_RootConstrainSelectedInstOperands,
29808 /* 83980 */ // GIR_Coverage, 1074,
29809 /* 83980 */ GIR_EraseRootFromParent_Done,
29810 /* 83981 */ // Label 2383: @83981
29811 /* 83981 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2384*/ GIMT_Encode4(84028), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1075 //
29812 /* 83988 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29813 /* 83995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
29814 /* 83999 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29815 /* 84003 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29816 /* 84010 */ // (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)
29817 /* 84010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m64),
29818 /* 84013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29819 /* 84017 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29820 /* 84019 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29821 /* 84022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29822 /* 84026 */ GIR_RootConstrainSelectedInstOperands,
29823 /* 84027 */ // GIR_Coverage, 1075,
29824 /* 84027 */ GIR_EraseRootFromParent_Done,
29825 /* 84028 */ // Label 2384: @84028
29826 /* 84028 */ GIM_Reject,
29827 /* 84029 */ // Label 2382: @84029
29828 /* 84029 */ GIM_Reject,
29829 /* 84030 */ // Label 2380: @84030
29830 /* 84030 */ GIM_Reject,
29831 /* 84031 */ // Label 17: @84031
29832 /* 84031 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2389*/ GIMT_Encode4(84266),
29833 /* 84042 */ /*GILLT_s8*//*Label 2385*/ GIMT_Encode4(84058),
29834 /* 84046 */ /*GILLT_s16*//*Label 2386*/ GIMT_Encode4(84110),
29835 /* 84050 */ /*GILLT_s32*//*Label 2387*/ GIMT_Encode4(84162),
29836 /* 84054 */ /*GILLT_s64*//*Label 2388*/ GIMT_Encode4(84214),
29837 /* 84058 */ // Label 2385: @84058
29838 /* 84058 */ GIM_Try, /*On fail goto*//*Label 2390*/ GIMT_Encode4(84109), // Rule ID 45 //
29839 /* 84063 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
29840 /* 84066 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
29841 /* 84073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29842 /* 84077 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29843 /* 84081 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29844 /* 84085 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29845 /* 84092 */ // (atomic_swap:{ *:[i8] } addr:{ *:[iPTR] }:$ptr, GR8:{ *:[i8] }:$val)<<P:Predicate_atomic_swap_i8>> => (XCHG8rm:{ *:[i8] } GR8:{ *:[i8] }:$val, addr:{ *:[iPTR] }:$ptr)
29846 /* 84092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG8rm),
29847 /* 84095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29848 /* 84097 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29849 /* 84099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29850 /* 84103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29851 /* 84107 */ GIR_RootConstrainSelectedInstOperands,
29852 /* 84108 */ // GIR_Coverage, 45,
29853 /* 84108 */ GIR_EraseRootFromParent_Done,
29854 /* 84109 */ // Label 2390: @84109
29855 /* 84109 */ GIM_Reject,
29856 /* 84110 */ // Label 2386: @84110
29857 /* 84110 */ GIM_Try, /*On fail goto*//*Label 2391*/ GIMT_Encode4(84161), // Rule ID 46 //
29858 /* 84115 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
29859 /* 84118 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
29860 /* 84125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
29861 /* 84129 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29862 /* 84133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
29863 /* 84137 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29864 /* 84144 */ // (atomic_swap:{ *:[i16] } addr:{ *:[iPTR] }:$ptr, GR16:{ *:[i16] }:$val)<<P:Predicate_atomic_swap_i16>> => (XCHG16rm:{ *:[i16] } GR16:{ *:[i16] }:$val, addr:{ *:[iPTR] }:$ptr)
29865 /* 84144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG16rm),
29866 /* 84147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29867 /* 84149 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29868 /* 84151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29869 /* 84155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29870 /* 84159 */ GIR_RootConstrainSelectedInstOperands,
29871 /* 84160 */ // GIR_Coverage, 46,
29872 /* 84160 */ GIR_EraseRootFromParent_Done,
29873 /* 84161 */ // Label 2391: @84161
29874 /* 84161 */ GIM_Reject,
29875 /* 84162 */ // Label 2387: @84162
29876 /* 84162 */ GIM_Try, /*On fail goto*//*Label 2392*/ GIMT_Encode4(84213), // Rule ID 47 //
29877 /* 84167 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
29878 /* 84170 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29879 /* 84177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
29880 /* 84181 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29881 /* 84185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
29882 /* 84189 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29883 /* 84196 */ // (atomic_swap:{ *:[i32] } addr:{ *:[iPTR] }:$ptr, GR32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_i32>> => (XCHG32rm:{ *:[i32] } GR32:{ *:[i32] }:$val, addr:{ *:[iPTR] }:$ptr)
29884 /* 84196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG32rm),
29885 /* 84199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29886 /* 84201 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29887 /* 84203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29888 /* 84207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29889 /* 84211 */ GIR_RootConstrainSelectedInstOperands,
29890 /* 84212 */ // GIR_Coverage, 47,
29891 /* 84212 */ GIR_EraseRootFromParent_Done,
29892 /* 84213 */ // Label 2392: @84213
29893 /* 84213 */ GIM_Reject,
29894 /* 84214 */ // Label 2388: @84214
29895 /* 84214 */ GIM_Try, /*On fail goto*//*Label 2393*/ GIMT_Encode4(84265), // Rule ID 48 //
29896 /* 84219 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
29897 /* 84222 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29898 /* 84229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29899 /* 84233 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29900 /* 84237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29901 /* 84241 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29902 /* 84248 */ // (atomic_swap:{ *:[i64] } addr:{ *:[iPTR] }:$ptr, GR64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_i64>> => (XCHG64rm:{ *:[i64] } GR64:{ *:[i64] }:$val, addr:{ *:[iPTR] }:$ptr)
29903 /* 84248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG64rm),
29904 /* 84251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29905 /* 84253 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29906 /* 84255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29907 /* 84259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29908 /* 84263 */ GIR_RootConstrainSelectedInstOperands,
29909 /* 84264 */ // GIR_Coverage, 48,
29910 /* 84264 */ GIR_EraseRootFromParent_Done,
29911 /* 84265 */ // Label 2393: @84265
29912 /* 84265 */ GIM_Reject,
29913 /* 84266 */ // Label 2389: @84266
29914 /* 84266 */ GIM_Reject,
29915 /* 84267 */ // Label 18: @84267
29916 /* 84267 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2398*/ GIMT_Encode4(84514),
29917 /* 84278 */ /*GILLT_s8*//*Label 2394*/ GIMT_Encode4(84294),
29918 /* 84282 */ /*GILLT_s16*//*Label 2395*/ GIMT_Encode4(84349),
29919 /* 84286 */ /*GILLT_s32*//*Label 2396*/ GIMT_Encode4(84404),
29920 /* 84290 */ /*GILLT_s64*//*Label 2397*/ GIMT_Encode4(84459),
29921 /* 84294 */ // Label 2394: @84294
29922 /* 84294 */ GIM_Try, /*On fail goto*//*Label 2399*/ GIMT_Encode4(84348), // Rule ID 17337 //
29923 /* 84299 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
29924 /* 84302 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
29925 /* 84309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29926 /* 84313 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29927 /* 84317 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29928 /* 84321 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29929 /* 84328 */ // (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)
29930 /* 84328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD8),
29931 /* 84331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29932 /* 84333 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29933 /* 84335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29934 /* 84339 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29935 /* 84342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29936 /* 84346 */ GIR_RootConstrainSelectedInstOperands,
29937 /* 84347 */ // GIR_Coverage, 17337,
29938 /* 84347 */ GIR_EraseRootFromParent_Done,
29939 /* 84348 */ // Label 2399: @84348
29940 /* 84348 */ GIM_Reject,
29941 /* 84349 */ // Label 2395: @84349
29942 /* 84349 */ GIM_Try, /*On fail goto*//*Label 2400*/ GIMT_Encode4(84403), // Rule ID 17338 //
29943 /* 84354 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
29944 /* 84357 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
29945 /* 84364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
29946 /* 84368 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29947 /* 84372 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
29948 /* 84376 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29949 /* 84383 */ // (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)
29950 /* 84383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD16),
29951 /* 84386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29952 /* 84388 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29953 /* 84390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29954 /* 84394 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29955 /* 84397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29956 /* 84401 */ GIR_RootConstrainSelectedInstOperands,
29957 /* 84402 */ // GIR_Coverage, 17338,
29958 /* 84402 */ GIR_EraseRootFromParent_Done,
29959 /* 84403 */ // Label 2400: @84403
29960 /* 84403 */ GIM_Reject,
29961 /* 84404 */ // Label 2396: @84404
29962 /* 84404 */ GIM_Try, /*On fail goto*//*Label 2401*/ GIMT_Encode4(84458), // Rule ID 17339 //
29963 /* 84409 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
29964 /* 84412 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29965 /* 84419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
29966 /* 84423 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29967 /* 84427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
29968 /* 84431 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29969 /* 84438 */ // (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)
29970 /* 84438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD32),
29971 /* 84441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29972 /* 84443 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29973 /* 84445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29974 /* 84449 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29975 /* 84452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29976 /* 84456 */ GIR_RootConstrainSelectedInstOperands,
29977 /* 84457 */ // GIR_Coverage, 17339,
29978 /* 84457 */ GIR_EraseRootFromParent_Done,
29979 /* 84458 */ // Label 2401: @84458
29980 /* 84458 */ GIM_Reject,
29981 /* 84459 */ // Label 2397: @84459
29982 /* 84459 */ GIM_Try, /*On fail goto*//*Label 2402*/ GIMT_Encode4(84513), // Rule ID 17340 //
29983 /* 84464 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
29984 /* 84467 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29985 /* 84474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29986 /* 84478 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29987 /* 84482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29988 /* 84486 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29989 /* 84493 */ // (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)
29990 /* 84493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD64),
29991 /* 84496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29992 /* 84498 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29993 /* 84500 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29994 /* 84504 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29995 /* 84507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29996 /* 84511 */ GIR_RootConstrainSelectedInstOperands,
29997 /* 84512 */ // GIR_Coverage, 17340,
29998 /* 84512 */ GIR_EraseRootFromParent_Done,
29999 /* 84513 */ // Label 2402: @84513
30000 /* 84513 */ GIM_Reject,
30001 /* 84514 */ // Label 2398: @84514
30002 /* 84514 */ GIM_Reject,
30003 /* 84515 */ // Label 19: @84515
30004 /* 84515 */ GIM_Try, /*On fail goto*//*Label 2403*/ GIMT_Encode4(84897),
30005 /* 84520 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30006 /* 84524 */ GIM_Try, /*On fail goto*//*Label 2404*/ GIMT_Encode4(84639),
30007 /* 84529 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
30008 /* 84540 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2405*/ GIMT_Encode4(84589), GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode), // Rule ID 156 //
30009 /* 84547 */ // MIs[0] Operand 2
30010 /* 84547 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(3),
30011 /* 84558 */ // MIs[0] Operand 3
30012 /* 84558 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(0),
30013 /* 84569 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30014 /* 84576 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 3:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT0 addr:{ *:[iPTR] }:$src)
30015 /* 84576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT0),
30016 /* 84579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30017 /* 84583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30018 /* 84587 */ GIR_RootConstrainSelectedInstOperands,
30019 /* 84588 */ // GIR_Coverage, 156,
30020 /* 84588 */ GIR_EraseRootFromParent_Done,
30021 /* 84589 */ // Label 2405: @84589
30022 /* 84589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2406*/ GIMT_Encode4(84638), GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode), // Rule ID 157 //
30023 /* 84596 */ // MIs[0] Operand 2
30024 /* 84596 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
30025 /* 84607 */ // MIs[0] Operand 3
30026 /* 84607 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(0),
30027 /* 84618 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30028 /* 84625 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 2:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT1 addr:{ *:[iPTR] }:$src)
30029 /* 84625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT1),
30030 /* 84628 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30031 /* 84632 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30032 /* 84636 */ GIR_RootConstrainSelectedInstOperands,
30033 /* 84637 */ // GIR_Coverage, 157,
30034 /* 84637 */ GIR_EraseRootFromParent_Done,
30035 /* 84638 */ // Label 2406: @84638
30036 /* 84638 */ GIM_Reject,
30037 /* 84639 */ // Label 2404: @84639
30038 /* 84639 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2407*/ GIMT_Encode4(84691), GIMT_Encode2(GIFBS_HasPrefetchW), // Rule ID 17040 //
30039 /* 84646 */ // MIs[0] Operand 1
30040 /* 84646 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
30041 /* 84657 */ // MIs[0] Operand 2
30042 /* 84657 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
30043 /* 84660 */ // MIs[0] Operand 3
30044 /* 84660 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30045 /* 84671 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30046 /* 84678 */ // (prefetch addr:{ *:[iPTR] }:$addr, 1:{ *:[i32] }, (timm:{ *:[i32] })<<P:Predicate_PrefetchWLevel>>, 1:{ *:[i32] }) => (PREFETCHW addr:{ *:[iPTR] }:$addr)
30047 /* 84678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHW),
30048 /* 84681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // addr
30049 /* 84685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30050 /* 84689 */ GIR_RootConstrainSelectedInstOperands,
30051 /* 84690 */ // GIR_Coverage, 17040,
30052 /* 84690 */ GIR_EraseRootFromParent_Done,
30053 /* 84691 */ // Label 2407: @84691
30054 /* 84691 */ GIM_Try, /*On fail goto*//*Label 2408*/ GIMT_Encode4(84896),
30055 /* 84696 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
30056 /* 84699 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2409*/ GIMT_Encode4(84748), GIMT_Encode2(GIFBS_HasSSEPrefetch), // Rule ID 2486 //
30057 /* 84706 */ // MIs[0] Operand 2
30058 /* 84706 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(3),
30059 /* 84717 */ // MIs[0] Operand 3
30060 /* 84717 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30061 /* 84728 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30062 /* 84735 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 3:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT0 addr:{ *:[iPTR] }:$src)
30063 /* 84735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT0),
30064 /* 84738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30065 /* 84742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30066 /* 84746 */ GIR_RootConstrainSelectedInstOperands,
30067 /* 84747 */ // GIR_Coverage, 2486,
30068 /* 84747 */ GIR_EraseRootFromParent_Done,
30069 /* 84748 */ // Label 2409: @84748
30070 /* 84748 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2410*/ GIMT_Encode4(84797), GIMT_Encode2(GIFBS_HasSSEPrefetch), // Rule ID 2487 //
30071 /* 84755 */ // MIs[0] Operand 2
30072 /* 84755 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
30073 /* 84766 */ // MIs[0] Operand 3
30074 /* 84766 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30075 /* 84777 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30076 /* 84784 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 2:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT1 addr:{ *:[iPTR] }:$src)
30077 /* 84784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT1),
30078 /* 84787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30079 /* 84791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30080 /* 84795 */ GIR_RootConstrainSelectedInstOperands,
30081 /* 84796 */ // GIR_Coverage, 2487,
30082 /* 84796 */ GIR_EraseRootFromParent_Done,
30083 /* 84797 */ // Label 2410: @84797
30084 /* 84797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2411*/ GIMT_Encode4(84846), GIMT_Encode2(GIFBS_HasSSEPrefetch), // Rule ID 2488 //
30085 /* 84804 */ // MIs[0] Operand 2
30086 /* 84804 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(1),
30087 /* 84815 */ // MIs[0] Operand 3
30088 /* 84815 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30089 /* 84826 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30090 /* 84833 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 1:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT2 addr:{ *:[iPTR] }:$src)
30091 /* 84833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT2),
30092 /* 84836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30093 /* 84840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30094 /* 84844 */ GIR_RootConstrainSelectedInstOperands,
30095 /* 84845 */ // GIR_Coverage, 2488,
30096 /* 84845 */ GIR_EraseRootFromParent_Done,
30097 /* 84846 */ // Label 2411: @84846
30098 /* 84846 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2412*/ GIMT_Encode4(84895), GIMT_Encode2(GIFBS_HasSSEPrefetch), // Rule ID 2489 //
30099 /* 84853 */ // MIs[0] Operand 2
30100 /* 84853 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
30101 /* 84864 */ // MIs[0] Operand 3
30102 /* 84864 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30103 /* 84875 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30104 /* 84882 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 0:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHNTA addr:{ *:[iPTR] }:$src)
30105 /* 84882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHNTA),
30106 /* 84885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30107 /* 84889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30108 /* 84893 */ GIR_RootConstrainSelectedInstOperands,
30109 /* 84894 */ // GIR_Coverage, 2489,
30110 /* 84894 */ GIR_EraseRootFromParent_Done,
30111 /* 84895 */ // Label 2412: @84895
30112 /* 84895 */ GIM_Reject,
30113 /* 84896 */ // Label 2408: @84896
30114 /* 84896 */ GIM_Reject,
30115 /* 84897 */ // Label 2403: @84897
30116 /* 84897 */ GIM_Reject,
30117 /* 84898 */ // Label 20: @84898
30118 /* 84898 */ GIM_Try, /*On fail goto*//*Label 2413*/ GIMT_Encode4(87141),
30119 /* 84903 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
30120 /* 84906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2414*/ GIMT_Encode4(84972), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1506 //
30121 /* 84913 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
30122 /* 84918 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30123 /* 84921 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30124 /* 84924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30125 /* 84928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30126 /* 84932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30127 /* 84936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30128 /* 84939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30129 /* 84943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30130 /* 84947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30131 /* 84949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30132 /* 84956 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16513:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30133 /* 84956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrm),
30134 /* 84959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30135 /* 84961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30136 /* 84965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30137 /* 84970 */ GIR_RootConstrainSelectedInstOperands,
30138 /* 84971 */ // GIR_Coverage, 1506,
30139 /* 84971 */ GIR_EraseRootFromParent_Done,
30140 /* 84972 */ // Label 2414: @84972
30141 /* 84972 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2415*/ GIMT_Encode4(85038), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1508 //
30142 /* 84979 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
30143 /* 84984 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30144 /* 84987 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30145 /* 84990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30146 /* 84994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30147 /* 84998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30148 /* 85002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30149 /* 85005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30150 /* 85009 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30151 /* 85013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30152 /* 85015 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30153 /* 85022 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16512:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30154 /* 85022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrm),
30155 /* 85025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30156 /* 85027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30157 /* 85031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30158 /* 85036 */ GIR_RootConstrainSelectedInstOperands,
30159 /* 85037 */ // GIR_Coverage, 1508,
30160 /* 85037 */ GIR_EraseRootFromParent_Done,
30161 /* 85038 */ // Label 2415: @85038
30162 /* 85038 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2416*/ GIMT_Encode4(85104), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1510 //
30163 /* 85045 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
30164 /* 85050 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30165 /* 85053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30166 /* 85056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30167 /* 85060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30168 /* 85064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30169 /* 85068 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30170 /* 85071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30171 /* 85075 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30172 /* 85079 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30173 /* 85081 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30174 /* 85088 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16511:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30175 /* 85088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrm),
30176 /* 85091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30177 /* 85093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30178 /* 85097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30179 /* 85102 */ GIR_RootConstrainSelectedInstOperands,
30180 /* 85103 */ // GIR_Coverage, 1510,
30181 /* 85103 */ GIR_EraseRootFromParent_Done,
30182 /* 85104 */ // Label 2416: @85104
30183 /* 85104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2417*/ GIMT_Encode4(85170), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1512 //
30184 /* 85111 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
30185 /* 85116 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30186 /* 85119 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30187 /* 85122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30188 /* 85126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30189 /* 85130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30190 /* 85134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30191 /* 85137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30192 /* 85141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30193 /* 85145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30194 /* 85147 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30195 /* 85154 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16510:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30196 /* 85154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrm),
30197 /* 85157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30198 /* 85159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30199 /* 85163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30200 /* 85168 */ GIR_RootConstrainSelectedInstOperands,
30201 /* 85169 */ // GIR_Coverage, 1512,
30202 /* 85169 */ GIR_EraseRootFromParent_Done,
30203 /* 85170 */ // Label 2417: @85170
30204 /* 85170 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2418*/ GIMT_Encode4(85236), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1514 //
30205 /* 85177 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
30206 /* 85182 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30207 /* 85185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30208 /* 85188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30209 /* 85192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30210 /* 85196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30211 /* 85200 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30212 /* 85203 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30213 /* 85207 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30214 /* 85211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30215 /* 85213 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30216 /* 85220 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16509:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30217 /* 85220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrm),
30218 /* 85223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30219 /* 85225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30220 /* 85229 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30221 /* 85234 */ GIR_RootConstrainSelectedInstOperands,
30222 /* 85235 */ // GIR_Coverage, 1514,
30223 /* 85235 */ GIR_EraseRootFromParent_Done,
30224 /* 85236 */ // Label 2418: @85236
30225 /* 85236 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2419*/ GIMT_Encode4(85302), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1516 //
30226 /* 85243 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
30227 /* 85248 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30228 /* 85251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30229 /* 85254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30230 /* 85258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30231 /* 85262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30232 /* 85266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30233 /* 85269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30234 /* 85273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30235 /* 85277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30236 /* 85279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30237 /* 85286 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16508:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30238 /* 85286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrm),
30239 /* 85289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30240 /* 85291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30241 /* 85295 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30242 /* 85300 */ GIR_RootConstrainSelectedInstOperands,
30243 /* 85301 */ // GIR_Coverage, 1516,
30244 /* 85301 */ GIR_EraseRootFromParent_Done,
30245 /* 85302 */ // Label 2419: @85302
30246 /* 85302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2420*/ GIMT_Encode4(85368), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1518 //
30247 /* 85309 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
30248 /* 85314 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30249 /* 85317 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30250 /* 85320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30251 /* 85324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30252 /* 85328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30253 /* 85332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30254 /* 85335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30255 /* 85339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30256 /* 85343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30257 /* 85345 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30258 /* 85352 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16507:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30259 /* 85352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrm),
30260 /* 85355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30261 /* 85357 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30262 /* 85361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30263 /* 85366 */ GIR_RootConstrainSelectedInstOperands,
30264 /* 85367 */ // GIR_Coverage, 1518,
30265 /* 85367 */ GIR_EraseRootFromParent_Done,
30266 /* 85368 */ // Label 2420: @85368
30267 /* 85368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2421*/ GIMT_Encode4(85434), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1520 //
30268 /* 85375 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
30269 /* 85380 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30270 /* 85383 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30271 /* 85386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30272 /* 85390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30273 /* 85394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30274 /* 85398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30275 /* 85401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30276 /* 85405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30277 /* 85409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30278 /* 85411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30279 /* 85418 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16506:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30280 /* 85418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrm),
30281 /* 85421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30282 /* 85423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30283 /* 85427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30284 /* 85432 */ GIR_RootConstrainSelectedInstOperands,
30285 /* 85433 */ // GIR_Coverage, 1520,
30286 /* 85433 */ GIR_EraseRootFromParent_Done,
30287 /* 85434 */ // Label 2421: @85434
30288 /* 85434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2422*/ GIMT_Encode4(85500), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1522 //
30289 /* 85441 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
30290 /* 85446 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30291 /* 85449 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30292 /* 85452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30293 /* 85456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30294 /* 85460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30295 /* 85464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30296 /* 85467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30297 /* 85471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30298 /* 85475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30299 /* 85477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30300 /* 85484 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16505:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30301 /* 85484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrm),
30302 /* 85487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30303 /* 85489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30304 /* 85493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30305 /* 85498 */ GIR_RootConstrainSelectedInstOperands,
30306 /* 85499 */ // GIR_Coverage, 1522,
30307 /* 85499 */ GIR_EraseRootFromParent_Done,
30308 /* 85500 */ // Label 2422: @85500
30309 /* 85500 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2423*/ GIMT_Encode4(85566), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1524 //
30310 /* 85507 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
30311 /* 85512 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30312 /* 85515 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30313 /* 85518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30314 /* 85522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30315 /* 85526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30316 /* 85530 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30317 /* 85533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30318 /* 85537 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30319 /* 85541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30320 /* 85543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30321 /* 85550 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16504:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30322 /* 85550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrm),
30323 /* 85553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30324 /* 85555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30325 /* 85559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30326 /* 85564 */ GIR_RootConstrainSelectedInstOperands,
30327 /* 85565 */ // GIR_Coverage, 1524,
30328 /* 85565 */ GIR_EraseRootFromParent_Done,
30329 /* 85566 */ // Label 2423: @85566
30330 /* 85566 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2424*/ GIMT_Encode4(85632), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1526 //
30331 /* 85573 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
30332 /* 85578 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30333 /* 85581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30334 /* 85584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30335 /* 85588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30336 /* 85592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30337 /* 85596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30338 /* 85599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30339 /* 85603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30340 /* 85607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30341 /* 85609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30342 /* 85616 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16503:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30343 /* 85616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrm),
30344 /* 85619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30345 /* 85621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30346 /* 85625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30347 /* 85630 */ GIR_RootConstrainSelectedInstOperands,
30348 /* 85631 */ // GIR_Coverage, 1526,
30349 /* 85631 */ GIR_EraseRootFromParent_Done,
30350 /* 85632 */ // Label 2424: @85632
30351 /* 85632 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2425*/ GIMT_Encode4(85698), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1528 //
30352 /* 85639 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
30353 /* 85644 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30354 /* 85647 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30355 /* 85650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30356 /* 85654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30357 /* 85658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30358 /* 85662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30359 /* 85665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30360 /* 85669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30361 /* 85673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30362 /* 85675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30363 /* 85682 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16502:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30364 /* 85682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrm),
30365 /* 85685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30366 /* 85687 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30367 /* 85691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30368 /* 85696 */ GIR_RootConstrainSelectedInstOperands,
30369 /* 85697 */ // GIR_Coverage, 1528,
30370 /* 85697 */ GIR_EraseRootFromParent_Done,
30371 /* 85698 */ // Label 2425: @85698
30372 /* 85698 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2426*/ GIMT_Encode4(85764), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1530 //
30373 /* 85705 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
30374 /* 85710 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30375 /* 85713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30376 /* 85716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30377 /* 85720 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30378 /* 85724 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30379 /* 85728 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30380 /* 85731 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30381 /* 85735 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30382 /* 85739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30383 /* 85741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30384 /* 85748 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16501:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30385 /* 85748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrm),
30386 /* 85751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30387 /* 85753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30388 /* 85757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30389 /* 85762 */ GIR_RootConstrainSelectedInstOperands,
30390 /* 85763 */ // GIR_Coverage, 1530,
30391 /* 85763 */ GIR_EraseRootFromParent_Done,
30392 /* 85764 */ // Label 2426: @85764
30393 /* 85764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2427*/ GIMT_Encode4(85830), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1532 //
30394 /* 85771 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
30395 /* 85776 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30396 /* 85779 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30397 /* 85782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30398 /* 85786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30399 /* 85790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30400 /* 85794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30401 /* 85797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30402 /* 85801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30403 /* 85805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30404 /* 85807 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30405 /* 85814 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16500:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30406 /* 85814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrm),
30407 /* 85817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30408 /* 85819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30409 /* 85823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30410 /* 85828 */ GIR_RootConstrainSelectedInstOperands,
30411 /* 85829 */ // GIR_Coverage, 1532,
30412 /* 85829 */ GIR_EraseRootFromParent_Done,
30413 /* 85830 */ // Label 2427: @85830
30414 /* 85830 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2428*/ GIMT_Encode4(85896), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1534 //
30415 /* 85837 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
30416 /* 85842 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30417 /* 85845 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30418 /* 85848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30419 /* 85852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30420 /* 85856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30421 /* 85860 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30422 /* 85863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30423 /* 85867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30424 /* 85871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30425 /* 85873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30426 /* 85880 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16499:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30427 /* 85880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrm),
30428 /* 85883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30429 /* 85885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30430 /* 85889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30431 /* 85894 */ GIR_RootConstrainSelectedInstOperands,
30432 /* 85895 */ // GIR_Coverage, 1534,
30433 /* 85895 */ GIR_EraseRootFromParent_Done,
30434 /* 85896 */ // Label 2428: @85896
30435 /* 85896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2429*/ GIMT_Encode4(85962), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1540 //
30436 /* 85903 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
30437 /* 85908 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30438 /* 85911 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30439 /* 85914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30440 /* 85918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30441 /* 85922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30442 /* 85926 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30443 /* 85929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30444 /* 85933 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30445 /* 85937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30446 /* 85939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30447 /* 85946 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16491:{ *:[iPTR] }, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
30448 /* 85946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrm),
30449 /* 85949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30450 /* 85951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30451 /* 85955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30452 /* 85960 */ GIR_RootConstrainSelectedInstOperands,
30453 /* 85961 */ // GIR_Coverage, 1540,
30454 /* 85961 */ GIR_EraseRootFromParent_Done,
30455 /* 85962 */ // Label 2429: @85962
30456 /* 85962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2430*/ GIMT_Encode4(86028), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1542 //
30457 /* 85969 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
30458 /* 85974 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30459 /* 85977 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30460 /* 85980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30461 /* 85984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30462 /* 85988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30463 /* 85992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30464 /* 85995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30465 /* 85999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30466 /* 86003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30467 /* 86005 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30468 /* 86012 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16492:{ *:[iPTR] }, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
30469 /* 86012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrm),
30470 /* 86015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30471 /* 86017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30472 /* 86021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30473 /* 86026 */ GIR_RootConstrainSelectedInstOperands,
30474 /* 86027 */ // GIR_Coverage, 1542,
30475 /* 86027 */ GIR_EraseRootFromParent_Done,
30476 /* 86028 */ // Label 2430: @86028
30477 /* 86028 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2431*/ GIMT_Encode4(86094), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1548 //
30478 /* 86035 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
30479 /* 86040 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30480 /* 86043 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30481 /* 86046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30482 /* 86050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30483 /* 86054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30484 /* 86058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30485 /* 86061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30486 /* 86065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30487 /* 86069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30488 /* 86071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30489 /* 86078 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16489:{ *:[iPTR] }, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
30490 /* 86078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrm),
30491 /* 86081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30492 /* 86083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30493 /* 86087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30494 /* 86092 */ GIR_RootConstrainSelectedInstOperands,
30495 /* 86093 */ // GIR_Coverage, 1548,
30496 /* 86093 */ GIR_EraseRootFromParent_Done,
30497 /* 86094 */ // Label 2431: @86094
30498 /* 86094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2432*/ GIMT_Encode4(86160), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1550 //
30499 /* 86101 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
30500 /* 86106 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
30501 /* 86109 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
30502 /* 86112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30503 /* 86116 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30504 /* 86120 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30505 /* 86124 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30506 /* 86127 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30507 /* 86131 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30508 /* 86135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30509 /* 86137 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30510 /* 86144 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16490:{ *:[iPTR] }, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
30511 /* 86144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrm),
30512 /* 86147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30513 /* 86149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30514 /* 86153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30515 /* 86158 */ GIR_RootConstrainSelectedInstOperands,
30516 /* 86159 */ // GIR_Coverage, 1550,
30517 /* 86159 */ GIR_EraseRootFromParent_Done,
30518 /* 86160 */ // Label 2432: @86160
30519 /* 86160 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2433*/ GIMT_Encode4(86226), GIMT_Encode2(GIFBS_HasAES_HasAVX), // Rule ID 3352 //
30520 /* 86167 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
30521 /* 86172 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30522 /* 86175 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30523 /* 86178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30524 /* 86182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30525 /* 86186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30526 /* 86190 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30527 /* 86193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30528 /* 86197 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30529 /* 86201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30530 /* 86203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30531 /* 86210 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14892:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESIMCrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
30532 /* 86210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrm),
30533 /* 86213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30534 /* 86215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
30535 /* 86219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30536 /* 86224 */ GIR_RootConstrainSelectedInstOperands,
30537 /* 86225 */ // GIR_Coverage, 3352,
30538 /* 86225 */ GIR_EraseRootFromParent_Done,
30539 /* 86226 */ // Label 2433: @86226
30540 /* 86226 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2434*/ GIMT_Encode4(86261), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1505 //
30541 /* 86233 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
30542 /* 86238 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30543 /* 86241 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30544 /* 86244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30545 /* 86248 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30546 /* 86252 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16513:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHSUBWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30547 /* 86252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrr),
30548 /* 86255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30549 /* 86257 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30550 /* 86259 */ GIR_RootConstrainSelectedInstOperands,
30551 /* 86260 */ // GIR_Coverage, 1505,
30552 /* 86260 */ GIR_EraseRootFromParent_Done,
30553 /* 86261 */ // Label 2434: @86261
30554 /* 86261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2435*/ GIMT_Encode4(86296), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1507 //
30555 /* 86268 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
30556 /* 86273 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30557 /* 86276 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30558 /* 86279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30559 /* 86283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30560 /* 86287 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16512:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHSUBDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30561 /* 86287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrr),
30562 /* 86290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30563 /* 86292 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30564 /* 86294 */ GIR_RootConstrainSelectedInstOperands,
30565 /* 86295 */ // GIR_Coverage, 1507,
30566 /* 86295 */ GIR_EraseRootFromParent_Done,
30567 /* 86296 */ // Label 2435: @86296
30568 /* 86296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2436*/ GIMT_Encode4(86331), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1509 //
30569 /* 86303 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
30570 /* 86308 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30571 /* 86311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30572 /* 86314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30573 /* 86318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30574 /* 86322 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16511:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHSUBBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
30575 /* 86322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrr),
30576 /* 86325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30577 /* 86327 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30578 /* 86329 */ GIR_RootConstrainSelectedInstOperands,
30579 /* 86330 */ // GIR_Coverage, 1509,
30580 /* 86330 */ GIR_EraseRootFromParent_Done,
30581 /* 86331 */ // Label 2436: @86331
30582 /* 86331 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2437*/ GIMT_Encode4(86366), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1511 //
30583 /* 86338 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
30584 /* 86343 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30585 /* 86346 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30586 /* 86349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30587 /* 86353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30588 /* 86357 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16510:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
30589 /* 86357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrr),
30590 /* 86360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30591 /* 86362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30592 /* 86364 */ GIR_RootConstrainSelectedInstOperands,
30593 /* 86365 */ // GIR_Coverage, 1511,
30594 /* 86365 */ GIR_EraseRootFromParent_Done,
30595 /* 86366 */ // Label 2437: @86366
30596 /* 86366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2438*/ GIMT_Encode4(86401), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1513 //
30597 /* 86373 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
30598 /* 86378 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30599 /* 86381 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30600 /* 86384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30601 /* 86388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30602 /* 86392 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16509:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30603 /* 86392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrr),
30604 /* 86395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30605 /* 86397 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30606 /* 86399 */ GIR_RootConstrainSelectedInstOperands,
30607 /* 86400 */ // GIR_Coverage, 1513,
30608 /* 86400 */ GIR_EraseRootFromParent_Done,
30609 /* 86401 */ // Label 2438: @86401
30610 /* 86401 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2439*/ GIMT_Encode4(86436), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1515 //
30611 /* 86408 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
30612 /* 86413 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30613 /* 86416 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30614 /* 86419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30615 /* 86423 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30616 /* 86427 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16508:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
30617 /* 86427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrr),
30618 /* 86430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30619 /* 86432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30620 /* 86434 */ GIR_RootConstrainSelectedInstOperands,
30621 /* 86435 */ // GIR_Coverage, 1515,
30622 /* 86435 */ GIR_EraseRootFromParent_Done,
30623 /* 86436 */ // Label 2439: @86436
30624 /* 86436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2440*/ GIMT_Encode4(86471), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1517 //
30625 /* 86443 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
30626 /* 86448 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30627 /* 86451 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30628 /* 86454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30629 /* 86458 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30630 /* 86462 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16507:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30631 /* 86462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrr),
30632 /* 86465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30633 /* 86467 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30634 /* 86469 */ GIR_RootConstrainSelectedInstOperands,
30635 /* 86470 */ // GIR_Coverage, 1517,
30636 /* 86470 */ GIR_EraseRootFromParent_Done,
30637 /* 86471 */ // Label 2440: @86471
30638 /* 86471 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2441*/ GIMT_Encode4(86506), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1519 //
30639 /* 86478 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
30640 /* 86483 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30641 /* 86486 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30642 /* 86489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30643 /* 86493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30644 /* 86497 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16506:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDUDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30645 /* 86497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrr),
30646 /* 86500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30647 /* 86502 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30648 /* 86504 */ GIR_RootConstrainSelectedInstOperands,
30649 /* 86505 */ // GIR_Coverage, 1519,
30650 /* 86505 */ GIR_EraseRootFromParent_Done,
30651 /* 86506 */ // Label 2441: @86506
30652 /* 86506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2442*/ GIMT_Encode4(86541), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1521 //
30653 /* 86513 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
30654 /* 86518 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30655 /* 86521 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30656 /* 86524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30657 /* 86528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30658 /* 86532 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16505:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
30659 /* 86532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrr),
30660 /* 86535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30661 /* 86537 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30662 /* 86539 */ GIR_RootConstrainSelectedInstOperands,
30663 /* 86540 */ // GIR_Coverage, 1521,
30664 /* 86540 */ GIR_EraseRootFromParent_Done,
30665 /* 86541 */ // Label 2442: @86541
30666 /* 86541 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2443*/ GIMT_Encode4(86576), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1523 //
30667 /* 86548 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
30668 /* 86553 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30669 /* 86556 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30670 /* 86559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30671 /* 86563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30672 /* 86567 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16504:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
30673 /* 86567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrr),
30674 /* 86570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30675 /* 86572 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30676 /* 86574 */ GIR_RootConstrainSelectedInstOperands,
30677 /* 86575 */ // GIR_Coverage, 1523,
30678 /* 86575 */ GIR_EraseRootFromParent_Done,
30679 /* 86576 */ // Label 2443: @86576
30680 /* 86576 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2444*/ GIMT_Encode4(86611), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1525 //
30681 /* 86583 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
30682 /* 86588 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30683 /* 86591 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30684 /* 86594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30685 /* 86598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30686 /* 86602 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16503:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
30687 /* 86602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrr),
30688 /* 86605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30689 /* 86607 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30690 /* 86609 */ GIR_RootConstrainSelectedInstOperands,
30691 /* 86610 */ // GIR_Coverage, 1525,
30692 /* 86610 */ GIR_EraseRootFromParent_Done,
30693 /* 86611 */ // Label 2444: @86611
30694 /* 86611 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2445*/ GIMT_Encode4(86646), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1527 //
30695 /* 86618 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
30696 /* 86623 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30697 /* 86626 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30698 /* 86629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30699 /* 86633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30700 /* 86637 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16502:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30701 /* 86637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrr),
30702 /* 86640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30703 /* 86642 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30704 /* 86644 */ GIR_RootConstrainSelectedInstOperands,
30705 /* 86645 */ // GIR_Coverage, 1527,
30706 /* 86645 */ GIR_EraseRootFromParent_Done,
30707 /* 86646 */ // Label 2445: @86646
30708 /* 86646 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2446*/ GIMT_Encode4(86681), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1529 //
30709 /* 86653 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
30710 /* 86658 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30711 /* 86661 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30712 /* 86664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30713 /* 86668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30714 /* 86672 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16501:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
30715 /* 86672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrr),
30716 /* 86675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30717 /* 86677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30718 /* 86679 */ GIR_RootConstrainSelectedInstOperands,
30719 /* 86680 */ // GIR_Coverage, 1529,
30720 /* 86680 */ GIR_EraseRootFromParent_Done,
30721 /* 86681 */ // Label 2446: @86681
30722 /* 86681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2447*/ GIMT_Encode4(86716), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1531 //
30723 /* 86688 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
30724 /* 86693 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30725 /* 86696 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30726 /* 86699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30727 /* 86703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30728 /* 86707 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16500:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
30729 /* 86707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrr),
30730 /* 86710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30731 /* 86712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30732 /* 86714 */ GIR_RootConstrainSelectedInstOperands,
30733 /* 86715 */ // GIR_Coverage, 1531,
30734 /* 86715 */ GIR_EraseRootFromParent_Done,
30735 /* 86716 */ // Label 2447: @86716
30736 /* 86716 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2448*/ GIMT_Encode4(86751), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1533 //
30737 /* 86723 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
30738 /* 86728 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30739 /* 86731 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30740 /* 86734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30741 /* 86738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30742 /* 86742 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16499:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
30743 /* 86742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrr),
30744 /* 86745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30745 /* 86747 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30746 /* 86749 */ GIR_RootConstrainSelectedInstOperands,
30747 /* 86750 */ // GIR_Coverage, 1533,
30748 /* 86750 */ GIR_EraseRootFromParent_Done,
30749 /* 86751 */ // Label 2448: @86751
30750 /* 86751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2449*/ GIMT_Encode4(86786), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1535 //
30751 /* 86758 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ss),
30752 /* 86763 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30753 /* 86766 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30754 /* 86769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30755 /* 86773 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30756 /* 86777 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16494:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZSSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
30757 /* 86777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSSrr),
30758 /* 86780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30759 /* 86782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30760 /* 86784 */ GIR_RootConstrainSelectedInstOperands,
30761 /* 86785 */ // GIR_Coverage, 1535,
30762 /* 86785 */ GIR_EraseRootFromParent_Done,
30763 /* 86786 */ // Label 2449: @86786
30764 /* 86786 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2450*/ GIMT_Encode4(86821), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1539 //
30765 /* 86793 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
30766 /* 86798 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30767 /* 86801 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30768 /* 86804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30769 /* 86808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30770 /* 86812 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16491:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
30771 /* 86812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrr),
30772 /* 86815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30773 /* 86817 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30774 /* 86819 */ GIR_RootConstrainSelectedInstOperands,
30775 /* 86820 */ // GIR_Coverage, 1539,
30776 /* 86820 */ GIR_EraseRootFromParent_Done,
30777 /* 86821 */ // Label 2450: @86821
30778 /* 86821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2451*/ GIMT_Encode4(86856), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1541 //
30779 /* 86828 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
30780 /* 86833 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30781 /* 86836 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30782 /* 86839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30783 /* 86843 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30784 /* 86847 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16492:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src) => (VFRCZPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
30785 /* 86847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrr),
30786 /* 86850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30787 /* 86852 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30788 /* 86854 */ GIR_RootConstrainSelectedInstOperands,
30789 /* 86855 */ // GIR_Coverage, 1541,
30790 /* 86855 */ GIR_EraseRootFromParent_Done,
30791 /* 86856 */ // Label 2451: @86856
30792 /* 86856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2452*/ GIMT_Encode4(86891), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1543 //
30793 /* 86863 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_sd),
30794 /* 86868 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30795 /* 86871 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30796 /* 86874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30797 /* 86878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30798 /* 86882 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16493:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZSDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
30799 /* 86882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSDrr),
30800 /* 86885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30801 /* 86887 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30802 /* 86889 */ GIR_RootConstrainSelectedInstOperands,
30803 /* 86890 */ // GIR_Coverage, 1543,
30804 /* 86890 */ GIR_EraseRootFromParent_Done,
30805 /* 86891 */ // Label 2452: @86891
30806 /* 86891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2453*/ GIMT_Encode4(86926), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1547 //
30807 /* 86898 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
30808 /* 86903 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30809 /* 86906 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30810 /* 86909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30811 /* 86913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30812 /* 86917 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16489:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
30813 /* 86917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrr),
30814 /* 86920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30815 /* 86922 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30816 /* 86924 */ GIR_RootConstrainSelectedInstOperands,
30817 /* 86925 */ // GIR_Coverage, 1547,
30818 /* 86925 */ GIR_EraseRootFromParent_Done,
30819 /* 86926 */ // Label 2453: @86926
30820 /* 86926 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2454*/ GIMT_Encode4(86961), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1549 //
30821 /* 86933 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
30822 /* 86938 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
30823 /* 86941 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
30824 /* 86944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30825 /* 86948 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30826 /* 86952 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16490:{ *:[iPTR] }, VR256:{ *:[v4f64] }:$src) => (VFRCZPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
30827 /* 86952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrr),
30828 /* 86955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30829 /* 86957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30830 /* 86959 */ GIR_RootConstrainSelectedInstOperands,
30831 /* 86960 */ // GIR_Coverage, 1549,
30832 /* 86960 */ GIR_EraseRootFromParent_Done,
30833 /* 86961 */ // Label 2454: @86961
30834 /* 86961 */ GIM_Try, /*On fail goto*//*Label 2455*/ GIMT_Encode4(87018),
30835 /* 86966 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
30836 /* 86971 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30837 /* 86974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30838 /* 86977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30839 /* 86981 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30840 /* 86985 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2456*/ GIMT_Encode4(87001), GIMT_Encode2(GIFBS_HasAES_HasAVX), // Rule ID 3351 //
30841 /* 86992 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14892:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (VAESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
30842 /* 86992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrr),
30843 /* 86995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30844 /* 86997 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
30845 /* 86999 */ GIR_RootConstrainSelectedInstOperands,
30846 /* 87000 */ // GIR_Coverage, 3351,
30847 /* 87000 */ GIR_EraseRootFromParent_Done,
30848 /* 87001 */ // Label 2456: @87001
30849 /* 87001 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2457*/ GIMT_Encode4(87017), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3353 //
30850 /* 87008 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14892:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (AESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
30851 /* 87008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESIMCrr),
30852 /* 87011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30853 /* 87013 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
30854 /* 87015 */ GIR_RootConstrainSelectedInstOperands,
30855 /* 87016 */ // GIR_Coverage, 3353,
30856 /* 87016 */ GIR_EraseRootFromParent_Done,
30857 /* 87017 */ // Label 2457: @87017
30858 /* 87017 */ GIM_Reject,
30859 /* 87018 */ // Label 2455: @87018
30860 /* 87018 */ GIM_Try, /*On fail goto*//*Label 2458*/ GIMT_Encode4(87079),
30861 /* 87023 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
30862 /* 87028 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30863 /* 87031 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30864 /* 87034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30865 /* 87038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30866 /* 87042 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2459*/ GIMT_Encode4(87060), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18359 //
30867 /* 87049 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16227:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
30868 /* 87049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSQRTSSr_Int),
30869 /* 87052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30870 /* 87054 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30871 /* 87056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30872 /* 87058 */ GIR_RootConstrainSelectedInstOperands,
30873 /* 87059 */ // GIR_Coverage, 18359,
30874 /* 87059 */ GIR_EraseRootFromParent_Done,
30875 /* 87060 */ // Label 2459: @87060
30876 /* 87060 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2460*/ GIMT_Encode4(87078), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18363 //
30877 /* 87067 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16227:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
30878 /* 87067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRSQRTSSr_Int),
30879 /* 87070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30880 /* 87072 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30881 /* 87074 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30882 /* 87076 */ GIR_RootConstrainSelectedInstOperands,
30883 /* 87077 */ // GIR_Coverage, 18363,
30884 /* 87077 */ GIR_EraseRootFromParent_Done,
30885 /* 87078 */ // Label 2460: @87078
30886 /* 87078 */ GIM_Reject,
30887 /* 87079 */ // Label 2458: @87079
30888 /* 87079 */ GIM_Try, /*On fail goto*//*Label 2461*/ GIMT_Encode4(87140),
30889 /* 87084 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
30890 /* 87089 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30891 /* 87092 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30892 /* 87095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30893 /* 87099 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30894 /* 87103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2462*/ GIMT_Encode4(87121), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18379 //
30895 /* 87110 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16225:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
30896 /* 87110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RCPSSr_Int),
30897 /* 87113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30898 /* 87115 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30899 /* 87117 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30900 /* 87119 */ GIR_RootConstrainSelectedInstOperands,
30901 /* 87120 */ // GIR_Coverage, 18379,
30902 /* 87120 */ GIR_EraseRootFromParent_Done,
30903 /* 87121 */ // Label 2462: @87121
30904 /* 87121 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2463*/ GIMT_Encode4(87139), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18383 //
30905 /* 87128 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16225:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
30906 /* 87128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRCPSSr_Int),
30907 /* 87131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30908 /* 87133 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30909 /* 87135 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30910 /* 87137 */ GIR_RootConstrainSelectedInstOperands,
30911 /* 87138 */ // GIR_Coverage, 18383,
30912 /* 87138 */ GIR_EraseRootFromParent_Done,
30913 /* 87139 */ // Label 2463: @87139
30914 /* 87139 */ GIM_Reject,
30915 /* 87140 */ // Label 2461: @87140
30916 /* 87140 */ GIM_Reject,
30917 /* 87141 */ // Label 2413: @87141
30918 /* 87141 */ GIM_Try, /*On fail goto*//*Label 2464*/ GIMT_Encode4(93225),
30919 /* 87146 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
30920 /* 87149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2465*/ GIMT_Encode4(87220), GIMT_Encode2(GIFBS_HasAES_HasAVX), // Rule ID 3356 //
30921 /* 87156 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
30922 /* 87161 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30923 /* 87164 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30924 /* 87167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30925 /* 87171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30926 /* 87175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30927 /* 87179 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30928 /* 87182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30929 /* 87186 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30930 /* 87190 */ // MIs[0] src2
30931 /* 87190 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
30932 /* 87193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30933 /* 87195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30934 /* 87202 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14893:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrmi:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, (timm:{ *:[i8] }):$src2)
30935 /* 87202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrmi),
30936 /* 87205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30937 /* 87207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
30938 /* 87211 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
30939 /* 87213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30940 /* 87218 */ GIR_RootConstrainSelectedInstOperands,
30941 /* 87219 */ // GIR_Coverage, 3356,
30942 /* 87219 */ GIR_EraseRootFromParent_Done,
30943 /* 87220 */ // Label 2465: @87220
30944 /* 87220 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2466*/ GIMT_Encode4(87295), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16847 //
30945 /* 87227 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
30946 /* 87232 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30947 /* 87235 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30948 /* 87238 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
30949 /* 87241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30950 /* 87245 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30951 /* 87249 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
30952 /* 87253 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30953 /* 87257 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30954 /* 87260 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30955 /* 87264 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30956 /* 87268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30957 /* 87270 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30958 /* 87277 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16468:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
30959 /* 87277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rm),
30960 /* 87280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30961 /* 87282 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
30962 /* 87284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
30963 /* 87288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30964 /* 87293 */ GIR_RootConstrainSelectedInstOperands,
30965 /* 87294 */ // GIR_Coverage, 16847,
30966 /* 87294 */ GIR_EraseRootFromParent_Done,
30967 /* 87295 */ // Label 2466: @87295
30968 /* 87295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2467*/ GIMT_Encode4(87370), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16849 //
30969 /* 87302 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
30970 /* 87307 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30971 /* 87310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30972 /* 87313 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
30973 /* 87316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30974 /* 87320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30975 /* 87324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
30976 /* 87328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30977 /* 87332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30978 /* 87335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30979 /* 87339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30980 /* 87343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30981 /* 87345 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30982 /* 87352 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16469:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
30983 /* 87352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rm),
30984 /* 87355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30985 /* 87357 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
30986 /* 87359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
30987 /* 87363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30988 /* 87368 */ GIR_RootConstrainSelectedInstOperands,
30989 /* 87369 */ // GIR_Coverage, 16849,
30990 /* 87369 */ GIR_EraseRootFromParent_Done,
30991 /* 87370 */ // Label 2467: @87370
30992 /* 87370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2468*/ GIMT_Encode4(87445), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16853 //
30993 /* 87377 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
30994 /* 87382 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30995 /* 87385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30996 /* 87388 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
30997 /* 87391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30998 /* 87395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30999 /* 87399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31000 /* 87403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31001 /* 87407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31002 /* 87410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31003 /* 87414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31004 /* 87418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31005 /* 87420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31006 /* 87427 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16471:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31007 /* 87427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rm),
31008 /* 87430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31009 /* 87432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31010 /* 87434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31011 /* 87438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31012 /* 87443 */ GIR_RootConstrainSelectedInstOperands,
31013 /* 87444 */ // GIR_Coverage, 16853,
31014 /* 87444 */ GIR_EraseRootFromParent_Done,
31015 /* 87445 */ // Label 2468: @87445
31016 /* 87445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2469*/ GIMT_Encode4(87520), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16855 //
31017 /* 87452 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
31018 /* 87457 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31019 /* 87460 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31020 /* 87463 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31021 /* 87466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31022 /* 87470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31023 /* 87474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31024 /* 87478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31025 /* 87482 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31026 /* 87485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31027 /* 87489 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31028 /* 87493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31029 /* 87495 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31030 /* 87502 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16472:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31031 /* 87502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rm),
31032 /* 87505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31033 /* 87507 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31034 /* 87509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31035 /* 87513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31036 /* 87518 */ GIR_RootConstrainSelectedInstOperands,
31037 /* 87519 */ // GIR_Coverage, 16855,
31038 /* 87519 */ GIR_EraseRootFromParent_Done,
31039 /* 87520 */ // Label 2469: @87520
31040 /* 87520 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2470*/ GIMT_Encode4(87595), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3009 //
31041 /* 87527 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
31042 /* 87532 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
31043 /* 87535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31044 /* 87538 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
31045 /* 87541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31046 /* 87545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31047 /* 87549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31048 /* 87553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31049 /* 87557 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31050 /* 87560 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31051 /* 87564 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31052 /* 87568 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31053 /* 87570 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31054 /* 87577 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16365:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31055 /* 87577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrm),
31056 /* 87580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31057 /* 87582 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31058 /* 87584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31059 /* 87588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31060 /* 87593 */ GIR_RootConstrainSelectedInstOperands,
31061 /* 87594 */ // GIR_Coverage, 3009,
31062 /* 87594 */ GIR_EraseRootFromParent_Done,
31063 /* 87595 */ // Label 2470: @87595
31064 /* 87595 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2471*/ GIMT_Encode4(87670), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3011 //
31065 /* 87602 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
31066 /* 87607 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31067 /* 87610 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31068 /* 87613 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
31069 /* 87616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31070 /* 87620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31071 /* 87624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31072 /* 87628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31073 /* 87632 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31074 /* 87635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31075 /* 87639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31076 /* 87643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31077 /* 87645 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31078 /* 87652 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16369:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31079 /* 87652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrm),
31080 /* 87655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31081 /* 87657 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31082 /* 87659 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31083 /* 87663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31084 /* 87668 */ GIR_RootConstrainSelectedInstOperands,
31085 /* 87669 */ // GIR_Coverage, 3011,
31086 /* 87669 */ GIR_EraseRootFromParent_Done,
31087 /* 87670 */ // Label 2471: @87670
31088 /* 87670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2472*/ GIMT_Encode4(87745), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3013 //
31089 /* 87677 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
31090 /* 87682 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31091 /* 87685 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31092 /* 87688 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31093 /* 87691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31094 /* 87695 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31095 /* 87699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31096 /* 87703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31097 /* 87707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31098 /* 87710 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31099 /* 87714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31100 /* 87718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31101 /* 87720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31102 /* 87727 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16367:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31103 /* 87727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrm),
31104 /* 87730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31105 /* 87732 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31106 /* 87734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31107 /* 87738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31108 /* 87743 */ GIR_RootConstrainSelectedInstOperands,
31109 /* 87744 */ // GIR_Coverage, 3013,
31110 /* 87744 */ GIR_EraseRootFromParent_Done,
31111 /* 87745 */ // Label 2472: @87745
31112 /* 87745 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2473*/ GIMT_Encode4(87820), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3033 //
31113 /* 87752 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
31114 /* 87757 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
31115 /* 87760 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
31116 /* 87763 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
31117 /* 87766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31118 /* 87770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31119 /* 87774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31120 /* 87778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31121 /* 87782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31122 /* 87785 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31123 /* 87789 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31124 /* 87793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31125 /* 87795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31126 /* 87802 */ // (intrinsic_wo_chain:{ *:[v32i8] } 15256:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31127 /* 87802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrm),
31128 /* 87805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31129 /* 87807 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31130 /* 87809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31131 /* 87813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31132 /* 87818 */ GIR_RootConstrainSelectedInstOperands,
31133 /* 87819 */ // GIR_Coverage, 3033,
31134 /* 87819 */ GIR_EraseRootFromParent_Done,
31135 /* 87820 */ // Label 2473: @87820
31136 /* 87820 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2474*/ GIMT_Encode4(87895), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3035 //
31137 /* 87827 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
31138 /* 87832 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
31139 /* 87835 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
31140 /* 87838 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
31141 /* 87841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31142 /* 87845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31143 /* 87849 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31144 /* 87853 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31145 /* 87857 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31146 /* 87860 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31147 /* 87864 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31148 /* 87868 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31149 /* 87870 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31150 /* 87877 */ // (intrinsic_wo_chain:{ *:[v16i16] } 15258:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31151 /* 87877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrm),
31152 /* 87880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31153 /* 87882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31154 /* 87884 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31155 /* 87888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31156 /* 87893 */ GIR_RootConstrainSelectedInstOperands,
31157 /* 87894 */ // GIR_Coverage, 3035,
31158 /* 87894 */ GIR_EraseRootFromParent_Done,
31159 /* 87895 */ // Label 2474: @87895
31160 /* 87895 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2475*/ GIMT_Encode4(87970), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3037 //
31161 /* 87902 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
31162 /* 87907 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31163 /* 87910 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31164 /* 87913 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31165 /* 87916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31166 /* 87920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31167 /* 87924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31168 /* 87928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31169 /* 87932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31170 /* 87935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31171 /* 87939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31172 /* 87943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31173 /* 87945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31174 /* 87952 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15257:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31175 /* 87952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrm),
31176 /* 87955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31177 /* 87957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31178 /* 87959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31179 /* 87963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31180 /* 87968 */ GIR_RootConstrainSelectedInstOperands,
31181 /* 87969 */ // GIR_Coverage, 3037,
31182 /* 87969 */ GIR_EraseRootFromParent_Done,
31183 /* 87970 */ // Label 2475: @87970
31184 /* 87970 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2476*/ GIMT_Encode4(88045), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3298 //
31185 /* 87977 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31186 /* 87982 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31187 /* 87985 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31188 /* 87988 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31189 /* 87991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31190 /* 87995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31191 /* 87999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31192 /* 88003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31193 /* 88007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31194 /* 88010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31195 /* 88014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31196 /* 88018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31197 /* 88020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31198 /* 88027 */ // (intrinsic_wo_chain:{ *:[i32] } 16323:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31199 /* 88027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8),
31200 /* 88030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31201 /* 88032 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31202 /* 88034 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31203 /* 88038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31204 /* 88043 */ GIR_RootConstrainSelectedInstOperands,
31205 /* 88044 */ // GIR_Coverage, 3298,
31206 /* 88044 */ GIR_EraseRootFromParent_Done,
31207 /* 88045 */ // Label 2476: @88045
31208 /* 88045 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2477*/ GIMT_Encode4(88120), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3300 //
31209 /* 88052 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31210 /* 88057 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31211 /* 88060 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31212 /* 88063 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31213 /* 88066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31214 /* 88070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31215 /* 88074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31216 /* 88078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31217 /* 88082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31218 /* 88085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31219 /* 88089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31220 /* 88093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31221 /* 88095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31222 /* 88102 */ // (intrinsic_wo_chain:{ *:[i32] } 16321:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31223 /* 88102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16),
31224 /* 88105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31225 /* 88107 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31226 /* 88109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31227 /* 88113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31228 /* 88118 */ GIR_RootConstrainSelectedInstOperands,
31229 /* 88119 */ // GIR_Coverage, 3300,
31230 /* 88119 */ GIR_EraseRootFromParent_Done,
31231 /* 88120 */ // Label 2477: @88120
31232 /* 88120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2478*/ GIMT_Encode4(88195), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3302 //
31233 /* 88127 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31234 /* 88132 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31235 /* 88135 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31236 /* 88138 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31237 /* 88141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31238 /* 88145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31239 /* 88149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31240 /* 88153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31241 /* 88157 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31242 /* 88160 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31243 /* 88164 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31244 /* 88168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31245 /* 88170 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31246 /* 88177 */ // (intrinsic_wo_chain:{ *:[i32] } 16322:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31247 /* 88177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32),
31248 /* 88180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31249 /* 88182 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31250 /* 88184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31251 /* 88188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31252 /* 88193 */ GIR_RootConstrainSelectedInstOperands,
31253 /* 88194 */ // GIR_Coverage, 3302,
31254 /* 88194 */ GIR_EraseRootFromParent_Done,
31255 /* 88195 */ // Label 2478: @88195
31256 /* 88195 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2479*/ GIMT_Encode4(88270), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3304 //
31257 /* 88202 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31258 /* 88207 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31259 /* 88210 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31260 /* 88213 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31261 /* 88216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31262 /* 88220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31263 /* 88224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31264 /* 88228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31265 /* 88232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31266 /* 88235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31267 /* 88239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31268 /* 88243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31269 /* 88245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31270 /* 88252 */ // (intrinsic_wo_chain:{ *:[i64] } 16324:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31271 /* 88252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64),
31272 /* 88255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31273 /* 88257 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31274 /* 88259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31275 /* 88263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31276 /* 88268 */ GIR_RootConstrainSelectedInstOperands,
31277 /* 88269 */ // GIR_Coverage, 3304,
31278 /* 88269 */ GIR_EraseRootFromParent_Done,
31279 /* 88270 */ // Label 2479: @88270
31280 /* 88270 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2480*/ GIMT_Encode4(88345), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3306 //
31281 /* 88277 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31282 /* 88282 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31283 /* 88285 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31284 /* 88288 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31285 /* 88291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31286 /* 88295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31287 /* 88299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31288 /* 88303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31289 /* 88307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31290 /* 88310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31291 /* 88314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31292 /* 88318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31293 /* 88320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31294 /* 88327 */ // (intrinsic_wo_chain:{ *:[i32] } 16323:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31295 /* 88327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8_EVEX),
31296 /* 88330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31297 /* 88332 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31298 /* 88334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31299 /* 88338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31300 /* 88343 */ GIR_RootConstrainSelectedInstOperands,
31301 /* 88344 */ // GIR_Coverage, 3306,
31302 /* 88344 */ GIR_EraseRootFromParent_Done,
31303 /* 88345 */ // Label 2480: @88345
31304 /* 88345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2481*/ GIMT_Encode4(88420), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3308 //
31305 /* 88352 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31306 /* 88357 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31307 /* 88360 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31308 /* 88363 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31309 /* 88366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31310 /* 88370 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31311 /* 88374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31312 /* 88378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31313 /* 88382 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31314 /* 88385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31315 /* 88389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31316 /* 88393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31317 /* 88395 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31318 /* 88402 */ // (intrinsic_wo_chain:{ *:[i32] } 16321:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31319 /* 88402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16_EVEX),
31320 /* 88405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31321 /* 88407 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31322 /* 88409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31323 /* 88413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31324 /* 88418 */ GIR_RootConstrainSelectedInstOperands,
31325 /* 88419 */ // GIR_Coverage, 3308,
31326 /* 88419 */ GIR_EraseRootFromParent_Done,
31327 /* 88420 */ // Label 2481: @88420
31328 /* 88420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2482*/ GIMT_Encode4(88495), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3310 //
31329 /* 88427 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31330 /* 88432 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31331 /* 88435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31332 /* 88438 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31333 /* 88441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31334 /* 88445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31335 /* 88449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31336 /* 88453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31337 /* 88457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31338 /* 88460 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31339 /* 88464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31340 /* 88468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31341 /* 88470 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31342 /* 88477 */ // (intrinsic_wo_chain:{ *:[i32] } 16322:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31343 /* 88477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32_EVEX),
31344 /* 88480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31345 /* 88482 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31346 /* 88484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31347 /* 88488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31348 /* 88493 */ GIR_RootConstrainSelectedInstOperands,
31349 /* 88494 */ // GIR_Coverage, 3310,
31350 /* 88494 */ GIR_EraseRootFromParent_Done,
31351 /* 88495 */ // Label 2482: @88495
31352 /* 88495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2483*/ GIMT_Encode4(88570), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3312 //
31353 /* 88502 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31354 /* 88507 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31355 /* 88510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31356 /* 88513 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31357 /* 88516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31358 /* 88520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31359 /* 88524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31360 /* 88528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31361 /* 88532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31362 /* 88535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31363 /* 88539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31364 /* 88543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31365 /* 88545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31366 /* 88552 */ // (intrinsic_wo_chain:{ *:[i64] } 16324:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31367 /* 88552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64_EVEX),
31368 /* 88555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31369 /* 88557 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31370 /* 88559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31371 /* 88563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31372 /* 88568 */ GIR_RootConstrainSelectedInstOperands,
31373 /* 88569 */ // GIR_Coverage, 3312,
31374 /* 88569 */ GIR_EraseRootFromParent_Done,
31375 /* 88570 */ // Label 2483: @88570
31376 /* 88570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2484*/ GIMT_Encode4(88645), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3328 //
31377 /* 88577 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
31378 /* 88582 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31379 /* 88585 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31380 /* 88588 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31381 /* 88591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31382 /* 88595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31383 /* 88599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31384 /* 88603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31385 /* 88607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31386 /* 88610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31387 /* 88614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31388 /* 88618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31389 /* 88620 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31390 /* 88627 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14886:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31391 /* 88627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrm),
31392 /* 88630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31393 /* 88632 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31394 /* 88634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31395 /* 88638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31396 /* 88643 */ GIR_RootConstrainSelectedInstOperands,
31397 /* 88644 */ // GIR_Coverage, 3328,
31398 /* 88644 */ GIR_EraseRootFromParent_Done,
31399 /* 88645 */ // Label 2484: @88645
31400 /* 88645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2485*/ GIMT_Encode4(88720), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3330 //
31401 /* 88652 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
31402 /* 88657 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31403 /* 88660 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31404 /* 88663 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31405 /* 88666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31406 /* 88670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31407 /* 88674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31408 /* 88678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31409 /* 88682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31410 /* 88685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31411 /* 88689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31412 /* 88693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31413 /* 88695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31414 /* 88702 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14889:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31415 /* 88702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrm),
31416 /* 88705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31417 /* 88707 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31418 /* 88709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31419 /* 88713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31420 /* 88718 */ GIR_RootConstrainSelectedInstOperands,
31421 /* 88719 */ // GIR_Coverage, 3330,
31422 /* 88719 */ GIR_EraseRootFromParent_Done,
31423 /* 88720 */ // Label 2485: @88720
31424 /* 88720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2486*/ GIMT_Encode4(88795), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3332 //
31425 /* 88727 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
31426 /* 88732 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31427 /* 88735 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31428 /* 88738 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31429 /* 88741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31430 /* 88745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31431 /* 88749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31432 /* 88753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31433 /* 88757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31434 /* 88760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31435 /* 88764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31436 /* 88768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31437 /* 88770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31438 /* 88777 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14880:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31439 /* 88777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrm),
31440 /* 88780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31441 /* 88782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31442 /* 88784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31443 /* 88788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31444 /* 88793 */ GIR_RootConstrainSelectedInstOperands,
31445 /* 88794 */ // GIR_Coverage, 3332,
31446 /* 88794 */ GIR_EraseRootFromParent_Done,
31447 /* 88795 */ // Label 2486: @88795
31448 /* 88795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2487*/ GIMT_Encode4(88870), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3334 //
31449 /* 88802 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
31450 /* 88807 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31451 /* 88810 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31452 /* 88813 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31453 /* 88816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31454 /* 88820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31455 /* 88824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31456 /* 88828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31457 /* 88832 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31458 /* 88835 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31459 /* 88839 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31460 /* 88843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31461 /* 88845 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31462 /* 88852 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14883:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31463 /* 88852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrm),
31464 /* 88855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31465 /* 88857 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31466 /* 88859 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31467 /* 88863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31468 /* 88868 */ GIR_RootConstrainSelectedInstOperands,
31469 /* 88869 */ // GIR_Coverage, 3334,
31470 /* 88869 */ GIR_EraseRootFromParent_Done,
31471 /* 88870 */ // Label 2487: @88870
31472 /* 88870 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2488*/ GIMT_Encode4(88945), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3336 //
31473 /* 88877 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
31474 /* 88882 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31475 /* 88885 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31476 /* 88888 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31477 /* 88891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31478 /* 88895 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31479 /* 88899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31480 /* 88903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31481 /* 88907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31482 /* 88910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31483 /* 88914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31484 /* 88918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31485 /* 88920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31486 /* 88927 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14887:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31487 /* 88927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrm),
31488 /* 88930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31489 /* 88932 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31490 /* 88934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31491 /* 88938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31492 /* 88943 */ GIR_RootConstrainSelectedInstOperands,
31493 /* 88944 */ // GIR_Coverage, 3336,
31494 /* 88944 */ GIR_EraseRootFromParent_Done,
31495 /* 88945 */ // Label 2488: @88945
31496 /* 88945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2489*/ GIMT_Encode4(89020), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3338 //
31497 /* 88952 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
31498 /* 88957 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31499 /* 88960 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31500 /* 88963 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31501 /* 88966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31502 /* 88970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31503 /* 88974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31504 /* 88978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31505 /* 88982 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31506 /* 88985 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31507 /* 88989 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31508 /* 88993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31509 /* 88995 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31510 /* 89002 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14890:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31511 /* 89002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrm),
31512 /* 89005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31513 /* 89007 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31514 /* 89009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31515 /* 89013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31516 /* 89018 */ GIR_RootConstrainSelectedInstOperands,
31517 /* 89019 */ // GIR_Coverage, 3338,
31518 /* 89019 */ GIR_EraseRootFromParent_Done,
31519 /* 89020 */ // Label 2489: @89020
31520 /* 89020 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2490*/ GIMT_Encode4(89095), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3340 //
31521 /* 89027 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
31522 /* 89032 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31523 /* 89035 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31524 /* 89038 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31525 /* 89041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31526 /* 89045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31527 /* 89049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31528 /* 89053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31529 /* 89057 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31530 /* 89060 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31531 /* 89064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31532 /* 89068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31533 /* 89070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31534 /* 89077 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14881:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31535 /* 89077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrm),
31536 /* 89080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31537 /* 89082 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31538 /* 89084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31539 /* 89088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31540 /* 89093 */ GIR_RootConstrainSelectedInstOperands,
31541 /* 89094 */ // GIR_Coverage, 3340,
31542 /* 89094 */ GIR_EraseRootFromParent_Done,
31543 /* 89095 */ // Label 2490: @89095
31544 /* 89095 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2491*/ GIMT_Encode4(89170), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3342 //
31545 /* 89102 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
31546 /* 89107 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31547 /* 89110 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31548 /* 89113 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31549 /* 89116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31550 /* 89120 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31551 /* 89124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31552 /* 89128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31553 /* 89132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31554 /* 89135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31555 /* 89139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31556 /* 89143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31557 /* 89145 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31558 /* 89152 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14884:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31559 /* 89152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrm),
31560 /* 89155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31561 /* 89157 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31562 /* 89159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31563 /* 89163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31564 /* 89168 */ GIR_RootConstrainSelectedInstOperands,
31565 /* 89169 */ // GIR_Coverage, 3342,
31566 /* 89169 */ GIR_EraseRootFromParent_Done,
31567 /* 89170 */ // Label 2491: @89170
31568 /* 89170 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2492*/ GIMT_Encode4(89245), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3553 //
31569 /* 89177 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
31570 /* 89182 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31571 /* 89185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31572 /* 89188 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31573 /* 89191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31574 /* 89195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31575 /* 89199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31576 /* 89203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31577 /* 89207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31578 /* 89210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31579 /* 89214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31580 /* 89218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31581 /* 89220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31582 /* 89227 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16468:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31583 /* 89227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rm),
31584 /* 89230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31585 /* 89232 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31586 /* 89234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31587 /* 89238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31588 /* 89243 */ GIR_RootConstrainSelectedInstOperands,
31589 /* 89244 */ // GIR_Coverage, 3553,
31590 /* 89244 */ GIR_EraseRootFromParent_Done,
31591 /* 89245 */ // Label 2492: @89245
31592 /* 89245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2493*/ GIMT_Encode4(89320), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3555 //
31593 /* 89252 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
31594 /* 89257 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31595 /* 89260 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31596 /* 89263 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31597 /* 89266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31598 /* 89270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31599 /* 89274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31600 /* 89278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31601 /* 89282 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31602 /* 89285 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31603 /* 89289 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31604 /* 89293 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31605 /* 89295 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31606 /* 89302 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16469:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31607 /* 89302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrm),
31608 /* 89305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31609 /* 89307 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31610 /* 89309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31611 /* 89313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31612 /* 89318 */ GIR_RootConstrainSelectedInstOperands,
31613 /* 89319 */ // GIR_Coverage, 3555,
31614 /* 89319 */ GIR_EraseRootFromParent_Done,
31615 /* 89320 */ // Label 2493: @89320
31616 /* 89320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2494*/ GIMT_Encode4(89395), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3557 //
31617 /* 89327 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
31618 /* 89332 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31619 /* 89335 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31620 /* 89338 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31621 /* 89341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31622 /* 89345 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31623 /* 89349 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31624 /* 89353 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31625 /* 89357 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31626 /* 89360 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31627 /* 89364 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31628 /* 89368 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31629 /* 89370 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31630 /* 89377 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16471:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31631 /* 89377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rm),
31632 /* 89380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31633 /* 89382 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31634 /* 89384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31635 /* 89388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31636 /* 89393 */ GIR_RootConstrainSelectedInstOperands,
31637 /* 89394 */ // GIR_Coverage, 3557,
31638 /* 89394 */ GIR_EraseRootFromParent_Done,
31639 /* 89395 */ // Label 2494: @89395
31640 /* 89395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2495*/ GIMT_Encode4(89470), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3559 //
31641 /* 89402 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
31642 /* 89407 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31643 /* 89410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31644 /* 89413 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31645 /* 89416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31646 /* 89420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31647 /* 89424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31648 /* 89428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31649 /* 89432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31650 /* 89435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31651 /* 89439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31652 /* 89443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31653 /* 89445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31654 /* 89452 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16472:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31655 /* 89452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrm),
31656 /* 89455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31657 /* 89457 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31658 /* 89459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31659 /* 89463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31660 /* 89468 */ GIR_RootConstrainSelectedInstOperands,
31661 /* 89469 */ // GIR_Coverage, 3559,
31662 /* 89469 */ GIR_EraseRootFromParent_Done,
31663 /* 89470 */ // Label 2495: @89470
31664 /* 89470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2496*/ GIMT_Encode4(89545), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14064 //
31665 /* 89477 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
31666 /* 89482 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31667 /* 89485 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31668 /* 89488 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31669 /* 89491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31670 /* 89495 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31671 /* 89499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31672 /* 89503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31673 /* 89507 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31674 /* 89510 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31675 /* 89514 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31676 /* 89518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31677 /* 89520 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31678 /* 89527 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14886:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31679 /* 89527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rm),
31680 /* 89530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31681 /* 89532 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31682 /* 89534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31683 /* 89538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31684 /* 89543 */ GIR_RootConstrainSelectedInstOperands,
31685 /* 89544 */ // GIR_Coverage, 14064,
31686 /* 89544 */ GIR_EraseRootFromParent_Done,
31687 /* 89545 */ // Label 2496: @89545
31688 /* 89545 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2497*/ GIMT_Encode4(89620), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14066 //
31689 /* 89552 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
31690 /* 89557 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31691 /* 89560 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31692 /* 89563 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31693 /* 89566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31694 /* 89570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31695 /* 89574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31696 /* 89578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31697 /* 89582 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31698 /* 89585 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31699 /* 89589 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31700 /* 89593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31701 /* 89595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31702 /* 89602 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14887:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31703 /* 89602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rm),
31704 /* 89605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31705 /* 89607 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31706 /* 89609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31707 /* 89613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31708 /* 89618 */ GIR_RootConstrainSelectedInstOperands,
31709 /* 89619 */ // GIR_Coverage, 14066,
31710 /* 89619 */ GIR_EraseRootFromParent_Done,
31711 /* 89620 */ // Label 2497: @89620
31712 /* 89620 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2498*/ GIMT_Encode4(89695), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14068 //
31713 /* 89627 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
31714 /* 89632 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
31715 /* 89635 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
31716 /* 89638 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
31717 /* 89641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31718 /* 89645 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31719 /* 89649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31720 /* 89653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31721 /* 89657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31722 /* 89660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31723 /* 89664 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31724 /* 89668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31725 /* 89670 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31726 /* 89677 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14888:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31727 /* 89677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrm),
31728 /* 89680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31729 /* 89682 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31730 /* 89684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31731 /* 89688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31732 /* 89693 */ GIR_RootConstrainSelectedInstOperands,
31733 /* 89694 */ // GIR_Coverage, 14068,
31734 /* 89694 */ GIR_EraseRootFromParent_Done,
31735 /* 89695 */ // Label 2498: @89695
31736 /* 89695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2499*/ GIMT_Encode4(89770), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14070 //
31737 /* 89702 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
31738 /* 89707 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31739 /* 89710 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31740 /* 89713 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31741 /* 89716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31742 /* 89720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31743 /* 89724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31744 /* 89728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31745 /* 89732 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31746 /* 89735 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31747 /* 89739 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31748 /* 89743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31749 /* 89745 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31750 /* 89752 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14889:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31751 /* 89752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rm),
31752 /* 89755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31753 /* 89757 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31754 /* 89759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31755 /* 89763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31756 /* 89768 */ GIR_RootConstrainSelectedInstOperands,
31757 /* 89769 */ // GIR_Coverage, 14070,
31758 /* 89769 */ GIR_EraseRootFromParent_Done,
31759 /* 89770 */ // Label 2499: @89770
31760 /* 89770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2500*/ GIMT_Encode4(89845), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14072 //
31761 /* 89777 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
31762 /* 89782 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31763 /* 89785 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31764 /* 89788 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31765 /* 89791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31766 /* 89795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31767 /* 89799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31768 /* 89803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31769 /* 89807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31770 /* 89810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31771 /* 89814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31772 /* 89818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31773 /* 89820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31774 /* 89827 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14890:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31775 /* 89827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rm),
31776 /* 89830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31777 /* 89832 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31778 /* 89834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31779 /* 89838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31780 /* 89843 */ GIR_RootConstrainSelectedInstOperands,
31781 /* 89844 */ // GIR_Coverage, 14072,
31782 /* 89844 */ GIR_EraseRootFromParent_Done,
31783 /* 89845 */ // Label 2500: @89845
31784 /* 89845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2501*/ GIMT_Encode4(89920), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14074 //
31785 /* 89852 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
31786 /* 89857 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
31787 /* 89860 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
31788 /* 89863 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
31789 /* 89866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31790 /* 89870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31791 /* 89874 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31792 /* 89878 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31793 /* 89882 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31794 /* 89885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31795 /* 89889 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31796 /* 89893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31797 /* 89895 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31798 /* 89902 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14891:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31799 /* 89902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrm),
31800 /* 89905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31801 /* 89907 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31802 /* 89909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31803 /* 89913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31804 /* 89918 */ GIR_RootConstrainSelectedInstOperands,
31805 /* 89919 */ // GIR_Coverage, 14074,
31806 /* 89919 */ GIR_EraseRootFromParent_Done,
31807 /* 89920 */ // Label 2501: @89920
31808 /* 89920 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2502*/ GIMT_Encode4(89995), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14076 //
31809 /* 89927 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
31810 /* 89932 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31811 /* 89935 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31812 /* 89938 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31813 /* 89941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31814 /* 89945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31815 /* 89949 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31816 /* 89953 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31817 /* 89957 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31818 /* 89960 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31819 /* 89964 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31820 /* 89968 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31821 /* 89970 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31822 /* 89977 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14880:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31823 /* 89977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rm),
31824 /* 89980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31825 /* 89982 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31826 /* 89984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31827 /* 89988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31828 /* 89993 */ GIR_RootConstrainSelectedInstOperands,
31829 /* 89994 */ // GIR_Coverage, 14076,
31830 /* 89994 */ GIR_EraseRootFromParent_Done,
31831 /* 89995 */ // Label 2502: @89995
31832 /* 89995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2503*/ GIMT_Encode4(90070), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14078 //
31833 /* 90002 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
31834 /* 90007 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31835 /* 90010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31836 /* 90013 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31837 /* 90016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31838 /* 90020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31839 /* 90024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31840 /* 90028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31841 /* 90032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31842 /* 90035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31843 /* 90039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31844 /* 90043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31845 /* 90045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31846 /* 90052 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14881:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31847 /* 90052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rm),
31848 /* 90055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31849 /* 90057 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31850 /* 90059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31851 /* 90063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31852 /* 90068 */ GIR_RootConstrainSelectedInstOperands,
31853 /* 90069 */ // GIR_Coverage, 14078,
31854 /* 90069 */ GIR_EraseRootFromParent_Done,
31855 /* 90070 */ // Label 2503: @90070
31856 /* 90070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2504*/ GIMT_Encode4(90145), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14080 //
31857 /* 90077 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
31858 /* 90082 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
31859 /* 90085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
31860 /* 90088 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
31861 /* 90091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31862 /* 90095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31863 /* 90099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31864 /* 90103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31865 /* 90107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31866 /* 90110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31867 /* 90114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31868 /* 90118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31869 /* 90120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31870 /* 90127 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14882:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31871 /* 90127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrm),
31872 /* 90130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31873 /* 90132 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31874 /* 90134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31875 /* 90138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31876 /* 90143 */ GIR_RootConstrainSelectedInstOperands,
31877 /* 90144 */ // GIR_Coverage, 14080,
31878 /* 90144 */ GIR_EraseRootFromParent_Done,
31879 /* 90145 */ // Label 2504: @90145
31880 /* 90145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2505*/ GIMT_Encode4(90220), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14082 //
31881 /* 90152 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
31882 /* 90157 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31883 /* 90160 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31884 /* 90163 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31885 /* 90166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31886 /* 90170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31887 /* 90174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31888 /* 90178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31889 /* 90182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31890 /* 90185 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31891 /* 90189 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31892 /* 90193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31893 /* 90195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31894 /* 90202 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14883:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31895 /* 90202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rm),
31896 /* 90205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31897 /* 90207 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31898 /* 90209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31899 /* 90213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31900 /* 90218 */ GIR_RootConstrainSelectedInstOperands,
31901 /* 90219 */ // GIR_Coverage, 14082,
31902 /* 90219 */ GIR_EraseRootFromParent_Done,
31903 /* 90220 */ // Label 2505: @90220
31904 /* 90220 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2506*/ GIMT_Encode4(90295), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14084 //
31905 /* 90227 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
31906 /* 90232 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31907 /* 90235 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31908 /* 90238 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31909 /* 90241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31910 /* 90245 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31911 /* 90249 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31912 /* 90253 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31913 /* 90257 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31914 /* 90260 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31915 /* 90264 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31916 /* 90268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31917 /* 90270 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31918 /* 90277 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14884:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31919 /* 90277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rm),
31920 /* 90280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31921 /* 90282 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31922 /* 90284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31923 /* 90288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31924 /* 90293 */ GIR_RootConstrainSelectedInstOperands,
31925 /* 90294 */ // GIR_Coverage, 14084,
31926 /* 90294 */ GIR_EraseRootFromParent_Done,
31927 /* 90295 */ // Label 2506: @90295
31928 /* 90295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2507*/ GIMT_Encode4(90370), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14086 //
31929 /* 90302 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
31930 /* 90307 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
31931 /* 90310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
31932 /* 90313 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
31933 /* 90316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31934 /* 90320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31935 /* 90324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31936 /* 90328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31937 /* 90332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31938 /* 90335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31939 /* 90339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31940 /* 90343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31941 /* 90345 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31942 /* 90352 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14885:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31943 /* 90352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrm),
31944 /* 90355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31945 /* 90357 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31946 /* 90359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31947 /* 90363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31948 /* 90368 */ GIR_RootConstrainSelectedInstOperands,
31949 /* 90369 */ // GIR_Coverage, 14086,
31950 /* 90369 */ GIR_EraseRootFromParent_Done,
31951 /* 90370 */ // Label 2507: @90370
31952 /* 90370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2508*/ GIMT_Encode4(90445), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16851 //
31953 /* 90377 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
31954 /* 90382 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
31955 /* 90385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
31956 /* 90388 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
31957 /* 90391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31958 /* 90395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31959 /* 90399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31960 /* 90403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31961 /* 90407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31962 /* 90410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31963 /* 90414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31964 /* 90418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31965 /* 90420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31966 /* 90427 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16470:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31967 /* 90427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrm),
31968 /* 90430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31969 /* 90432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31970 /* 90434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31971 /* 90438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31972 /* 90443 */ GIR_RootConstrainSelectedInstOperands,
31973 /* 90444 */ // GIR_Coverage, 16851,
31974 /* 90444 */ GIR_EraseRootFromParent_Done,
31975 /* 90445 */ // Label 2508: @90445
31976 /* 90445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2509*/ GIMT_Encode4(90520), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16857 //
31977 /* 90452 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
31978 /* 90457 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
31979 /* 90460 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
31980 /* 90463 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
31981 /* 90466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31982 /* 90470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31983 /* 90474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31984 /* 90478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31985 /* 90482 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31986 /* 90485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31987 /* 90489 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31988 /* 90493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31989 /* 90495 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31990 /* 90502 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16473:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31991 /* 90502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrm),
31992 /* 90505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31993 /* 90507 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31994 /* 90509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31995 /* 90513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31996 /* 90518 */ GIR_RootConstrainSelectedInstOperands,
31997 /* 90519 */ // GIR_Coverage, 16857,
31998 /* 90519 */ GIR_EraseRootFromParent_Done,
31999 /* 90520 */ // Label 2509: @90520
32000 /* 90520 */ GIM_Try, /*On fail goto*//*Label 2510*/ GIMT_Encode4(90584),
32001 /* 90525 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
32002 /* 90530 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32003 /* 90533 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32004 /* 90536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32005 /* 90540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32006 /* 90544 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
32007 /* 90547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2511*/ GIMT_Encode4(90565), GIMT_Encode2(GIFBS_HasAES_HasAVX), // Rule ID 3355 //
32008 /* 90554 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14893:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
32009 /* 90554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrri),
32010 /* 90557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32011 /* 90559 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32012 /* 90561 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32013 /* 90563 */ GIR_RootConstrainSelectedInstOperands,
32014 /* 90564 */ // GIR_Coverage, 3355,
32015 /* 90564 */ GIR_EraseRootFromParent_Done,
32016 /* 90565 */ // Label 2511: @90565
32017 /* 90565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2512*/ GIMT_Encode4(90583), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3357 //
32018 /* 90572 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14893:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (AESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
32019 /* 90572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESKEYGENASSISTrri),
32020 /* 90575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32021 /* 90577 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32022 /* 90579 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32023 /* 90581 */ GIR_RootConstrainSelectedInstOperands,
32024 /* 90582 */ // GIR_Coverage, 3357,
32025 /* 90582 */ GIR_EraseRootFromParent_Done,
32026 /* 90583 */ // Label 2512: @90583
32027 /* 90583 */ GIM_Reject,
32028 /* 90584 */ // Label 2510: @90584
32029 /* 90584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2513*/ GIMT_Encode4(90628), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16846 //
32030 /* 90591 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32031 /* 90596 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32032 /* 90599 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32033 /* 90602 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32034 /* 90605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32035 /* 90609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32036 /* 90613 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32037 /* 90617 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16468:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4KEY4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32038 /* 90617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rr),
32039 /* 90620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32040 /* 90622 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32041 /* 90624 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32042 /* 90626 */ GIR_RootConstrainSelectedInstOperands,
32043 /* 90627 */ // GIR_Coverage, 16846,
32044 /* 90627 */ GIR_EraseRootFromParent_Done,
32045 /* 90628 */ // Label 2513: @90628
32046 /* 90628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2514*/ GIMT_Encode4(90672), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16848 //
32047 /* 90635 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32048 /* 90640 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32049 /* 90643 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32050 /* 90646 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32051 /* 90649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32052 /* 90653 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32053 /* 90657 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32054 /* 90661 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16469:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4KEY4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32055 /* 90661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rr),
32056 /* 90664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32057 /* 90666 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32058 /* 90668 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32059 /* 90670 */ GIR_RootConstrainSelectedInstOperands,
32060 /* 90671 */ // GIR_Coverage, 16848,
32061 /* 90671 */ GIR_EraseRootFromParent_Done,
32062 /* 90672 */ // Label 2514: @90672
32063 /* 90672 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2515*/ GIMT_Encode4(90716), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16852 //
32064 /* 90679 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32065 /* 90684 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32066 /* 90687 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32067 /* 90690 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32068 /* 90693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32069 /* 90697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32070 /* 90701 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32071 /* 90705 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16471:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4RNDS4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32072 /* 90705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rr),
32073 /* 90708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32074 /* 90710 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32075 /* 90712 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32076 /* 90714 */ GIR_RootConstrainSelectedInstOperands,
32077 /* 90715 */ // GIR_Coverage, 16852,
32078 /* 90715 */ GIR_EraseRootFromParent_Done,
32079 /* 90716 */ // Label 2515: @90716
32080 /* 90716 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2516*/ GIMT_Encode4(90760), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16854 //
32081 /* 90723 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32082 /* 90728 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32083 /* 90731 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32084 /* 90734 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32085 /* 90737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32086 /* 90741 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32087 /* 90745 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32088 /* 90749 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16472:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4RNDS4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32089 /* 90749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rr),
32090 /* 90752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32091 /* 90754 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32092 /* 90756 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32093 /* 90758 */ GIR_RootConstrainSelectedInstOperands,
32094 /* 90759 */ // GIR_Coverage, 16854,
32095 /* 90759 */ GIR_EraseRootFromParent_Done,
32096 /* 90760 */ // Label 2516: @90760
32097 /* 90760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2517*/ GIMT_Encode4(90804), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3008 //
32098 /* 90767 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32099 /* 90772 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32100 /* 90775 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32101 /* 90778 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32102 /* 90781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32103 /* 90785 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32104 /* 90789 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32105 /* 90793 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16365:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32106 /* 90793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrr),
32107 /* 90796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32108 /* 90798 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32109 /* 90800 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32110 /* 90802 */ GIR_RootConstrainSelectedInstOperands,
32111 /* 90803 */ // GIR_Coverage, 3008,
32112 /* 90803 */ GIR_EraseRootFromParent_Done,
32113 /* 90804 */ // Label 2517: @90804
32114 /* 90804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2518*/ GIMT_Encode4(90848), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3010 //
32115 /* 90811 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32116 /* 90816 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32117 /* 90819 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32118 /* 90822 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32119 /* 90825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32120 /* 90829 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32121 /* 90833 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32122 /* 90837 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16369:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32123 /* 90837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrr),
32124 /* 90840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32125 /* 90842 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32126 /* 90844 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32127 /* 90846 */ GIR_RootConstrainSelectedInstOperands,
32128 /* 90847 */ // GIR_Coverage, 3010,
32129 /* 90847 */ GIR_EraseRootFromParent_Done,
32130 /* 90848 */ // Label 2518: @90848
32131 /* 90848 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2519*/ GIMT_Encode4(90892), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3012 //
32132 /* 90855 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32133 /* 90860 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32134 /* 90863 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32135 /* 90866 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32136 /* 90869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32137 /* 90873 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32138 /* 90877 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32139 /* 90881 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16367:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32140 /* 90881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrr),
32141 /* 90884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32142 /* 90886 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32143 /* 90888 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32144 /* 90890 */ GIR_RootConstrainSelectedInstOperands,
32145 /* 90891 */ // GIR_Coverage, 3012,
32146 /* 90891 */ GIR_EraseRootFromParent_Done,
32147 /* 90892 */ // Label 2519: @90892
32148 /* 90892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2520*/ GIMT_Encode4(90936), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3032 //
32149 /* 90899 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
32150 /* 90904 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
32151 /* 90907 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
32152 /* 90910 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
32153 /* 90913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32154 /* 90917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32155 /* 90921 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32156 /* 90925 */ // (intrinsic_wo_chain:{ *:[v32i8] } 15256:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSIGNBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
32157 /* 90925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrr),
32158 /* 90928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32159 /* 90930 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32160 /* 90932 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32161 /* 90934 */ GIR_RootConstrainSelectedInstOperands,
32162 /* 90935 */ // GIR_Coverage, 3032,
32163 /* 90935 */ GIR_EraseRootFromParent_Done,
32164 /* 90936 */ // Label 2520: @90936
32165 /* 90936 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2521*/ GIMT_Encode4(90980), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3034 //
32166 /* 90943 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
32167 /* 90948 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
32168 /* 90951 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
32169 /* 90954 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
32170 /* 90957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32171 /* 90961 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32172 /* 90965 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32173 /* 90969 */ // (intrinsic_wo_chain:{ *:[v16i16] } 15258:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSIGNWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
32174 /* 90969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrr),
32175 /* 90972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32176 /* 90974 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32177 /* 90976 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32178 /* 90978 */ GIR_RootConstrainSelectedInstOperands,
32179 /* 90979 */ // GIR_Coverage, 3034,
32180 /* 90979 */ GIR_EraseRootFromParent_Done,
32181 /* 90980 */ // Label 2521: @90980
32182 /* 90980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2522*/ GIMT_Encode4(91024), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3036 //
32183 /* 90987 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
32184 /* 90992 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32185 /* 90995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32186 /* 90998 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32187 /* 91001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32188 /* 91005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32189 /* 91009 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32190 /* 91013 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15257:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSIGNDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
32191 /* 91013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrr),
32192 /* 91016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32193 /* 91018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32194 /* 91020 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32195 /* 91022 */ GIR_RootConstrainSelectedInstOperands,
32196 /* 91023 */ // GIR_Coverage, 3036,
32197 /* 91023 */ GIR_EraseRootFromParent_Done,
32198 /* 91024 */ // Label 2522: @91024
32199 /* 91024 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2523*/ GIMT_Encode4(91068), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 3050 //
32200 /* 91031 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32201 /* 91036 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32202 /* 91039 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32203 /* 91042 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32204 /* 91045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32205 /* 91049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32206 /* 91053 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32207 /* 91057 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16365:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32208 /* 91057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNBrr),
32209 /* 91060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32210 /* 91062 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32211 /* 91064 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32212 /* 91066 */ GIR_RootConstrainSelectedInstOperands,
32213 /* 91067 */ // GIR_Coverage, 3050,
32214 /* 91067 */ GIR_EraseRootFromParent_Done,
32215 /* 91068 */ // Label 2523: @91068
32216 /* 91068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2524*/ GIMT_Encode4(91112), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 3052 //
32217 /* 91075 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32218 /* 91080 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32219 /* 91083 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32220 /* 91086 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32221 /* 91089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32222 /* 91093 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32223 /* 91097 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32224 /* 91101 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16369:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32225 /* 91101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNWrr),
32226 /* 91104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32227 /* 91106 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32228 /* 91108 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32229 /* 91110 */ GIR_RootConstrainSelectedInstOperands,
32230 /* 91111 */ // GIR_Coverage, 3052,
32231 /* 91111 */ GIR_EraseRootFromParent_Done,
32232 /* 91112 */ // Label 2524: @91112
32233 /* 91112 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2525*/ GIMT_Encode4(91156), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 3054 //
32234 /* 91119 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32235 /* 91124 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32236 /* 91127 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32237 /* 91130 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32238 /* 91133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32239 /* 91137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32240 /* 91141 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32241 /* 91145 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16367:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32242 /* 91145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNDrr),
32243 /* 91148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32244 /* 91150 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32245 /* 91152 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32246 /* 91154 */ GIR_RootConstrainSelectedInstOperands,
32247 /* 91155 */ // GIR_Coverage, 3054,
32248 /* 91155 */ GIR_EraseRootFromParent_Done,
32249 /* 91156 */ // Label 2525: @91156
32250 /* 91156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2526*/ GIMT_Encode4(91200), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3297 //
32251 /* 91163 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32252 /* 91168 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32253 /* 91171 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32254 /* 91174 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32255 /* 91177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32256 /* 91181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32257 /* 91185 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
32258 /* 91189 */ // (intrinsic_wo_chain:{ *:[i32] } 16323:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
32259 /* 91189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8),
32260 /* 91192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32261 /* 91194 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32262 /* 91196 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32263 /* 91198 */ GIR_RootConstrainSelectedInstOperands,
32264 /* 91199 */ // GIR_Coverage, 3297,
32265 /* 91199 */ GIR_EraseRootFromParent_Done,
32266 /* 91200 */ // Label 2526: @91200
32267 /* 91200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2527*/ GIMT_Encode4(91244), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3299 //
32268 /* 91207 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32269 /* 91212 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32270 /* 91215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32271 /* 91218 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32272 /* 91221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32273 /* 91225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32274 /* 91229 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
32275 /* 91233 */ // (intrinsic_wo_chain:{ *:[i32] } 16321:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
32276 /* 91233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16),
32277 /* 91236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32278 /* 91238 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32279 /* 91240 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32280 /* 91242 */ GIR_RootConstrainSelectedInstOperands,
32281 /* 91243 */ // GIR_Coverage, 3299,
32282 /* 91243 */ GIR_EraseRootFromParent_Done,
32283 /* 91244 */ // Label 2527: @91244
32284 /* 91244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2528*/ GIMT_Encode4(91288), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3301 //
32285 /* 91251 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32286 /* 91256 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32287 /* 91259 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32288 /* 91262 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32289 /* 91265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32290 /* 91269 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32291 /* 91273 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32292 /* 91277 */ // (intrinsic_wo_chain:{ *:[i32] } 16322:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
32293 /* 91277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32),
32294 /* 91280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32295 /* 91282 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32296 /* 91284 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32297 /* 91286 */ GIR_RootConstrainSelectedInstOperands,
32298 /* 91287 */ // GIR_Coverage, 3301,
32299 /* 91287 */ GIR_EraseRootFromParent_Done,
32300 /* 91288 */ // Label 2528: @91288
32301 /* 91288 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2529*/ GIMT_Encode4(91332), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3303 //
32302 /* 91295 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32303 /* 91300 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32304 /* 91303 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32305 /* 91306 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32306 /* 91309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32307 /* 91313 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32308 /* 91317 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32309 /* 91321 */ // (intrinsic_wo_chain:{ *:[i64] } 16324:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
32310 /* 91321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64),
32311 /* 91324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32312 /* 91326 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32313 /* 91328 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32314 /* 91330 */ GIR_RootConstrainSelectedInstOperands,
32315 /* 91331 */ // GIR_Coverage, 3303,
32316 /* 91331 */ GIR_EraseRootFromParent_Done,
32317 /* 91332 */ // Label 2529: @91332
32318 /* 91332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2530*/ GIMT_Encode4(91376), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3305 //
32319 /* 91339 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32320 /* 91344 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32321 /* 91347 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32322 /* 91350 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32323 /* 91353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32324 /* 91357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32325 /* 91361 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
32326 /* 91365 */ // (intrinsic_wo_chain:{ *:[i32] } 16323:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
32327 /* 91365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8_EVEX),
32328 /* 91368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32329 /* 91370 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32330 /* 91372 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32331 /* 91374 */ GIR_RootConstrainSelectedInstOperands,
32332 /* 91375 */ // GIR_Coverage, 3305,
32333 /* 91375 */ GIR_EraseRootFromParent_Done,
32334 /* 91376 */ // Label 2530: @91376
32335 /* 91376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2531*/ GIMT_Encode4(91420), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3307 //
32336 /* 91383 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32337 /* 91388 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32338 /* 91391 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32339 /* 91394 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32340 /* 91397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32341 /* 91401 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32342 /* 91405 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
32343 /* 91409 */ // (intrinsic_wo_chain:{ *:[i32] } 16321:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
32344 /* 91409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16_EVEX),
32345 /* 91412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32346 /* 91414 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32347 /* 91416 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32348 /* 91418 */ GIR_RootConstrainSelectedInstOperands,
32349 /* 91419 */ // GIR_Coverage, 3307,
32350 /* 91419 */ GIR_EraseRootFromParent_Done,
32351 /* 91420 */ // Label 2531: @91420
32352 /* 91420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2532*/ GIMT_Encode4(91464), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3309 //
32353 /* 91427 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32354 /* 91432 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32355 /* 91435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32356 /* 91438 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32357 /* 91441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32358 /* 91445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32359 /* 91449 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32360 /* 91453 */ // (intrinsic_wo_chain:{ *:[i32] } 16322:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
32361 /* 91453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32_EVEX),
32362 /* 91456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32363 /* 91458 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32364 /* 91460 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32365 /* 91462 */ GIR_RootConstrainSelectedInstOperands,
32366 /* 91463 */ // GIR_Coverage, 3309,
32367 /* 91463 */ GIR_EraseRootFromParent_Done,
32368 /* 91464 */ // Label 2532: @91464
32369 /* 91464 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2533*/ GIMT_Encode4(91508), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3311 //
32370 /* 91471 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32371 /* 91476 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32372 /* 91479 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32373 /* 91482 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32374 /* 91485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32375 /* 91489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32376 /* 91493 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32377 /* 91497 */ // (intrinsic_wo_chain:{ *:[i64] } 16324:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
32378 /* 91497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64_EVEX),
32379 /* 91500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32380 /* 91502 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32381 /* 91504 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32382 /* 91506 */ GIR_RootConstrainSelectedInstOperands,
32383 /* 91507 */ // GIR_Coverage, 3311,
32384 /* 91507 */ GIR_EraseRootFromParent_Done,
32385 /* 91508 */ // Label 2533: @91508
32386 /* 91508 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2534*/ GIMT_Encode4(91552), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3315 //
32387 /* 91515 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1nexte),
32388 /* 91520 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32389 /* 91523 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32390 /* 91526 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32391 /* 91529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32392 /* 91533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32393 /* 91537 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32394 /* 91541 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16193:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1NEXTErr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32395 /* 91541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1NEXTErr),
32396 /* 91544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32397 /* 91546 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32398 /* 91548 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32399 /* 91550 */ GIR_RootConstrainSelectedInstOperands,
32400 /* 91551 */ // GIR_Coverage, 3315,
32401 /* 91551 */ GIR_EraseRootFromParent_Done,
32402 /* 91552 */ // Label 2534: @91552
32403 /* 91552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2535*/ GIMT_Encode4(91596), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3317 //
32404 /* 91559 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg1),
32405 /* 91564 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32406 /* 91567 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32407 /* 91570 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32408 /* 91573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32409 /* 91577 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32410 /* 91581 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32411 /* 91585 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16191:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32412 /* 91585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG1rr),
32413 /* 91588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32414 /* 91590 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32415 /* 91592 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32416 /* 91594 */ GIR_RootConstrainSelectedInstOperands,
32417 /* 91595 */ // GIR_Coverage, 3317,
32418 /* 91595 */ GIR_EraseRootFromParent_Done,
32419 /* 91596 */ // Label 2535: @91596
32420 /* 91596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2536*/ GIMT_Encode4(91640), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3319 //
32421 /* 91603 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg2),
32422 /* 91608 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32423 /* 91611 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32424 /* 91614 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32425 /* 91617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32426 /* 91621 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32427 /* 91625 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32428 /* 91629 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16192:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32429 /* 91629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG2rr),
32430 /* 91632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32431 /* 91634 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32432 /* 91636 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32433 /* 91638 */ GIR_RootConstrainSelectedInstOperands,
32434 /* 91639 */ // GIR_Coverage, 3319,
32435 /* 91639 */ GIR_EraseRootFromParent_Done,
32436 /* 91640 */ // Label 2536: @91640
32437 /* 91640 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2537*/ GIMT_Encode4(91684), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3323 //
32438 /* 91647 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg1),
32439 /* 91652 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32440 /* 91655 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32441 /* 91658 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32442 /* 91661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32443 /* 91665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32444 /* 91669 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32445 /* 91673 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16195:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32446 /* 91673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG1rr),
32447 /* 91676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32448 /* 91678 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32449 /* 91680 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32450 /* 91682 */ GIR_RootConstrainSelectedInstOperands,
32451 /* 91683 */ // GIR_Coverage, 3323,
32452 /* 91683 */ GIR_EraseRootFromParent_Done,
32453 /* 91684 */ // Label 2537: @91684
32454 /* 91684 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2538*/ GIMT_Encode4(91728), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3325 //
32455 /* 91691 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg2),
32456 /* 91696 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32457 /* 91699 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32458 /* 91702 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32459 /* 91705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32460 /* 91709 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32461 /* 91713 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32462 /* 91717 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16196:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32463 /* 91717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG2rr),
32464 /* 91720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32465 /* 91722 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32466 /* 91724 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32467 /* 91726 */ GIR_RootConstrainSelectedInstOperands,
32468 /* 91727 */ // GIR_Coverage, 3325,
32469 /* 91727 */ GIR_EraseRootFromParent_Done,
32470 /* 91728 */ // Label 2538: @91728
32471 /* 91728 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2539*/ GIMT_Encode4(91772), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3327 //
32472 /* 91735 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32473 /* 91740 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32474 /* 91743 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32475 /* 91746 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32476 /* 91749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32477 /* 91753 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32478 /* 91757 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32479 /* 91761 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14886:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32480 /* 91761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrr),
32481 /* 91764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32482 /* 91766 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32483 /* 91768 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32484 /* 91770 */ GIR_RootConstrainSelectedInstOperands,
32485 /* 91771 */ // GIR_Coverage, 3327,
32486 /* 91771 */ GIR_EraseRootFromParent_Done,
32487 /* 91772 */ // Label 2539: @91772
32488 /* 91772 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2540*/ GIMT_Encode4(91816), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3329 //
32489 /* 91779 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32490 /* 91784 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32491 /* 91787 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32492 /* 91790 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32493 /* 91793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32494 /* 91797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32495 /* 91801 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32496 /* 91805 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14889:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32497 /* 91805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrr),
32498 /* 91808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32499 /* 91810 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32500 /* 91812 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32501 /* 91814 */ GIR_RootConstrainSelectedInstOperands,
32502 /* 91815 */ // GIR_Coverage, 3329,
32503 /* 91815 */ GIR_EraseRootFromParent_Done,
32504 /* 91816 */ // Label 2540: @91816
32505 /* 91816 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2541*/ GIMT_Encode4(91860), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3331 //
32506 /* 91823 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32507 /* 91828 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32508 /* 91831 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32509 /* 91834 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32510 /* 91837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32511 /* 91841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32512 /* 91845 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32513 /* 91849 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14880:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32514 /* 91849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrr),
32515 /* 91852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32516 /* 91854 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32517 /* 91856 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32518 /* 91858 */ GIR_RootConstrainSelectedInstOperands,
32519 /* 91859 */ // GIR_Coverage, 3331,
32520 /* 91859 */ GIR_EraseRootFromParent_Done,
32521 /* 91860 */ // Label 2541: @91860
32522 /* 91860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2542*/ GIMT_Encode4(91904), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3333 //
32523 /* 91867 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32524 /* 91872 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32525 /* 91875 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32526 /* 91878 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32527 /* 91881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32528 /* 91885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32529 /* 91889 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32530 /* 91893 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14883:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32531 /* 91893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrr),
32532 /* 91896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32533 /* 91898 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32534 /* 91900 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32535 /* 91902 */ GIR_RootConstrainSelectedInstOperands,
32536 /* 91903 */ // GIR_Coverage, 3333,
32537 /* 91903 */ GIR_EraseRootFromParent_Done,
32538 /* 91904 */ // Label 2542: @91904
32539 /* 91904 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2543*/ GIMT_Encode4(91948), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3335 //
32540 /* 91911 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32541 /* 91916 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32542 /* 91919 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32543 /* 91922 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32544 /* 91925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32545 /* 91929 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32546 /* 91933 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32547 /* 91937 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14887:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32548 /* 91937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrr),
32549 /* 91940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32550 /* 91942 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32551 /* 91944 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32552 /* 91946 */ GIR_RootConstrainSelectedInstOperands,
32553 /* 91947 */ // GIR_Coverage, 3335,
32554 /* 91947 */ GIR_EraseRootFromParent_Done,
32555 /* 91948 */ // Label 2543: @91948
32556 /* 91948 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2544*/ GIMT_Encode4(91992), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3337 //
32557 /* 91955 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
32558 /* 91960 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32559 /* 91963 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32560 /* 91966 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32561 /* 91969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32562 /* 91973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32563 /* 91977 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32564 /* 91981 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14890:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32565 /* 91981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrr),
32566 /* 91984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32567 /* 91986 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32568 /* 91988 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32569 /* 91990 */ GIR_RootConstrainSelectedInstOperands,
32570 /* 91991 */ // GIR_Coverage, 3337,
32571 /* 91991 */ GIR_EraseRootFromParent_Done,
32572 /* 91992 */ // Label 2544: @91992
32573 /* 91992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2545*/ GIMT_Encode4(92036), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3339 //
32574 /* 91999 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32575 /* 92004 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32576 /* 92007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32577 /* 92010 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32578 /* 92013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32579 /* 92017 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32580 /* 92021 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32581 /* 92025 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14881:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32582 /* 92025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrr),
32583 /* 92028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32584 /* 92030 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32585 /* 92032 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32586 /* 92034 */ GIR_RootConstrainSelectedInstOperands,
32587 /* 92035 */ // GIR_Coverage, 3339,
32588 /* 92035 */ GIR_EraseRootFromParent_Done,
32589 /* 92036 */ // Label 2545: @92036
32590 /* 92036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2546*/ GIMT_Encode4(92080), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3341 //
32591 /* 92043 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32592 /* 92048 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32593 /* 92051 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32594 /* 92054 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32595 /* 92057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32596 /* 92061 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32597 /* 92065 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32598 /* 92069 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14884:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32599 /* 92069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrr),
32600 /* 92072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32601 /* 92074 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32602 /* 92076 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32603 /* 92078 */ GIR_RootConstrainSelectedInstOperands,
32604 /* 92079 */ // GIR_Coverage, 3341,
32605 /* 92079 */ GIR_EraseRootFromParent_Done,
32606 /* 92080 */ // Label 2546: @92080
32607 /* 92080 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2547*/ GIMT_Encode4(92124), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3343 //
32608 /* 92087 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32609 /* 92092 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32610 /* 92095 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32611 /* 92098 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32612 /* 92101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32613 /* 92105 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32614 /* 92109 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32615 /* 92113 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14886:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32616 /* 92113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCrr),
32617 /* 92116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32618 /* 92118 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32619 /* 92120 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32620 /* 92122 */ GIR_RootConstrainSelectedInstOperands,
32621 /* 92123 */ // GIR_Coverage, 3343,
32622 /* 92123 */ GIR_EraseRootFromParent_Done,
32623 /* 92124 */ // Label 2547: @92124
32624 /* 92124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2548*/ GIMT_Encode4(92168), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3345 //
32625 /* 92131 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32626 /* 92136 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32627 /* 92139 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32628 /* 92142 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32629 /* 92145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32630 /* 92149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32631 /* 92153 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32632 /* 92157 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14889:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32633 /* 92157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCLASTrr),
32634 /* 92160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32635 /* 92162 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32636 /* 92164 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32637 /* 92166 */ GIR_RootConstrainSelectedInstOperands,
32638 /* 92167 */ // GIR_Coverage, 3345,
32639 /* 92167 */ GIR_EraseRootFromParent_Done,
32640 /* 92168 */ // Label 2548: @92168
32641 /* 92168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2549*/ GIMT_Encode4(92212), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3347 //
32642 /* 92175 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32643 /* 92180 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32644 /* 92183 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32645 /* 92186 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32646 /* 92189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32647 /* 92193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32648 /* 92197 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32649 /* 92201 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14880:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32650 /* 92201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECrr),
32651 /* 92204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32652 /* 92206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32653 /* 92208 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32654 /* 92210 */ GIR_RootConstrainSelectedInstOperands,
32655 /* 92211 */ // GIR_Coverage, 3347,
32656 /* 92211 */ GIR_EraseRootFromParent_Done,
32657 /* 92212 */ // Label 2549: @92212
32658 /* 92212 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2550*/ GIMT_Encode4(92256), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3349 //
32659 /* 92219 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32660 /* 92224 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32661 /* 92227 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32662 /* 92230 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32663 /* 92233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32664 /* 92237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32665 /* 92241 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32666 /* 92245 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14883:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32667 /* 92245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECLASTrr),
32668 /* 92248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32669 /* 92250 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32670 /* 92252 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32671 /* 92254 */ GIR_RootConstrainSelectedInstOperands,
32672 /* 92255 */ // GIR_Coverage, 3349,
32673 /* 92255 */ GIR_EraseRootFromParent_Done,
32674 /* 92256 */ // Label 2550: @92256
32675 /* 92256 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2551*/ GIMT_Encode4(92300), GIMT_Encode2(GIFBS_HasSSE4A), // Rule ID 3366 //
32676 /* 92263 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_extrq),
32677 /* 92268 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32678 /* 92271 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32679 /* 92274 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32680 /* 92277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32681 /* 92281 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32682 /* 92285 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32683 /* 92289 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16339:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask) => (EXTRQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask)
32684 /* 92289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::EXTRQ),
32685 /* 92292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32686 /* 92294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32687 /* 92296 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
32688 /* 92298 */ GIR_RootConstrainSelectedInstOperands,
32689 /* 92299 */ // GIR_Coverage, 3366,
32690 /* 92299 */ GIR_EraseRootFromParent_Done,
32691 /* 92300 */ // Label 2551: @92300
32692 /* 92300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2552*/ GIMT_Encode4(92344), GIMT_Encode2(GIFBS_HasSSE4A), // Rule ID 3368 //
32693 /* 92307 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_insertq),
32694 /* 92312 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32695 /* 92315 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32696 /* 92318 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32697 /* 92321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32698 /* 92325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32699 /* 92329 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32700 /* 92333 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16341:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask) => (INSERTQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask)
32701 /* 92333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INSERTQ),
32702 /* 92336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32703 /* 92338 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32704 /* 92340 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
32705 /* 92342 */ GIR_RootConstrainSelectedInstOperands,
32706 /* 92343 */ // GIR_Coverage, 3368,
32707 /* 92343 */ GIR_EraseRootFromParent_Done,
32708 /* 92344 */ // Label 2552: @92344
32709 /* 92344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2553*/ GIMT_Encode4(92388), GIMT_Encode2(GIFBS_HasSHA512), // Rule ID 3543 //
32710 /* 92351 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg1),
32711 /* 92356 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32712 /* 92359 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32713 /* 92362 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32714 /* 92365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32715 /* 92369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32716 /* 92373 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32717 /* 92377 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16462:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VSHA512MSG1rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32718 /* 92377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG1rr),
32719 /* 92380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32720 /* 92382 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32721 /* 92384 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32722 /* 92386 */ GIR_RootConstrainSelectedInstOperands,
32723 /* 92387 */ // GIR_Coverage, 3543,
32724 /* 92387 */ GIR_EraseRootFromParent_Done,
32725 /* 92388 */ // Label 2553: @92388
32726 /* 92388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2554*/ GIMT_Encode4(92432), GIMT_Encode2(GIFBS_HasSHA512), // Rule ID 3544 //
32727 /* 92395 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg2),
32728 /* 92400 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32729 /* 92403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32730 /* 92406 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32731 /* 92409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32732 /* 92413 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32733 /* 92417 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32734 /* 92421 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16463:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VSHA512MSG2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32735 /* 92421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG2rr),
32736 /* 92424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32737 /* 92426 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32738 /* 92428 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32739 /* 92430 */ GIR_RootConstrainSelectedInstOperands,
32740 /* 92431 */ // GIR_Coverage, 3544,
32741 /* 92431 */ GIR_EraseRootFromParent_Done,
32742 /* 92432 */ // Label 2554: @92432
32743 /* 92432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2555*/ GIMT_Encode4(92476), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3552 //
32744 /* 92439 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32745 /* 92444 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32746 /* 92447 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32747 /* 92450 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32748 /* 92453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32749 /* 92457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32750 /* 92461 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32751 /* 92465 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16468:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4KEY4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32752 /* 92465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rr),
32753 /* 92468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32754 /* 92470 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32755 /* 92472 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32756 /* 92474 */ GIR_RootConstrainSelectedInstOperands,
32757 /* 92475 */ // GIR_Coverage, 3552,
32758 /* 92475 */ GIR_EraseRootFromParent_Done,
32759 /* 92476 */ // Label 2555: @92476
32760 /* 92476 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2556*/ GIMT_Encode4(92520), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3554 //
32761 /* 92483 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32762 /* 92488 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32763 /* 92491 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32764 /* 92494 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32765 /* 92497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32766 /* 92501 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32767 /* 92505 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32768 /* 92509 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16469:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4KEY4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
32769 /* 92509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrr),
32770 /* 92512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32771 /* 92514 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32772 /* 92516 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32773 /* 92518 */ GIR_RootConstrainSelectedInstOperands,
32774 /* 92519 */ // GIR_Coverage, 3554,
32775 /* 92519 */ GIR_EraseRootFromParent_Done,
32776 /* 92520 */ // Label 2556: @92520
32777 /* 92520 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2557*/ GIMT_Encode4(92564), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3556 //
32778 /* 92527 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32779 /* 92532 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32780 /* 92535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32781 /* 92538 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32782 /* 92541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32783 /* 92545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32784 /* 92549 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32785 /* 92553 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16471:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4RNDS4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32786 /* 92553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rr),
32787 /* 92556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32788 /* 92558 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32789 /* 92560 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32790 /* 92562 */ GIR_RootConstrainSelectedInstOperands,
32791 /* 92563 */ // GIR_Coverage, 3556,
32792 /* 92563 */ GIR_EraseRootFromParent_Done,
32793 /* 92564 */ // Label 2557: @92564
32794 /* 92564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2558*/ GIMT_Encode4(92608), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3558 //
32795 /* 92571 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32796 /* 92576 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32797 /* 92579 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32798 /* 92582 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32799 /* 92585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32800 /* 92589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32801 /* 92593 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32802 /* 92597 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16472:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4RNDS4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
32803 /* 92597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrr),
32804 /* 92600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32805 /* 92602 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32806 /* 92604 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32807 /* 92606 */ GIR_RootConstrainSelectedInstOperands,
32808 /* 92607 */ // GIR_Coverage, 3558,
32809 /* 92607 */ GIR_EraseRootFromParent_Done,
32810 /* 92608 */ // Label 2558: @92608
32811 /* 92608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2559*/ GIMT_Encode4(92652), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14063 //
32812 /* 92615 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32813 /* 92620 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32814 /* 92623 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32815 /* 92626 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32816 /* 92629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32817 /* 92633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32818 /* 92637 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32819 /* 92641 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14886:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
32820 /* 92641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rr),
32821 /* 92644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32822 /* 92646 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32823 /* 92648 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32824 /* 92650 */ GIR_RootConstrainSelectedInstOperands,
32825 /* 92651 */ // GIR_Coverage, 14063,
32826 /* 92651 */ GIR_EraseRootFromParent_Done,
32827 /* 92652 */ // Label 2559: @92652
32828 /* 92652 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2560*/ GIMT_Encode4(92696), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14065 //
32829 /* 92659 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32830 /* 92664 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32831 /* 92667 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32832 /* 92670 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32833 /* 92673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32834 /* 92677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32835 /* 92681 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32836 /* 92685 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14887:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
32837 /* 92685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rr),
32838 /* 92688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32839 /* 92690 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32840 /* 92692 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32841 /* 92694 */ GIR_RootConstrainSelectedInstOperands,
32842 /* 92695 */ // GIR_Coverage, 14065,
32843 /* 92695 */ GIR_EraseRootFromParent_Done,
32844 /* 92696 */ // Label 2560: @92696
32845 /* 92696 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2561*/ GIMT_Encode4(92740), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14067 //
32846 /* 92703 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
32847 /* 92708 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32848 /* 92711 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32849 /* 92714 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32850 /* 92717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32851 /* 92721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32852 /* 92725 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32853 /* 92729 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14888:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
32854 /* 92729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrr),
32855 /* 92732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32856 /* 92734 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32857 /* 92736 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32858 /* 92738 */ GIR_RootConstrainSelectedInstOperands,
32859 /* 92739 */ // GIR_Coverage, 14067,
32860 /* 92739 */ GIR_EraseRootFromParent_Done,
32861 /* 92740 */ // Label 2561: @92740
32862 /* 92740 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2562*/ GIMT_Encode4(92784), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14069 //
32863 /* 92747 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32864 /* 92752 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32865 /* 92755 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32866 /* 92758 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32867 /* 92761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32868 /* 92765 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32869 /* 92769 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32870 /* 92773 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14889:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
32871 /* 92773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rr),
32872 /* 92776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32873 /* 92778 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32874 /* 92780 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32875 /* 92782 */ GIR_RootConstrainSelectedInstOperands,
32876 /* 92783 */ // GIR_Coverage, 14069,
32877 /* 92783 */ GIR_EraseRootFromParent_Done,
32878 /* 92784 */ // Label 2562: @92784
32879 /* 92784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2563*/ GIMT_Encode4(92828), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14071 //
32880 /* 92791 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
32881 /* 92796 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32882 /* 92799 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32883 /* 92802 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32884 /* 92805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32885 /* 92809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32886 /* 92813 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32887 /* 92817 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14890:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
32888 /* 92817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rr),
32889 /* 92820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32890 /* 92822 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32891 /* 92824 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32892 /* 92826 */ GIR_RootConstrainSelectedInstOperands,
32893 /* 92827 */ // GIR_Coverage, 14071,
32894 /* 92827 */ GIR_EraseRootFromParent_Done,
32895 /* 92828 */ // Label 2563: @92828
32896 /* 92828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2564*/ GIMT_Encode4(92872), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14073 //
32897 /* 92835 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
32898 /* 92840 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32899 /* 92843 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32900 /* 92846 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32901 /* 92849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32902 /* 92853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32903 /* 92857 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32904 /* 92861 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14891:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
32905 /* 92861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrr),
32906 /* 92864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32907 /* 92866 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32908 /* 92868 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32909 /* 92870 */ GIR_RootConstrainSelectedInstOperands,
32910 /* 92871 */ // GIR_Coverage, 14073,
32911 /* 92871 */ GIR_EraseRootFromParent_Done,
32912 /* 92872 */ // Label 2564: @92872
32913 /* 92872 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2565*/ GIMT_Encode4(92916), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14075 //
32914 /* 92879 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32915 /* 92884 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32916 /* 92887 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32917 /* 92890 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32918 /* 92893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32919 /* 92897 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32920 /* 92901 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32921 /* 92905 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14880:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
32922 /* 92905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rr),
32923 /* 92908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32924 /* 92910 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32925 /* 92912 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32926 /* 92914 */ GIR_RootConstrainSelectedInstOperands,
32927 /* 92915 */ // GIR_Coverage, 14075,
32928 /* 92915 */ GIR_EraseRootFromParent_Done,
32929 /* 92916 */ // Label 2565: @92916
32930 /* 92916 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2566*/ GIMT_Encode4(92960), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14077 //
32931 /* 92923 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32932 /* 92928 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32933 /* 92931 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32934 /* 92934 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32935 /* 92937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32936 /* 92941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32937 /* 92945 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32938 /* 92949 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14881:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
32939 /* 92949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rr),
32940 /* 92952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32941 /* 92954 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32942 /* 92956 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32943 /* 92958 */ GIR_RootConstrainSelectedInstOperands,
32944 /* 92959 */ // GIR_Coverage, 14077,
32945 /* 92959 */ GIR_EraseRootFromParent_Done,
32946 /* 92960 */ // Label 2566: @92960
32947 /* 92960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2567*/ GIMT_Encode4(93004), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14079 //
32948 /* 92967 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
32949 /* 92972 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32950 /* 92975 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32951 /* 92978 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32952 /* 92981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32953 /* 92985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32954 /* 92989 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32955 /* 92993 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14882:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
32956 /* 92993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrr),
32957 /* 92996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32958 /* 92998 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32959 /* 93000 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32960 /* 93002 */ GIR_RootConstrainSelectedInstOperands,
32961 /* 93003 */ // GIR_Coverage, 14079,
32962 /* 93003 */ GIR_EraseRootFromParent_Done,
32963 /* 93004 */ // Label 2567: @93004
32964 /* 93004 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2568*/ GIMT_Encode4(93048), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14081 //
32965 /* 93011 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32966 /* 93016 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32967 /* 93019 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32968 /* 93022 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32969 /* 93025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32970 /* 93029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32971 /* 93033 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32972 /* 93037 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14883:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
32973 /* 93037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rr),
32974 /* 93040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32975 /* 93042 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32976 /* 93044 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32977 /* 93046 */ GIR_RootConstrainSelectedInstOperands,
32978 /* 93047 */ // GIR_Coverage, 14081,
32979 /* 93047 */ GIR_EraseRootFromParent_Done,
32980 /* 93048 */ // Label 2568: @93048
32981 /* 93048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2569*/ GIMT_Encode4(93092), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14083 //
32982 /* 93055 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32983 /* 93060 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32984 /* 93063 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32985 /* 93066 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32986 /* 93069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32987 /* 93073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32988 /* 93077 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32989 /* 93081 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14884:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
32990 /* 93081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rr),
32991 /* 93084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32992 /* 93086 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32993 /* 93088 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32994 /* 93090 */ GIR_RootConstrainSelectedInstOperands,
32995 /* 93091 */ // GIR_Coverage, 14083,
32996 /* 93091 */ GIR_EraseRootFromParent_Done,
32997 /* 93092 */ // Label 2569: @93092
32998 /* 93092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2570*/ GIMT_Encode4(93136), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14085 //
32999 /* 93099 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
33000 /* 93104 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33001 /* 93107 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33002 /* 93110 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33003 /* 93113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33004 /* 93117 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33005 /* 93121 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33006 /* 93125 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14885:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33007 /* 93125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrr),
33008 /* 93128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33009 /* 93130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33010 /* 93132 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33011 /* 93134 */ GIR_RootConstrainSelectedInstOperands,
33012 /* 93135 */ // GIR_Coverage, 14085,
33013 /* 93135 */ GIR_EraseRootFromParent_Done,
33014 /* 93136 */ // Label 2570: @93136
33015 /* 93136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2571*/ GIMT_Encode4(93180), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16850 //
33016 /* 93143 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
33017 /* 93148 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33018 /* 93151 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33019 /* 93154 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33020 /* 93157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33021 /* 93161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33022 /* 93165 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33023 /* 93169 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16470:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4KEY4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33024 /* 93169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrr),
33025 /* 93172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33026 /* 93174 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33027 /* 93176 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33028 /* 93178 */ GIR_RootConstrainSelectedInstOperands,
33029 /* 93179 */ // GIR_Coverage, 16850,
33030 /* 93179 */ GIR_EraseRootFromParent_Done,
33031 /* 93180 */ // Label 2571: @93180
33032 /* 93180 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2572*/ GIMT_Encode4(93224), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16856 //
33033 /* 93187 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
33034 /* 93192 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33035 /* 93195 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33036 /* 93198 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33037 /* 93201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33038 /* 93205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33039 /* 93209 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33040 /* 93213 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16473:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4RNDS4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33041 /* 93213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrr),
33042 /* 93216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33043 /* 93218 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33044 /* 93220 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33045 /* 93222 */ GIR_RootConstrainSelectedInstOperands,
33046 /* 93223 */ // GIR_Coverage, 16856,
33047 /* 93223 */ GIR_EraseRootFromParent_Done,
33048 /* 93224 */ // Label 2572: @93224
33049 /* 93224 */ GIM_Reject,
33050 /* 93225 */ // Label 2464: @93225
33051 /* 93225 */ GIM_Try, /*On fail goto*//*Label 2573*/ GIMT_Encode4(97052),
33052 /* 93230 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
33053 /* 93233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2574*/ GIMT_Encode4(93313), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 23790 //
33054 /* 93240 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33055 /* 93245 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33056 /* 93248 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33057 /* 93251 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33058 /* 93254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33059 /* 93258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33060 /* 93262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33061 /* 93266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33062 /* 93269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33063 /* 93273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33064 /* 93277 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33065 /* 93281 */ // MIs[0] src3
33066 /* 93281 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33067 /* 93284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33068 /* 93286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33069 /* 93293 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16308:{ *:[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)
33070 /* 93293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33071 /* 93296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33072 /* 93298 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33073 /* 93300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33074 /* 93304 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33075 /* 93306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33076 /* 93311 */ GIR_RootConstrainSelectedInstOperands,
33077 /* 93312 */ // GIR_Coverage, 23790,
33078 /* 93312 */ GIR_EraseRootFromParent_Done,
33079 /* 93313 */ // Label 2574: @93313
33080 /* 93313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2575*/ GIMT_Encode4(93393), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 23791 //
33081 /* 93320 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33082 /* 93325 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33083 /* 93328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33084 /* 93331 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33085 /* 93334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33086 /* 93338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33087 /* 93342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33088 /* 93346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33089 /* 93349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33090 /* 93353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33091 /* 93357 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33092 /* 93361 */ // MIs[0] src3
33093 /* 93361 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33094 /* 93364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33095 /* 93366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33096 /* 93373 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16307:{ *:[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)
33097 /* 93373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
33098 /* 93376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33099 /* 93378 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33100 /* 93380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33101 /* 93384 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33102 /* 93386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33103 /* 93391 */ GIR_RootConstrainSelectedInstOperands,
33104 /* 93392 */ // GIR_Coverage, 23791,
33105 /* 93392 */ GIR_EraseRootFromParent_Done,
33106 /* 93393 */ // Label 2575: @93393
33107 /* 93393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2576*/ GIMT_Encode4(93473), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 23792 //
33108 /* 93400 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33109 /* 93405 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33110 /* 93408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33111 /* 93411 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33112 /* 93414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33113 /* 93418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33114 /* 93422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33115 /* 93426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33116 /* 93429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33117 /* 93433 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33118 /* 93437 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33119 /* 93441 */ // MIs[0] src3
33120 /* 93441 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33121 /* 93444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33122 /* 93446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33123 /* 93453 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14918:{ *:[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)
33124 /* 93453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
33125 /* 93456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33126 /* 93458 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33127 /* 93460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33128 /* 93464 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33129 /* 93466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33130 /* 93471 */ GIR_RootConstrainSelectedInstOperands,
33131 /* 93472 */ // GIR_Coverage, 23792,
33132 /* 93472 */ GIR_EraseRootFromParent_Done,
33133 /* 93473 */ // Label 2576: @93473
33134 /* 93473 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2577*/ GIMT_Encode4(93553), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3242 //
33135 /* 93480 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33136 /* 93485 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33137 /* 93488 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33138 /* 93491 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33139 /* 93494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33140 /* 93498 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33141 /* 93502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33142 /* 93506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33143 /* 93510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33144 /* 93513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33145 /* 93517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33146 /* 93521 */ // MIs[0] src3
33147 /* 93521 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33148 /* 93524 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33149 /* 93526 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33150 /* 93533 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16308:{ *:[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)
33151 /* 93533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33152 /* 93536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33153 /* 93538 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33154 /* 93540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33155 /* 93544 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33156 /* 93546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33157 /* 93551 */ GIR_RootConstrainSelectedInstOperands,
33158 /* 93552 */ // GIR_Coverage, 3242,
33159 /* 93552 */ GIR_EraseRootFromParent_Done,
33160 /* 93553 */ // Label 2577: @93553
33161 /* 93553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2578*/ GIMT_Encode4(93633), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3244 //
33162 /* 93560 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33163 /* 93565 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33164 /* 93568 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33165 /* 93571 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33166 /* 93574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33167 /* 93578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33168 /* 93582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33169 /* 93586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33170 /* 93590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33171 /* 93593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33172 /* 93597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33173 /* 93601 */ // MIs[0] src3
33174 /* 93601 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33175 /* 93604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33176 /* 93606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33177 /* 93613 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16307:{ *:[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)
33178 /* 93613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
33179 /* 93616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33180 /* 93618 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33181 /* 93620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33182 /* 93624 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33183 /* 93626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33184 /* 93631 */ GIR_RootConstrainSelectedInstOperands,
33185 /* 93632 */ // GIR_Coverage, 3244,
33186 /* 93632 */ GIR_EraseRootFromParent_Done,
33187 /* 93633 */ // Label 2578: @93633
33188 /* 93633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2579*/ GIMT_Encode4(93713), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3246 //
33189 /* 93640 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33190 /* 93645 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33191 /* 93648 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33192 /* 93651 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33193 /* 93654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33194 /* 93658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33195 /* 93662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33196 /* 93666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33197 /* 93670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33198 /* 93673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33199 /* 93677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33200 /* 93681 */ // MIs[0] src3
33201 /* 93681 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33202 /* 93684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33203 /* 93686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33204 /* 93693 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14918:{ *:[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)
33205 /* 93693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
33206 /* 93696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33207 /* 93698 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33208 /* 93700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33209 /* 93704 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33210 /* 93706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33211 /* 93711 */ GIR_RootConstrainSelectedInstOperands,
33212 /* 93712 */ // GIR_Coverage, 3246,
33213 /* 93712 */ GIR_EraseRootFromParent_Done,
33214 /* 93713 */ // Label 2579: @93713
33215 /* 93713 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2580*/ GIMT_Encode4(93797), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23592 //
33216 /* 93720 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
33217 /* 93725 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33218 /* 93728 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33219 /* 93731 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33220 /* 93734 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33221 /* 93737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33222 /* 93741 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33223 /* 93745 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33224 /* 93749 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33225 /* 93752 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33226 /* 93756 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33227 /* 93760 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33228 /* 93764 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33229 /* 93768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33230 /* 93770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33231 /* 93777 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16525:{ *:[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)
33232 /* 93777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
33233 /* 93780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33234 /* 93782 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33235 /* 93784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33236 /* 93788 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33237 /* 93790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33238 /* 93795 */ GIR_RootConstrainSelectedInstOperands,
33239 /* 93796 */ // GIR_Coverage, 23592,
33240 /* 93796 */ GIR_EraseRootFromParent_Done,
33241 /* 93797 */ // Label 2580: @93797
33242 /* 93797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2581*/ GIMT_Encode4(93881), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23593 //
33243 /* 93804 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
33244 /* 93809 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33245 /* 93812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33246 /* 93815 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33247 /* 93818 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33248 /* 93821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33249 /* 93825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33250 /* 93829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33251 /* 93833 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33252 /* 93836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33253 /* 93840 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33254 /* 93844 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33255 /* 93848 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33256 /* 93852 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33257 /* 93854 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33258 /* 93861 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16524:{ *:[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)
33259 /* 93861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
33260 /* 93864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33261 /* 93866 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33262 /* 93868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33263 /* 93872 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33264 /* 93874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33265 /* 93879 */ GIR_RootConstrainSelectedInstOperands,
33266 /* 93880 */ // GIR_Coverage, 23593,
33267 /* 93880 */ GIR_EraseRootFromParent_Done,
33268 /* 93881 */ // Label 2581: @93881
33269 /* 93881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2582*/ GIMT_Encode4(93965), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23594 //
33270 /* 93888 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
33271 /* 93893 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33272 /* 93896 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33273 /* 93899 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33274 /* 93902 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33275 /* 93905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33276 /* 93909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33277 /* 93913 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33278 /* 93917 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33279 /* 93920 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33280 /* 93924 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33281 /* 93928 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33282 /* 93932 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33283 /* 93936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33284 /* 93938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33285 /* 93945 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16523:{ *:[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)
33286 /* 93945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
33287 /* 93948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33288 /* 93950 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33289 /* 93952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33290 /* 93956 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33291 /* 93958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33292 /* 93963 */ GIR_RootConstrainSelectedInstOperands,
33293 /* 93964 */ // GIR_Coverage, 23594,
33294 /* 93964 */ GIR_EraseRootFromParent_Done,
33295 /* 93965 */ // Label 2582: @93965
33296 /* 93965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2583*/ GIMT_Encode4(94049), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23595 //
33297 /* 93972 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
33298 /* 93977 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33299 /* 93980 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33300 /* 93983 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33301 /* 93986 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33302 /* 93989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33303 /* 93993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33304 /* 93997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33305 /* 94001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33306 /* 94004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33307 /* 94008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33308 /* 94012 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33309 /* 94016 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33310 /* 94020 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33311 /* 94022 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33312 /* 94029 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16522:{ *:[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)
33313 /* 94029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
33314 /* 94032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33315 /* 94034 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33316 /* 94036 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33317 /* 94040 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33318 /* 94042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33319 /* 94047 */ GIR_RootConstrainSelectedInstOperands,
33320 /* 94048 */ // GIR_Coverage, 23595,
33321 /* 94048 */ GIR_EraseRootFromParent_Done,
33322 /* 94049 */ // Label 2583: @94049
33323 /* 94049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2584*/ GIMT_Encode4(94133), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23596 //
33324 /* 94056 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
33325 /* 94061 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33326 /* 94064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33327 /* 94067 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33328 /* 94070 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33329 /* 94073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33330 /* 94077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33331 /* 94081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33332 /* 94085 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33333 /* 94088 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33334 /* 94092 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33335 /* 94096 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33336 /* 94100 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33337 /* 94104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33338 /* 94106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33339 /* 94113 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16521:{ *:[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)
33340 /* 94113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
33341 /* 94116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33342 /* 94118 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33343 /* 94120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33344 /* 94124 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33345 /* 94126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33346 /* 94131 */ GIR_RootConstrainSelectedInstOperands,
33347 /* 94132 */ // GIR_Coverage, 23596,
33348 /* 94132 */ GIR_EraseRootFromParent_Done,
33349 /* 94133 */ // Label 2584: @94133
33350 /* 94133 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2585*/ GIMT_Encode4(94217), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23597 //
33351 /* 94140 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
33352 /* 94145 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33353 /* 94148 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33354 /* 94151 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33355 /* 94154 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33356 /* 94157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33357 /* 94161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33358 /* 94165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33359 /* 94169 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33360 /* 94172 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33361 /* 94176 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33362 /* 94180 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33363 /* 94184 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33364 /* 94188 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33365 /* 94190 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33366 /* 94197 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16520:{ *:[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)
33367 /* 94197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
33368 /* 94200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33369 /* 94202 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33370 /* 94204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33371 /* 94208 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33372 /* 94210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33373 /* 94215 */ GIR_RootConstrainSelectedInstOperands,
33374 /* 94216 */ // GIR_Coverage, 23597,
33375 /* 94216 */ GIR_EraseRootFromParent_Done,
33376 /* 94217 */ // Label 2585: @94217
33377 /* 94217 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2586*/ GIMT_Encode4(94301), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23598 //
33378 /* 94224 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
33379 /* 94229 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33380 /* 94232 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33381 /* 94235 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33382 /* 94238 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33383 /* 94241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33384 /* 94245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33385 /* 94249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33386 /* 94253 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33387 /* 94256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33388 /* 94260 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33389 /* 94264 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33390 /* 94268 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33391 /* 94272 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33392 /* 94274 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33393 /* 94281 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16519:{ *:[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)
33394 /* 94281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
33395 /* 94284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33396 /* 94286 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33397 /* 94288 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33398 /* 94292 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33399 /* 94294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33400 /* 94299 */ GIR_RootConstrainSelectedInstOperands,
33401 /* 94300 */ // GIR_Coverage, 23598,
33402 /* 94300 */ GIR_EraseRootFromParent_Done,
33403 /* 94301 */ // Label 2586: @94301
33404 /* 94301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2587*/ GIMT_Encode4(94385), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23599 //
33405 /* 94308 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
33406 /* 94313 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33407 /* 94316 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33408 /* 94319 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33409 /* 94322 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33410 /* 94325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33411 /* 94329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33412 /* 94333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33413 /* 94337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33414 /* 94340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33415 /* 94344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33416 /* 94348 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33417 /* 94352 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33418 /* 94356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33419 /* 94358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33420 /* 94365 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16518:{ *:[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)
33421 /* 94365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
33422 /* 94368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33423 /* 94370 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33424 /* 94372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33425 /* 94376 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33426 /* 94378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33427 /* 94383 */ GIR_RootConstrainSelectedInstOperands,
33428 /* 94384 */ // GIR_Coverage, 23599,
33429 /* 94384 */ GIR_EraseRootFromParent_Done,
33430 /* 94385 */ // Label 2587: @94385
33431 /* 94385 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2588*/ GIMT_Encode4(94469), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23600 //
33432 /* 94392 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
33433 /* 94397 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33434 /* 94400 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33435 /* 94403 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33436 /* 94406 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33437 /* 94409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33438 /* 94413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33439 /* 94417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33440 /* 94421 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33441 /* 94424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33442 /* 94428 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33443 /* 94432 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33444 /* 94436 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33445 /* 94440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33446 /* 94442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33447 /* 94449 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16517:{ *:[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)
33448 /* 94449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
33449 /* 94452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33450 /* 94454 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33451 /* 94456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33452 /* 94460 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33453 /* 94462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33454 /* 94467 */ GIR_RootConstrainSelectedInstOperands,
33455 /* 94468 */ // GIR_Coverage, 23600,
33456 /* 94468 */ GIR_EraseRootFromParent_Done,
33457 /* 94469 */ // Label 2588: @94469
33458 /* 94469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2589*/ GIMT_Encode4(94553), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23601 //
33459 /* 94476 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
33460 /* 94481 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33461 /* 94484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33462 /* 94487 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33463 /* 94490 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33464 /* 94493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33465 /* 94497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33466 /* 94501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33467 /* 94505 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33468 /* 94508 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33469 /* 94512 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33470 /* 94516 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33471 /* 94520 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33472 /* 94524 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33473 /* 94526 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33474 /* 94533 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16516:{ *:[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)
33475 /* 94533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
33476 /* 94536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33477 /* 94538 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33478 /* 94540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33479 /* 94544 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33480 /* 94546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33481 /* 94551 */ GIR_RootConstrainSelectedInstOperands,
33482 /* 94552 */ // GIR_Coverage, 23601,
33483 /* 94552 */ GIR_EraseRootFromParent_Done,
33484 /* 94553 */ // Label 2589: @94553
33485 /* 94553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2590*/ GIMT_Encode4(94637), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23602 //
33486 /* 94560 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
33487 /* 94565 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33488 /* 94568 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33489 /* 94571 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33490 /* 94574 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33491 /* 94577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33492 /* 94581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33493 /* 94585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33494 /* 94589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33495 /* 94592 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33496 /* 94596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33497 /* 94600 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33498 /* 94604 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33499 /* 94608 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33500 /* 94610 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33501 /* 94617 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16515:{ *:[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)
33502 /* 94617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
33503 /* 94620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33504 /* 94622 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33505 /* 94624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33506 /* 94628 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33507 /* 94630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33508 /* 94635 */ GIR_RootConstrainSelectedInstOperands,
33509 /* 94636 */ // GIR_Coverage, 23602,
33510 /* 94636 */ GIR_EraseRootFromParent_Done,
33511 /* 94637 */ // Label 2590: @94637
33512 /* 94637 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2591*/ GIMT_Encode4(94721), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23603 //
33513 /* 94644 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
33514 /* 94649 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33515 /* 94652 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33516 /* 94655 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33517 /* 94658 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33518 /* 94661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33519 /* 94665 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33520 /* 94669 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33521 /* 94673 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33522 /* 94676 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33523 /* 94680 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33524 /* 94684 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33525 /* 94688 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33526 /* 94692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33527 /* 94694 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33528 /* 94701 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16514:{ *:[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)
33529 /* 94701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
33530 /* 94704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33531 /* 94706 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33532 /* 94708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33533 /* 94712 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33534 /* 94714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33535 /* 94719 */ GIR_RootConstrainSelectedInstOperands,
33536 /* 94720 */ // GIR_Coverage, 23603,
33537 /* 94720 */ GIR_EraseRootFromParent_Done,
33538 /* 94721 */ // Label 2591: @94721
33539 /* 94721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2592*/ GIMT_Encode4(94805), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1596 //
33540 /* 94728 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
33541 /* 94733 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33542 /* 94736 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33543 /* 94739 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33544 /* 94742 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33545 /* 94745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33546 /* 94749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33547 /* 94753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33548 /* 94757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33549 /* 94761 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33550 /* 94764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33551 /* 94768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33552 /* 94772 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33553 /* 94776 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33554 /* 94778 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33555 /* 94785 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16525:{ *:[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)
33556 /* 94785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
33557 /* 94788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33558 /* 94790 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33559 /* 94792 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33560 /* 94796 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33561 /* 94798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33562 /* 94803 */ GIR_RootConstrainSelectedInstOperands,
33563 /* 94804 */ // GIR_Coverage, 1596,
33564 /* 94804 */ GIR_EraseRootFromParent_Done,
33565 /* 94805 */ // Label 2592: @94805
33566 /* 94805 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2593*/ GIMT_Encode4(94889), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1598 //
33567 /* 94812 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
33568 /* 94817 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33569 /* 94820 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33570 /* 94823 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33571 /* 94826 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33572 /* 94829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33573 /* 94833 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33574 /* 94837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33575 /* 94841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33576 /* 94845 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33577 /* 94848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33578 /* 94852 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33579 /* 94856 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33580 /* 94860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33581 /* 94862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33582 /* 94869 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16524:{ *:[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)
33583 /* 94869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
33584 /* 94872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33585 /* 94874 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33586 /* 94876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33587 /* 94880 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33588 /* 94882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33589 /* 94887 */ GIR_RootConstrainSelectedInstOperands,
33590 /* 94888 */ // GIR_Coverage, 1598,
33591 /* 94888 */ GIR_EraseRootFromParent_Done,
33592 /* 94889 */ // Label 2593: @94889
33593 /* 94889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2594*/ GIMT_Encode4(94973), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1600 //
33594 /* 94896 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
33595 /* 94901 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33596 /* 94904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33597 /* 94907 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33598 /* 94910 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33599 /* 94913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33600 /* 94917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33601 /* 94921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33602 /* 94925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33603 /* 94929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33604 /* 94932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33605 /* 94936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33606 /* 94940 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33607 /* 94944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33608 /* 94946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33609 /* 94953 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16523:{ *:[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)
33610 /* 94953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
33611 /* 94956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33612 /* 94958 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33613 /* 94960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33614 /* 94964 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33615 /* 94966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33616 /* 94971 */ GIR_RootConstrainSelectedInstOperands,
33617 /* 94972 */ // GIR_Coverage, 1600,
33618 /* 94972 */ GIR_EraseRootFromParent_Done,
33619 /* 94973 */ // Label 2594: @94973
33620 /* 94973 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2595*/ GIMT_Encode4(95057), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1602 //
33621 /* 94980 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
33622 /* 94985 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33623 /* 94988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33624 /* 94991 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33625 /* 94994 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33626 /* 94997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33627 /* 95001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33628 /* 95005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33629 /* 95009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33630 /* 95013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33631 /* 95016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33632 /* 95020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33633 /* 95024 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33634 /* 95028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33635 /* 95030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33636 /* 95037 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16522:{ *:[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)
33637 /* 95037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
33638 /* 95040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33639 /* 95042 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33640 /* 95044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33641 /* 95048 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33642 /* 95050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33643 /* 95055 */ GIR_RootConstrainSelectedInstOperands,
33644 /* 95056 */ // GIR_Coverage, 1602,
33645 /* 95056 */ GIR_EraseRootFromParent_Done,
33646 /* 95057 */ // Label 2595: @95057
33647 /* 95057 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2596*/ GIMT_Encode4(95141), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1604 //
33648 /* 95064 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
33649 /* 95069 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33650 /* 95072 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33651 /* 95075 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33652 /* 95078 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33653 /* 95081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33654 /* 95085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33655 /* 95089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33656 /* 95093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33657 /* 95097 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33658 /* 95100 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33659 /* 95104 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33660 /* 95108 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33661 /* 95112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33662 /* 95114 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33663 /* 95121 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16521:{ *:[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)
33664 /* 95121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
33665 /* 95124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33666 /* 95126 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33667 /* 95128 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33668 /* 95132 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33669 /* 95134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33670 /* 95139 */ GIR_RootConstrainSelectedInstOperands,
33671 /* 95140 */ // GIR_Coverage, 1604,
33672 /* 95140 */ GIR_EraseRootFromParent_Done,
33673 /* 95141 */ // Label 2596: @95141
33674 /* 95141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2597*/ GIMT_Encode4(95225), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1606 //
33675 /* 95148 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
33676 /* 95153 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33677 /* 95156 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33678 /* 95159 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33679 /* 95162 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33680 /* 95165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33681 /* 95169 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33682 /* 95173 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33683 /* 95177 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33684 /* 95181 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33685 /* 95184 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33686 /* 95188 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33687 /* 95192 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33688 /* 95196 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33689 /* 95198 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33690 /* 95205 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16520:{ *:[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)
33691 /* 95205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
33692 /* 95208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33693 /* 95210 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33694 /* 95212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33695 /* 95216 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33696 /* 95218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33697 /* 95223 */ GIR_RootConstrainSelectedInstOperands,
33698 /* 95224 */ // GIR_Coverage, 1606,
33699 /* 95224 */ GIR_EraseRootFromParent_Done,
33700 /* 95225 */ // Label 2597: @95225
33701 /* 95225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2598*/ GIMT_Encode4(95309), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1608 //
33702 /* 95232 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
33703 /* 95237 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33704 /* 95240 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33705 /* 95243 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33706 /* 95246 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33707 /* 95249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33708 /* 95253 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33709 /* 95257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33710 /* 95261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33711 /* 95265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33712 /* 95268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33713 /* 95272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33714 /* 95276 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33715 /* 95280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33716 /* 95282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33717 /* 95289 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16519:{ *:[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)
33718 /* 95289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
33719 /* 95292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33720 /* 95294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33721 /* 95296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33722 /* 95300 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33723 /* 95302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33724 /* 95307 */ GIR_RootConstrainSelectedInstOperands,
33725 /* 95308 */ // GIR_Coverage, 1608,
33726 /* 95308 */ GIR_EraseRootFromParent_Done,
33727 /* 95309 */ // Label 2598: @95309
33728 /* 95309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2599*/ GIMT_Encode4(95393), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1610 //
33729 /* 95316 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
33730 /* 95321 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33731 /* 95324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33732 /* 95327 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33733 /* 95330 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33734 /* 95333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33735 /* 95337 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33736 /* 95341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33737 /* 95345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33738 /* 95349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33739 /* 95352 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33740 /* 95356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33741 /* 95360 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33742 /* 95364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33743 /* 95366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33744 /* 95373 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16518:{ *:[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)
33745 /* 95373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
33746 /* 95376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33747 /* 95378 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33748 /* 95380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33749 /* 95384 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33750 /* 95386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33751 /* 95391 */ GIR_RootConstrainSelectedInstOperands,
33752 /* 95392 */ // GIR_Coverage, 1610,
33753 /* 95392 */ GIR_EraseRootFromParent_Done,
33754 /* 95393 */ // Label 2599: @95393
33755 /* 95393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2600*/ GIMT_Encode4(95477), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1612 //
33756 /* 95400 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
33757 /* 95405 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33758 /* 95408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33759 /* 95411 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33760 /* 95414 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33761 /* 95417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33762 /* 95421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33763 /* 95425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33764 /* 95429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33765 /* 95433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33766 /* 95436 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33767 /* 95440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33768 /* 95444 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33769 /* 95448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33770 /* 95450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33771 /* 95457 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16517:{ *:[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)
33772 /* 95457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
33773 /* 95460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33774 /* 95462 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33775 /* 95464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33776 /* 95468 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33777 /* 95470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33778 /* 95475 */ GIR_RootConstrainSelectedInstOperands,
33779 /* 95476 */ // GIR_Coverage, 1612,
33780 /* 95476 */ GIR_EraseRootFromParent_Done,
33781 /* 95477 */ // Label 2600: @95477
33782 /* 95477 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2601*/ GIMT_Encode4(95561), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1614 //
33783 /* 95484 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
33784 /* 95489 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33785 /* 95492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33786 /* 95495 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33787 /* 95498 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33788 /* 95501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33789 /* 95505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33790 /* 95509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33791 /* 95513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33792 /* 95517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33793 /* 95520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33794 /* 95524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33795 /* 95528 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33796 /* 95532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33797 /* 95534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33798 /* 95541 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16516:{ *:[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)
33799 /* 95541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
33800 /* 95544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33801 /* 95546 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33802 /* 95548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33803 /* 95552 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33804 /* 95554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33805 /* 95559 */ GIR_RootConstrainSelectedInstOperands,
33806 /* 95560 */ // GIR_Coverage, 1614,
33807 /* 95560 */ GIR_EraseRootFromParent_Done,
33808 /* 95561 */ // Label 2601: @95561
33809 /* 95561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2602*/ GIMT_Encode4(95645), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1616 //
33810 /* 95568 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
33811 /* 95573 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33812 /* 95576 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33813 /* 95579 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33814 /* 95582 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33815 /* 95585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33816 /* 95589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33817 /* 95593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33818 /* 95597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33819 /* 95601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33820 /* 95604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33821 /* 95608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33822 /* 95612 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33823 /* 95616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33824 /* 95618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33825 /* 95625 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16515:{ *:[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)
33826 /* 95625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
33827 /* 95628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33828 /* 95630 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33829 /* 95632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33830 /* 95636 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33831 /* 95638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33832 /* 95643 */ GIR_RootConstrainSelectedInstOperands,
33833 /* 95644 */ // GIR_Coverage, 1616,
33834 /* 95644 */ GIR_EraseRootFromParent_Done,
33835 /* 95645 */ // Label 2602: @95645
33836 /* 95645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2603*/ GIMT_Encode4(95729), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1618 //
33837 /* 95652 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
33838 /* 95657 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33839 /* 95660 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33840 /* 95663 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33841 /* 95666 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33842 /* 95669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33843 /* 95673 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33844 /* 95677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33845 /* 95681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33846 /* 95685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33847 /* 95688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33848 /* 95692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33849 /* 95696 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33850 /* 95700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33851 /* 95702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33852 /* 95709 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16514:{ *:[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)
33853 /* 95709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
33854 /* 95712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33855 /* 95714 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33856 /* 95716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33857 /* 95720 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33858 /* 95722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33859 /* 95727 */ GIR_RootConstrainSelectedInstOperands,
33860 /* 95728 */ // GIR_Coverage, 1618,
33861 /* 95728 */ GIR_EraseRootFromParent_Done,
33862 /* 95729 */ // Label 2603: @95729
33863 /* 95729 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2604*/ GIMT_Encode4(95813), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3547 //
33864 /* 95736 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
33865 /* 95741 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33866 /* 95744 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33867 /* 95747 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33868 /* 95750 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33869 /* 95753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33870 /* 95757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33871 /* 95761 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33872 /* 95765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
33873 /* 95769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33874 /* 95773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33875 /* 95776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33876 /* 95780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33877 /* 95784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33878 /* 95786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33879 /* 95793 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16465:{ *:[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)
33880 /* 95793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rm),
33881 /* 95796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33882 /* 95798 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33883 /* 95800 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33884 /* 95802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
33885 /* 95806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33886 /* 95811 */ GIR_RootConstrainSelectedInstOperands,
33887 /* 95812 */ // GIR_Coverage, 3547,
33888 /* 95812 */ GIR_EraseRootFromParent_Done,
33889 /* 95813 */ // Label 2604: @95813
33890 /* 95813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2605*/ GIMT_Encode4(95897), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3549 //
33891 /* 95820 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
33892 /* 95825 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33893 /* 95828 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33894 /* 95831 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33895 /* 95834 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33896 /* 95837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33897 /* 95841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33898 /* 95845 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33899 /* 95849 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
33900 /* 95853 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33901 /* 95857 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33902 /* 95860 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33903 /* 95864 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33904 /* 95868 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33905 /* 95870 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33906 /* 95877 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16466:{ *:[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)
33907 /* 95877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rm),
33908 /* 95880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33909 /* 95882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33910 /* 95884 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33911 /* 95886 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
33912 /* 95890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33913 /* 95895 */ GIR_RootConstrainSelectedInstOperands,
33914 /* 95896 */ // GIR_Coverage, 3549,
33915 /* 95896 */ GIR_EraseRootFromParent_Done,
33916 /* 95897 */ // Label 2605: @95897
33917 /* 95897 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2606*/ GIMT_Encode4(95946), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3241 //
33918 /* 95904 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33919 /* 95909 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33920 /* 95912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33921 /* 95915 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33922 /* 95918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33923 /* 95922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33924 /* 95926 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33925 /* 95930 */ // MIs[0] src3
33926 /* 95930 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33927 /* 95933 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16308:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
33928 /* 95933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrri),
33929 /* 95936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33930 /* 95938 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33931 /* 95940 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33932 /* 95942 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33933 /* 95944 */ GIR_RootConstrainSelectedInstOperands,
33934 /* 95945 */ // GIR_Coverage, 3241,
33935 /* 95945 */ GIR_EraseRootFromParent_Done,
33936 /* 95946 */ // Label 2606: @95946
33937 /* 95946 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2607*/ GIMT_Encode4(95995), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3243 //
33938 /* 95953 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33939 /* 95958 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33940 /* 95961 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33941 /* 95964 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33942 /* 95967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33943 /* 95971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33944 /* 95975 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33945 /* 95979 */ // MIs[0] src3
33946 /* 95979 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33947 /* 95982 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16307:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
33948 /* 95982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrri),
33949 /* 95985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33950 /* 95987 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33951 /* 95989 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33952 /* 95991 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33953 /* 95993 */ GIR_RootConstrainSelectedInstOperands,
33954 /* 95994 */ // GIR_Coverage, 3243,
33955 /* 95994 */ GIR_EraseRootFromParent_Done,
33956 /* 95995 */ // Label 2607: @95995
33957 /* 95995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2608*/ GIMT_Encode4(96044), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3245 //
33958 /* 96002 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33959 /* 96007 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33960 /* 96010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33961 /* 96013 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33962 /* 96016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33963 /* 96020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33964 /* 96024 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33965 /* 96028 */ // MIs[0] src3
33966 /* 96028 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33967 /* 96031 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14918:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSYrri:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3)
33968 /* 96031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrri),
33969 /* 96034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33970 /* 96036 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33971 /* 96038 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33972 /* 96040 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33973 /* 96042 */ GIR_RootConstrainSelectedInstOperands,
33974 /* 96043 */ // GIR_Coverage, 3245,
33975 /* 96043 */ GIR_EraseRootFromParent_Done,
33976 /* 96044 */ // Label 2608: @96044
33977 /* 96044 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2609*/ GIMT_Encode4(96093), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3251 //
33978 /* 96051 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33979 /* 96056 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33980 /* 96059 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33981 /* 96062 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33982 /* 96065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33983 /* 96069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33984 /* 96073 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33985 /* 96077 */ // MIs[0] src3
33986 /* 96077 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33987 /* 96080 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16308:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
33988 /* 96080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPSrri),
33989 /* 96083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33990 /* 96085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33991 /* 96087 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33992 /* 96089 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33993 /* 96091 */ GIR_RootConstrainSelectedInstOperands,
33994 /* 96092 */ // GIR_Coverage, 3251,
33995 /* 96092 */ GIR_EraseRootFromParent_Done,
33996 /* 96093 */ // Label 2609: @96093
33997 /* 96093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2610*/ GIMT_Encode4(96142), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3253 //
33998 /* 96100 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33999 /* 96105 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34000 /* 96108 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34001 /* 96111 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34002 /* 96114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34003 /* 96118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34004 /* 96122 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34005 /* 96126 */ // MIs[0] src3
34006 /* 96126 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34007 /* 96129 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16307:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
34008 /* 96129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPDrri),
34009 /* 96132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34010 /* 96134 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34011 /* 96136 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34012 /* 96138 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34013 /* 96140 */ GIR_RootConstrainSelectedInstOperands,
34014 /* 96141 */ // GIR_Coverage, 3253,
34015 /* 96141 */ GIR_EraseRootFromParent_Done,
34016 /* 96142 */ // Label 2610: @96142
34017 /* 96142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2611*/ GIMT_Encode4(96191), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3313 //
34018 /* 96149 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1rnds4),
34019 /* 96154 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34020 /* 96157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34021 /* 96160 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34022 /* 96163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34023 /* 96167 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34024 /* 96171 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34025 /* 96175 */ // MIs[0] src3
34026 /* 96175 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34027 /* 96178 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16194:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3) => (SHA1RNDS4rri:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3)
34028 /* 96178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1RNDS4rri),
34029 /* 96181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34030 /* 96183 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34031 /* 96185 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34032 /* 96187 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34033 /* 96189 */ GIR_RootConstrainSelectedInstOperands,
34034 /* 96190 */ // GIR_Coverage, 3313,
34035 /* 96190 */ GIR_EraseRootFromParent_Done,
34036 /* 96191 */ // Label 2611: @96191
34037 /* 96191 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2612*/ GIMT_Encode4(96244), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1595 //
34038 /* 96198 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
34039 /* 96203 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34040 /* 96206 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34041 /* 96209 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34042 /* 96212 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34043 /* 96215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34044 /* 96219 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34045 /* 96223 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34046 /* 96227 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34047 /* 96231 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16525:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34048 /* 96231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrr),
34049 /* 96234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34050 /* 96236 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34051 /* 96238 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34052 /* 96240 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34053 /* 96242 */ GIR_RootConstrainSelectedInstOperands,
34054 /* 96243 */ // GIR_Coverage, 1595,
34055 /* 96243 */ GIR_EraseRootFromParent_Done,
34056 /* 96244 */ // Label 2612: @96244
34057 /* 96244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2613*/ GIMT_Encode4(96297), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1597 //
34058 /* 96251 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
34059 /* 96256 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34060 /* 96259 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34061 /* 96262 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34062 /* 96265 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34063 /* 96268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34064 /* 96272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34065 /* 96276 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34066 /* 96280 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34067 /* 96284 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16524:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34068 /* 96284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrr),
34069 /* 96287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34070 /* 96289 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34071 /* 96291 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34072 /* 96293 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34073 /* 96295 */ GIR_RootConstrainSelectedInstOperands,
34074 /* 96296 */ // GIR_Coverage, 1597,
34075 /* 96296 */ GIR_EraseRootFromParent_Done,
34076 /* 96297 */ // Label 2613: @96297
34077 /* 96297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2614*/ GIMT_Encode4(96350), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1599 //
34078 /* 96304 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
34079 /* 96309 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34080 /* 96312 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34081 /* 96315 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34082 /* 96318 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34083 /* 96321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34084 /* 96325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34085 /* 96329 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34086 /* 96333 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34087 /* 96337 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16523:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
34088 /* 96337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
34089 /* 96340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34090 /* 96342 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34091 /* 96344 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34092 /* 96346 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34093 /* 96348 */ GIR_RootConstrainSelectedInstOperands,
34094 /* 96349 */ // GIR_Coverage, 1599,
34095 /* 96349 */ GIR_EraseRootFromParent_Done,
34096 /* 96350 */ // Label 2614: @96350
34097 /* 96350 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2615*/ GIMT_Encode4(96403), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1601 //
34098 /* 96357 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
34099 /* 96362 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34100 /* 96365 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34101 /* 96368 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34102 /* 96371 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34103 /* 96374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34104 /* 96378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34105 /* 96382 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34106 /* 96386 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34107 /* 96390 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16522:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34108 /* 96390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrr),
34109 /* 96393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34110 /* 96395 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34111 /* 96397 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34112 /* 96399 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34113 /* 96401 */ GIR_RootConstrainSelectedInstOperands,
34114 /* 96402 */ // GIR_Coverage, 1601,
34115 /* 96402 */ GIR_EraseRootFromParent_Done,
34116 /* 96403 */ // Label 2615: @96403
34117 /* 96403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2616*/ GIMT_Encode4(96456), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1603 //
34118 /* 96410 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
34119 /* 96415 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34120 /* 96418 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34121 /* 96421 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34122 /* 96424 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34123 /* 96427 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34124 /* 96431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34125 /* 96435 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34126 /* 96439 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34127 /* 96443 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16521:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
34128 /* 96443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrr),
34129 /* 96446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34130 /* 96448 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34131 /* 96450 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34132 /* 96452 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34133 /* 96454 */ GIR_RootConstrainSelectedInstOperands,
34134 /* 96455 */ // GIR_Coverage, 1603,
34135 /* 96455 */ GIR_EraseRootFromParent_Done,
34136 /* 96456 */ // Label 2616: @96456
34137 /* 96456 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2617*/ GIMT_Encode4(96509), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1605 //
34138 /* 96463 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
34139 /* 96468 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34140 /* 96471 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34141 /* 96474 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34142 /* 96477 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34143 /* 96480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34144 /* 96484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34145 /* 96488 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34146 /* 96492 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34147 /* 96496 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16520:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34148 /* 96496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrr),
34149 /* 96499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34150 /* 96501 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34151 /* 96503 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34152 /* 96505 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34153 /* 96507 */ GIR_RootConstrainSelectedInstOperands,
34154 /* 96508 */ // GIR_Coverage, 1605,
34155 /* 96508 */ GIR_EraseRootFromParent_Done,
34156 /* 96509 */ // Label 2617: @96509
34157 /* 96509 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2618*/ GIMT_Encode4(96562), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1607 //
34158 /* 96516 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
34159 /* 96521 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34160 /* 96524 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34161 /* 96527 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34162 /* 96530 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34163 /* 96533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34164 /* 96537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34165 /* 96541 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34166 /* 96545 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34167 /* 96549 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16519:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34168 /* 96549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrr),
34169 /* 96552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34170 /* 96554 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34171 /* 96556 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34172 /* 96558 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34173 /* 96560 */ GIR_RootConstrainSelectedInstOperands,
34174 /* 96561 */ // GIR_Coverage, 1607,
34175 /* 96561 */ GIR_EraseRootFromParent_Done,
34176 /* 96562 */ // Label 2618: @96562
34177 /* 96562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2619*/ GIMT_Encode4(96615), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1609 //
34178 /* 96569 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
34179 /* 96574 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34180 /* 96577 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34181 /* 96580 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34182 /* 96583 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34183 /* 96586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34184 /* 96590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34185 /* 96594 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34186 /* 96598 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34187 /* 96602 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16518:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34188 /* 96602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrr),
34189 /* 96605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34190 /* 96607 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34191 /* 96609 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34192 /* 96611 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34193 /* 96613 */ GIR_RootConstrainSelectedInstOperands,
34194 /* 96614 */ // GIR_Coverage, 1609,
34195 /* 96614 */ GIR_EraseRootFromParent_Done,
34196 /* 96615 */ // Label 2619: @96615
34197 /* 96615 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2620*/ GIMT_Encode4(96668), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1611 //
34198 /* 96622 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34199 /* 96627 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34200 /* 96630 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34201 /* 96633 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34202 /* 96636 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34203 /* 96639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34204 /* 96643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34205 /* 96647 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34206 /* 96651 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34207 /* 96655 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16517:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34208 /* 96655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrr),
34209 /* 96658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34210 /* 96660 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34211 /* 96662 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34212 /* 96664 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34213 /* 96666 */ GIR_RootConstrainSelectedInstOperands,
34214 /* 96667 */ // GIR_Coverage, 1611,
34215 /* 96667 */ GIR_EraseRootFromParent_Done,
34216 /* 96668 */ // Label 2620: @96668
34217 /* 96668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2621*/ GIMT_Encode4(96721), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1613 //
34218 /* 96675 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34219 /* 96680 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34220 /* 96683 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34221 /* 96686 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34222 /* 96689 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34223 /* 96692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34224 /* 96696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34225 /* 96700 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34226 /* 96704 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34227 /* 96708 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16516:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34228 /* 96708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrr),
34229 /* 96711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34230 /* 96713 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34231 /* 96715 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34232 /* 96717 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34233 /* 96719 */ GIR_RootConstrainSelectedInstOperands,
34234 /* 96720 */ // GIR_Coverage, 1613,
34235 /* 96720 */ GIR_EraseRootFromParent_Done,
34236 /* 96721 */ // Label 2621: @96721
34237 /* 96721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2622*/ GIMT_Encode4(96774), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1615 //
34238 /* 96728 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34239 /* 96733 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34240 /* 96736 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34241 /* 96739 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34242 /* 96742 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34243 /* 96745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34244 /* 96749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34245 /* 96753 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34246 /* 96757 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34247 /* 96761 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16515:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34248 /* 96761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrr),
34249 /* 96764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34250 /* 96766 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34251 /* 96768 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34252 /* 96770 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34253 /* 96772 */ GIR_RootConstrainSelectedInstOperands,
34254 /* 96773 */ // GIR_Coverage, 1615,
34255 /* 96773 */ GIR_EraseRootFromParent_Done,
34256 /* 96774 */ // Label 2622: @96774
34257 /* 96774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2623*/ GIMT_Encode4(96827), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1617 //
34258 /* 96781 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34259 /* 96786 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34260 /* 96789 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34261 /* 96792 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34262 /* 96795 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34263 /* 96798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34264 /* 96802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34265 /* 96806 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34266 /* 96810 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34267 /* 96814 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16514:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34268 /* 96814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
34269 /* 96817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34270 /* 96819 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34271 /* 96821 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34272 /* 96823 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34273 /* 96825 */ GIR_RootConstrainSelectedInstOperands,
34274 /* 96826 */ // GIR_Coverage, 1617,
34275 /* 96826 */ GIR_EraseRootFromParent_Done,
34276 /* 96827 */ // Label 2623: @96827
34277 /* 96827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2624*/ GIMT_Encode4(96892), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3321 //
34278 /* 96834 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256rnds2),
34279 /* 96839 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34280 /* 96842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34281 /* 96845 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34282 /* 96848 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34283 /* 96851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34284 /* 96855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34285 /* 96859 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34286 /* 96863 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34287 /* 96867 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16197:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, XMM0:{ *:[v4i32] }) => (SHA256RNDS2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
34288 /* 96867 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
34289 /* 96871 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
34290 /* 96877 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/4, // XMM0
34291 /* 96881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256RNDS2rr),
34292 /* 96884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34293 /* 96886 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34294 /* 96888 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34295 /* 96890 */ GIR_RootConstrainSelectedInstOperands,
34296 /* 96891 */ // GIR_Coverage, 3321,
34297 /* 96891 */ GIR_EraseRootFromParent_Done,
34298 /* 96892 */ // Label 2624: @96892
34299 /* 96892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2625*/ GIMT_Encode4(96945), GIMT_Encode2(GIFBS_HasSHA512), // Rule ID 3545 //
34300 /* 96899 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512rnds2),
34301 /* 96904 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34302 /* 96907 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34303 /* 96910 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34304 /* 96913 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34305 /* 96916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34306 /* 96920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34307 /* 96924 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34308 /* 96928 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34309 /* 96932 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16464:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VSHA512RNDS2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3)
34310 /* 96932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512RNDS2rr),
34311 /* 96935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34312 /* 96937 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34313 /* 96939 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34314 /* 96941 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34315 /* 96943 */ GIR_RootConstrainSelectedInstOperands,
34316 /* 96944 */ // GIR_Coverage, 3545,
34317 /* 96944 */ GIR_EraseRootFromParent_Done,
34318 /* 96945 */ // Label 2625: @96945
34319 /* 96945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2626*/ GIMT_Encode4(96998), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3546 //
34320 /* 96952 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
34321 /* 96957 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34322 /* 96960 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34323 /* 96963 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34324 /* 96966 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34325 /* 96969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34326 /* 96973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34327 /* 96977 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34328 /* 96981 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34329 /* 96985 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16465:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34330 /* 96985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rr),
34331 /* 96988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34332 /* 96990 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34333 /* 96992 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34334 /* 96994 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34335 /* 96996 */ GIR_RootConstrainSelectedInstOperands,
34336 /* 96997 */ // GIR_Coverage, 3546,
34337 /* 96997 */ GIR_EraseRootFromParent_Done,
34338 /* 96998 */ // Label 2626: @96998
34339 /* 96998 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2627*/ GIMT_Encode4(97051), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3548 //
34340 /* 97005 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
34341 /* 97010 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34342 /* 97013 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34343 /* 97016 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34344 /* 97019 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34345 /* 97022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34346 /* 97026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34347 /* 97030 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34348 /* 97034 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34349 /* 97038 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16466:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34350 /* 97038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rr),
34351 /* 97041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34352 /* 97043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34353 /* 97045 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34354 /* 97047 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34355 /* 97049 */ GIR_RootConstrainSelectedInstOperands,
34356 /* 97050 */ // GIR_Coverage, 3548,
34357 /* 97050 */ GIR_EraseRootFromParent_Done,
34358 /* 97051 */ // Label 2627: @97051
34359 /* 97051 */ GIM_Reject,
34360 /* 97052 */ // Label 2573: @97052
34361 /* 97052 */ GIM_Try, /*On fail goto*//*Label 2628*/ GIMT_Encode4(97179),
34362 /* 97057 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/6,
34363 /* 97060 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3rnds2),
34364 /* 97065 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34365 /* 97068 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34366 /* 97071 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34367 /* 97074 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34368 /* 97077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34369 /* 97081 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34370 /* 97085 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34371 /* 97089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2629*/ GIMT_Encode4(97149), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3551 //
34372 /* 97096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
34373 /* 97100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34374 /* 97104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34375 /* 97107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34376 /* 97111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34377 /* 97115 */ // MIs[0] src4
34378 /* 97115 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
34379 /* 97118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34380 /* 97120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34381 /* 97127 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16467:{ *:[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)
34382 /* 97127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rmi),
34383 /* 97130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34384 /* 97132 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34385 /* 97134 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34386 /* 97136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
34387 /* 97140 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
34388 /* 97142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34389 /* 97147 */ GIR_RootConstrainSelectedInstOperands,
34390 /* 97148 */ // GIR_Coverage, 3551,
34391 /* 97148 */ GIR_EraseRootFromParent_Done,
34392 /* 97149 */ // Label 2629: @97149
34393 /* 97149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2630*/ GIMT_Encode4(97178), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3550 //
34394 /* 97156 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34395 /* 97160 */ // MIs[0] src4
34396 /* 97160 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
34397 /* 97163 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16467:{ *:[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)
34398 /* 97163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rri),
34399 /* 97166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34400 /* 97168 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34401 /* 97170 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34402 /* 97172 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34403 /* 97174 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
34404 /* 97176 */ GIR_RootConstrainSelectedInstOperands,
34405 /* 97177 */ // GIR_Coverage, 3550,
34406 /* 97177 */ GIR_EraseRootFromParent_Done,
34407 /* 97178 */ // Label 2630: @97178
34408 /* 97178 */ GIM_Reject,
34409 /* 97179 */ // Label 2628: @97179
34410 /* 97179 */ GIM_Reject,
34411 /* 97180 */ // Label 21: @97180
34412 /* 97180 */ GIM_Try, /*On fail goto*//*Label 2631*/ GIMT_Encode4(97725),
34413 /* 97185 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/1,
34414 /* 97188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2632*/ GIMT_Encode4(97209), GIMT_Encode2(GIFBS_HasSERIALIZE), // Rule ID 149 //
34415 /* 97195 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_serialize),
34416 /* 97200 */ // (intrinsic_void 16189:{ *:[iPTR] }) => (SERIALIZE)
34417 /* 97200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SERIALIZE),
34418 /* 97203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34419 /* 97207 */ GIR_RootConstrainSelectedInstOperands,
34420 /* 97208 */ // GIR_Coverage, 149,
34421 /* 97208 */ GIR_EraseRootFromParent_Done,
34422 /* 97209 */ // Label 2632: @97209
34423 /* 97209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2633*/ GIMT_Encode4(97230), GIMT_Encode2(GIFBS_HasTSXLDTRK), // Rule ID 150 //
34424 /* 97216 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsusldtrk),
34425 /* 97221 */ // (intrinsic_void 16549:{ *:[iPTR] }) => (XSUSLDTRK)
34426 /* 97221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSUSLDTRK),
34427 /* 97224 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34428 /* 97228 */ GIR_RootConstrainSelectedInstOperands,
34429 /* 97229 */ // GIR_Coverage, 150,
34430 /* 97229 */ GIR_EraseRootFromParent_Done,
34431 /* 97230 */ // Label 2633: @97230
34432 /* 97230 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2634*/ GIMT_Encode4(97251), GIMT_Encode2(GIFBS_HasTSXLDTRK), // Rule ID 151 //
34433 /* 97237 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xresldtrk),
34434 /* 97242 */ // (intrinsic_void 16535:{ *:[iPTR] }) => (XRESLDTRK)
34435 /* 97242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRESLDTRK),
34436 /* 97245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34437 /* 97249 */ GIR_RootConstrainSelectedInstOperands,
34438 /* 97250 */ // GIR_Coverage, 151,
34439 /* 97250 */ GIR_EraseRootFromParent_Done,
34440 /* 97251 */ // Label 2634: @97251
34441 /* 97251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2635*/ GIMT_Encode4(97272), GIMT_Encode2(GIFBS_HasUINTR_In64BitMode), // Rule ID 152 //
34442 /* 97258 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clui),
34443 /* 97263 */ // (intrinsic_void 16047:{ *:[iPTR] }) => (CLUI)
34444 /* 97263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLUI),
34445 /* 97266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34446 /* 97270 */ GIR_RootConstrainSelectedInstOperands,
34447 /* 97271 */ // GIR_Coverage, 152,
34448 /* 97271 */ GIR_EraseRootFromParent_Done,
34449 /* 97272 */ // Label 2635: @97272
34450 /* 97272 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2636*/ GIMT_Encode4(97293), GIMT_Encode2(GIFBS_HasUINTR_In64BitMode), // Rule ID 153 //
34451 /* 97279 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_stui),
34452 /* 97284 */ // (intrinsic_void 16371:{ *:[iPTR] }) => (STUI)
34453 /* 97284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STUI),
34454 /* 97287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34455 /* 97291 */ GIR_RootConstrainSelectedInstOperands,
34456 /* 97292 */ // GIR_Coverage, 153,
34457 /* 97292 */ GIR_EraseRootFromParent_Done,
34458 /* 97293 */ // Label 2636: @97293
34459 /* 97293 */ GIM_Try, /*On fail goto*//*Label 2637*/ GIMT_Encode4(97312), // Rule ID 2491 //
34460 /* 97298 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_pause),
34461 /* 97303 */ // (intrinsic_void 16266:{ *:[iPTR] }) => (PAUSE)
34462 /* 97303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PAUSE),
34463 /* 97306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34464 /* 97310 */ GIR_RootConstrainSelectedInstOperands,
34465 /* 97311 */ // GIR_Coverage, 2491,
34466 /* 97311 */ GIR_EraseRootFromParent_Done,
34467 /* 97312 */ // Label 2637: @97312
34468 /* 97312 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2638*/ GIMT_Encode4(97333), GIMT_Encode2(GIFBS_HasSSE1), // Rule ID 2492 //
34469 /* 97319 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_sfence),
34470 /* 97324 */ // (intrinsic_void 16228:{ *:[iPTR] }) => (SFENCE)
34471 /* 97324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SFENCE),
34472 /* 97327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34473 /* 97331 */ GIR_RootConstrainSelectedInstOperands,
34474 /* 97332 */ // GIR_Coverage, 2492,
34475 /* 97332 */ GIR_EraseRootFromParent_Done,
34476 /* 97333 */ // Label 2638: @97333
34477 /* 97333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2639*/ GIMT_Encode4(97354), GIMT_Encode2(GIFBS_HasSSE2), // Rule ID 2493 //
34478 /* 97340 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_lfence),
34479 /* 97345 */ // (intrinsic_void 16255:{ *:[iPTR] }) => (LFENCE)
34480 /* 97345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LFENCE),
34481 /* 97348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34482 /* 97352 */ GIR_RootConstrainSelectedInstOperands,
34483 /* 97353 */ // GIR_Coverage, 2493,
34484 /* 97353 */ GIR_EraseRootFromParent_Done,
34485 /* 97354 */ // Label 2639: @97354
34486 /* 97354 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2640*/ GIMT_Encode4(97375), GIMT_Encode2(GIFBS_HasMFence), // Rule ID 2494 //
34487 /* 97361 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_mfence),
34488 /* 97366 */ // (intrinsic_void 16259:{ *:[iPTR] }) => (MFENCE)
34489 /* 97366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MFENCE),
34490 /* 97369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34491 /* 97373 */ GIR_RootConstrainSelectedInstOperands,
34492 /* 97374 */ // GIR_Coverage, 2494,
34493 /* 97374 */ GIR_EraseRootFromParent_Done,
34494 /* 97375 */ // Label 2640: @97375
34495 /* 97375 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2641*/ GIMT_Encode4(97440), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3415 //
34496 /* 97382 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroall),
34497 /* 97387 */ // (intrinsic_void 14961:{ *:[iPTR] }) => (VZEROALL)
34498 /* 97387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROALL),
34499 /* 97390 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
34500 /* 97393 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
34501 /* 97396 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
34502 /* 97399 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
34503 /* 97402 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
34504 /* 97405 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
34505 /* 97408 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
34506 /* 97411 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
34507 /* 97414 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
34508 /* 97417 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
34509 /* 97420 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
34510 /* 97423 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
34511 /* 97426 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
34512 /* 97429 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
34513 /* 97432 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
34514 /* 97435 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
34515 /* 97438 */ GIR_RootConstrainSelectedInstOperands,
34516 /* 97439 */ // GIR_Coverage, 3415,
34517 /* 97439 */ GIR_EraseRootFromParent_Done,
34518 /* 97440 */ // Label 2641: @97440
34519 /* 97440 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2642*/ GIMT_Encode4(97505), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3416 //
34520 /* 97447 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroupper),
34521 /* 97452 */ // (intrinsic_void 14962:{ *:[iPTR] }) => (VZEROUPPER)
34522 /* 97452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROUPPER),
34523 /* 97455 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
34524 /* 97458 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
34525 /* 97461 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
34526 /* 97464 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
34527 /* 97467 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
34528 /* 97470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
34529 /* 97473 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
34530 /* 97476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
34531 /* 97479 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
34532 /* 97482 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
34533 /* 97485 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
34534 /* 97488 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
34535 /* 97491 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
34536 /* 97494 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
34537 /* 97497 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
34538 /* 97500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
34539 /* 97503 */ GIR_RootConstrainSelectedInstOperands,
34540 /* 97504 */ // GIR_Coverage, 3416,
34541 /* 97504 */ GIR_EraseRootFromParent_Done,
34542 /* 97505 */ // Label 2642: @97505
34543 /* 97505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2643*/ GIMT_Encode4(97574), GIMT_Encode2(GIFBS_HasMMX), // Rule ID 16859 //
34544 /* 97512 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mmx_emms),
34545 /* 97517 */ // (intrinsic_void 16082:{ *:[iPTR] }) => (MMX_EMMS:{ *:[x86mmx] })
34546 /* 97517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MMX_EMMS),
34547 /* 97520 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM0*/0,
34548 /* 97523 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM1*/1,
34549 /* 97526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM2*/2,
34550 /* 97529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM3*/3,
34551 /* 97532 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM4*/4,
34552 /* 97535 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM5*/5,
34553 /* 97538 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM6*/6,
34554 /* 97541 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM7*/7,
34555 /* 97544 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST0*/8,
34556 /* 97547 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST1*/9,
34557 /* 97550 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST2*/10,
34558 /* 97553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST3*/11,
34559 /* 97556 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST4*/12,
34560 /* 97559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST5*/13,
34561 /* 97562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST6*/14,
34562 /* 97565 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST7*/15,
34563 /* 97568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34564 /* 97572 */ GIR_RootConstrainSelectedInstOperands,
34565 /* 97573 */ // GIR_Coverage, 16859,
34566 /* 97573 */ GIR_EraseRootFromParent_Done,
34567 /* 97574 */ // Label 2643: @97574
34568 /* 97574 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2644*/ GIMT_Encode4(97595), GIMT_Encode2(GIFBS_HasRTM), // Rule ID 17042 //
34569 /* 97581 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xend),
34570 /* 97586 */ // (intrinsic_void 16487:{ *:[iPTR] }) => (XEND)
34571 /* 97586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XEND),
34572 /* 97589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34573 /* 97593 */ GIR_RootConstrainSelectedInstOperands,
34574 /* 97594 */ // GIR_Coverage, 17042,
34575 /* 97594 */ GIR_EraseRootFromParent_Done,
34576 /* 97595 */ // Label 2644: @97595
34577 /* 97595 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2645*/ GIMT_Encode4(97640), GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode), // Rule ID 17054 //
34578 /* 97602 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilerelease),
34579 /* 97607 */ // (intrinsic_void 16427:{ *:[iPTR] }) => (TILERELEASE:{ *:[x86amx] })
34580 /* 97607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TILERELEASE),
34581 /* 97610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
34582 /* 97613 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
34583 /* 97616 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
34584 /* 97619 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
34585 /* 97622 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
34586 /* 97625 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
34587 /* 97628 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
34588 /* 97631 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
34589 /* 97634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34590 /* 97638 */ GIR_RootConstrainSelectedInstOperands,
34591 /* 97639 */ // GIR_Coverage, 17054,
34592 /* 97639 */ GIR_EraseRootFromParent_Done,
34593 /* 97640 */ // Label 2645: @97640
34594 /* 97640 */ GIM_Try, /*On fail goto*//*Label 2646*/ GIMT_Encode4(97659), // Rule ID 17125 //
34595 /* 97645 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbinvd),
34596 /* 97650 */ // (intrinsic_void 16474:{ *:[iPTR] }) => (WBINVD)
34597 /* 97650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBINVD),
34598 /* 97653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34599 /* 97657 */ GIR_RootConstrainSelectedInstOperands,
34600 /* 97658 */ // GIR_Coverage, 17125,
34601 /* 97658 */ GIR_EraseRootFromParent_Done,
34602 /* 97659 */ // Label 2646: @97659
34603 /* 97659 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2647*/ GIMT_Encode4(97680), GIMT_Encode2(GIFBS_HasWBNOINVD), // Rule ID 17126 //
34604 /* 97666 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbnoinvd),
34605 /* 97671 */ // (intrinsic_void 16475:{ *:[iPTR] }) => (WBNOINVD)
34606 /* 97671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBNOINVD),
34607 /* 97674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34608 /* 97678 */ GIR_RootConstrainSelectedInstOperands,
34609 /* 97679 */ // GIR_Coverage, 17126,
34610 /* 97679 */ GIR_EraseRootFromParent_Done,
34611 /* 97680 */ // Label 2647: @97680
34612 /* 97680 */ GIM_Try, /*On fail goto*//*Label 2648*/ GIMT_Encode4(97702), // Rule ID 17131 //
34613 /* 97685 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_saveprevssp),
34614 /* 97690 */ // (intrinsic_void 16184:{ *:[iPTR] }) => (SAVEPREVSSP)
34615 /* 97690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAVEPREVSSP),
34616 /* 97693 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
34617 /* 97696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34618 /* 97700 */ GIR_RootConstrainSelectedInstOperands,
34619 /* 97701 */ // GIR_Coverage, 17131,
34620 /* 97701 */ GIR_EraseRootFromParent_Done,
34621 /* 97702 */ // Label 2648: @97702
34622 /* 97702 */ GIM_Try, /*On fail goto*//*Label 2649*/ GIMT_Encode4(97724), // Rule ID 17141 //
34623 /* 97707 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_setssbsy),
34624 /* 97712 */ // (intrinsic_void 16190:{ *:[iPTR] }) => (SETSSBSY)
34625 /* 97712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SETSSBSY),
34626 /* 97715 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
34627 /* 97718 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34628 /* 97722 */ GIR_RootConstrainSelectedInstOperands,
34629 /* 97723 */ // GIR_Coverage, 17141,
34630 /* 97723 */ GIR_EraseRootFromParent_Done,
34631 /* 97724 */ // Label 2649: @97724
34632 /* 97724 */ GIM_Reject,
34633 /* 97725 */ // Label 2631: @97725
34634 /* 97725 */ GIM_Try, /*On fail goto*//*Label 2650*/ GIMT_Encode4(99576),
34635 /* 97730 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/2,
34636 /* 97733 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2651*/ GIMT_Encode4(97790), GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode), // Rule ID 17169 //
34637 /* 97740 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
34638 /* 97745 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
34639 /* 97748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
34640 /* 97752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34641 /* 97756 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34642 /* 97759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34643 /* 97763 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34644 /* 97767 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34645 /* 97769 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34646 /* 97776 */ // (intrinsic_void 16164:{ *:[iPTR] }, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (PTWRITE64m addr:{ *:[iPTR] }:$dst)
34647 /* 97776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64m),
34648 /* 97779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34649 /* 97783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34650 /* 97788 */ GIR_RootConstrainSelectedInstOperands,
34651 /* 97789 */ // GIR_Coverage, 17169,
34652 /* 97789 */ GIR_EraseRootFromParent_Done,
34653 /* 97790 */ // Label 2651: @97790
34654 /* 97790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2652*/ GIMT_Encode4(97847), GIMT_Encode2(GIFBS_HasPTWRITE), // Rule ID 17168 //
34655 /* 97797 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
34656 /* 97802 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
34657 /* 97805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
34658 /* 97809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34659 /* 97813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34660 /* 97816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34661 /* 97820 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
34662 /* 97824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34663 /* 97826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34664 /* 97833 */ // (intrinsic_void 16163:{ *:[iPTR] }, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (PTWRITEm addr:{ *:[iPTR] }:$dst)
34665 /* 97833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEm),
34666 /* 97836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34667 /* 97840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34668 /* 97845 */ GIR_RootConstrainSelectedInstOperands,
34669 /* 97846 */ // GIR_Coverage, 17168,
34670 /* 97846 */ GIR_EraseRootFromParent_Done,
34671 /* 97847 */ // Label 2652: @97847
34672 /* 97847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2653*/ GIMT_Encode4(97883), GIMT_Encode2(GIFBS_HasCLFLUSHOPT), // Rule ID 162 //
34673 /* 97854 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clflushopt),
34674 /* 97859 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34675 /* 97863 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34676 /* 97870 */ // (intrinsic_void 16045:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSHOPT addr:{ *:[iPTR] }:$src)
34677 /* 97870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSHOPT),
34678 /* 97873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34679 /* 97877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34680 /* 97881 */ GIR_RootConstrainSelectedInstOperands,
34681 /* 97882 */ // GIR_Coverage, 162,
34682 /* 97882 */ GIR_EraseRootFromParent_Done,
34683 /* 97883 */ // Label 2653: @97883
34684 /* 97883 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2654*/ GIMT_Encode4(97919), GIMT_Encode2(GIFBS_HasCLWB), // Rule ID 163 //
34685 /* 97890 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clwb),
34686 /* 97895 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34687 /* 97899 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34688 /* 97906 */ // (intrinsic_void 16048:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLWB addr:{ *:[iPTR] }:$src)
34689 /* 97906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLWB),
34690 /* 97909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34691 /* 97913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34692 /* 97917 */ GIR_RootConstrainSelectedInstOperands,
34693 /* 97918 */ // GIR_Coverage, 163,
34694 /* 97918 */ GIR_EraseRootFromParent_Done,
34695 /* 97919 */ // Label 2654: @97919
34696 /* 97919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2655*/ GIMT_Encode4(97955), GIMT_Encode2(GIFBS_HasCLDEMOTE), // Rule ID 164 //
34697 /* 97926 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_cldemote),
34698 /* 97931 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34699 /* 97935 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34700 /* 97942 */ // (intrinsic_void 16044:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLDEMOTE addr:{ *:[iPTR] }:$src)
34701 /* 97942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLDEMOTE),
34702 /* 97945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34703 /* 97949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34704 /* 97953 */ GIR_RootConstrainSelectedInstOperands,
34705 /* 97954 */ // GIR_Coverage, 164,
34706 /* 97954 */ GIR_EraseRootFromParent_Done,
34707 /* 97955 */ // Label 2655: @97955
34708 /* 97955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2656*/ GIMT_Encode4(97991), GIMT_Encode2(GIFBS_HasMOVRS), // Rule ID 169 //
34709 /* 97962 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_prefetchrs),
34710 /* 97967 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34711 /* 97971 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34712 /* 97978 */ // (intrinsic_void 16162:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (PREFETCHRST2 addr:{ *:[iPTR] }:$src)
34713 /* 97978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHRST2),
34714 /* 97981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34715 /* 97985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34716 /* 97989 */ GIR_RootConstrainSelectedInstOperands,
34717 /* 97990 */ // GIR_Coverage, 169,
34718 /* 97990 */ GIR_EraseRootFromParent_Done,
34719 /* 97991 */ // Label 2656: @97991
34720 /* 97991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2657*/ GIMT_Encode4(98027), GIMT_Encode2(GIFBS_HasFXSR), // Rule ID 1109 //
34721 /* 97998 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave),
34722 /* 98003 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34723 /* 98007 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34724 /* 98014 */ // (intrinsic_void 16068:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE addr:{ *:[iPTR] }:$dst)
34725 /* 98014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE),
34726 /* 98017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34727 /* 98021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34728 /* 98025 */ GIR_RootConstrainSelectedInstOperands,
34729 /* 98026 */ // GIR_Coverage, 1109,
34730 /* 98026 */ GIR_EraseRootFromParent_Done,
34731 /* 98027 */ // Label 2657: @98027
34732 /* 98027 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2658*/ GIMT_Encode4(98063), GIMT_Encode2(GIFBS_HasFXSR_In64BitMode), // Rule ID 1110 //
34733 /* 98034 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave64),
34734 /* 98039 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34735 /* 98043 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34736 /* 98050 */ // (intrinsic_void 16069:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE64 addr:{ *:[iPTR] }:$dst)
34737 /* 98050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE64),
34738 /* 98053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34739 /* 98057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34740 /* 98061 */ GIR_RootConstrainSelectedInstOperands,
34741 /* 98062 */ // GIR_Coverage, 1110,
34742 /* 98062 */ GIR_EraseRootFromParent_Done,
34743 /* 98063 */ // Label 2658: @98063
34744 /* 98063 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2659*/ GIMT_Encode4(98105), GIMT_Encode2(GIFBS_HasFXSR), // Rule ID 1111 //
34745 /* 98070 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor),
34746 /* 98075 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34747 /* 98079 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34748 /* 98086 */ // (intrinsic_void 16066:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR:{ *:[i16] } addr:{ *:[iPTR] }:$src)
34749 /* 98086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR),
34750 /* 98089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34751 /* 98093 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
34752 /* 98096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
34753 /* 98099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34754 /* 98103 */ GIR_RootConstrainSelectedInstOperands,
34755 /* 98104 */ // GIR_Coverage, 1111,
34756 /* 98104 */ GIR_EraseRootFromParent_Done,
34757 /* 98105 */ // Label 2659: @98105
34758 /* 98105 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2660*/ GIMT_Encode4(98147), GIMT_Encode2(GIFBS_HasFXSR_In64BitMode), // Rule ID 1112 //
34759 /* 98112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor64),
34760 /* 98117 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34761 /* 98121 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34762 /* 98128 */ // (intrinsic_void 16067:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR64:{ *:[i16] } addr:{ *:[iPTR] }:$src)
34763 /* 98128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR64),
34764 /* 98131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34765 /* 98135 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
34766 /* 98138 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
34767 /* 98141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34768 /* 98145 */ GIR_RootConstrainSelectedInstOperands,
34769 /* 98146 */ // GIR_Coverage, 1112,
34770 /* 98146 */ GIR_EraseRootFromParent_Done,
34771 /* 98147 */ // Label 2660: @98147
34772 /* 98147 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2661*/ GIMT_Encode4(98183), GIMT_Encode2(GIFBS_HasCLFLUSH), // Rule ID 2490 //
34773 /* 98154 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_clflush),
34774 /* 98159 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34775 /* 98163 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34776 /* 98170 */ // (intrinsic_void 16236:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSH addr:{ *:[iPTR] }:$src)
34777 /* 98170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSH),
34778 /* 98173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34779 /* 98177 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34780 /* 98181 */ GIR_RootConstrainSelectedInstOperands,
34781 /* 98182 */ // GIR_Coverage, 2490,
34782 /* 98182 */ GIR_EraseRootFromParent_Done,
34783 /* 98183 */ // Label 2661: @98183
34784 /* 98183 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2662*/ GIMT_Encode4(98222), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2495 //
34785 /* 98190 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
34786 /* 98195 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34787 /* 98199 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34788 /* 98206 */ // (intrinsic_void 16217:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDMXCSR addr:{ *:[iPTR] }:$src)
34789 /* 98206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDMXCSR),
34790 /* 98209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34791 /* 98213 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
34792 /* 98216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34793 /* 98220 */ GIR_RootConstrainSelectedInstOperands,
34794 /* 98221 */ // GIR_Coverage, 2495,
34795 /* 98221 */ GIR_EraseRootFromParent_Done,
34796 /* 98222 */ // Label 2662: @98222
34797 /* 98222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2663*/ GIMT_Encode4(98258), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2496 //
34798 /* 98229 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
34799 /* 98234 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34800 /* 98238 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34801 /* 98245 */ // (intrinsic_void 16229:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (VSTMXCSR addr:{ *:[iPTR] }:$dst)
34802 /* 98245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSTMXCSR),
34803 /* 98248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34804 /* 98252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34805 /* 98256 */ GIR_RootConstrainSelectedInstOperands,
34806 /* 98257 */ // GIR_Coverage, 2496,
34807 /* 98257 */ GIR_EraseRootFromParent_Done,
34808 /* 98258 */ // Label 2663: @98258
34809 /* 98258 */ GIM_Try, /*On fail goto*//*Label 2664*/ GIMT_Encode4(98295), // Rule ID 2497 //
34810 /* 98263 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
34811 /* 98268 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34812 /* 98272 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34813 /* 98279 */ // (intrinsic_void 16217:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDMXCSR addr:{ *:[iPTR] }:$src)
34814 /* 98279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDMXCSR),
34815 /* 98282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34816 /* 98286 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
34817 /* 98289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34818 /* 98293 */ GIR_RootConstrainSelectedInstOperands,
34819 /* 98294 */ // GIR_Coverage, 2497,
34820 /* 98294 */ GIR_EraseRootFromParent_Done,
34821 /* 98295 */ // Label 2664: @98295
34822 /* 98295 */ GIM_Try, /*On fail goto*//*Label 2665*/ GIMT_Encode4(98329), // Rule ID 2498 //
34823 /* 98300 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
34824 /* 98305 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34825 /* 98309 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34826 /* 98316 */ // (intrinsic_void 16229:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (STMXCSR addr:{ *:[iPTR] }:$dst)
34827 /* 98316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STMXCSR),
34828 /* 98319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34829 /* 98323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34830 /* 98327 */ GIR_RootConstrainSelectedInstOperands,
34831 /* 98328 */ // GIR_Coverage, 2498,
34832 /* 98328 */ GIR_EraseRootFromParent_Done,
34833 /* 98329 */ // Label 2665: @98329
34834 /* 98329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2666*/ GIMT_Encode4(98389), GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR), // Rule ID 17050 //
34835 /* 98336 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
34836 /* 98341 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34837 /* 98345 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34838 /* 98352 */ // (intrinsic_void 16074:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
34839 /* 98352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG),
34840 /* 98355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34841 /* 98359 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
34842 /* 98362 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
34843 /* 98365 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
34844 /* 98368 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
34845 /* 98371 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
34846 /* 98374 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
34847 /* 98377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
34848 /* 98380 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
34849 /* 98383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34850 /* 98387 */ GIR_RootConstrainSelectedInstOperands,
34851 /* 98388 */ // GIR_Coverage, 17050,
34852 /* 98388 */ GIR_EraseRootFromParent_Done,
34853 /* 98389 */ // Label 2666: @98389
34854 /* 98389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2667*/ GIMT_Encode4(98425), GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR), // Rule ID 17051 //
34855 /* 98396 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
34856 /* 98401 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34857 /* 98405 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34858 /* 98412 */ // (intrinsic_void 16370:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG addr:{ *:[iPTR] }:$src)
34859 /* 98412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG),
34860 /* 98415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34861 /* 98419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34862 /* 98423 */ GIR_RootConstrainSelectedInstOperands,
34863 /* 98424 */ // GIR_Coverage, 17051,
34864 /* 98424 */ GIR_EraseRootFromParent_Done,
34865 /* 98425 */ // Label 2667: @98425
34866 /* 98425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2668*/ GIMT_Encode4(98485), GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode), // Rule ID 17052 //
34867 /* 98432 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
34868 /* 98437 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34869 /* 98441 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34870 /* 98448 */ // (intrinsic_void 16074:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG_EVEX:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
34871 /* 98448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG_EVEX),
34872 /* 98451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34873 /* 98455 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
34874 /* 98458 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
34875 /* 98461 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
34876 /* 98464 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
34877 /* 98467 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
34878 /* 98470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
34879 /* 98473 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
34880 /* 98476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
34881 /* 98479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34882 /* 98483 */ GIR_RootConstrainSelectedInstOperands,
34883 /* 98484 */ // GIR_Coverage, 17052,
34884 /* 98484 */ GIR_EraseRootFromParent_Done,
34885 /* 98485 */ // Label 2668: @98485
34886 /* 98485 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2669*/ GIMT_Encode4(98521), GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode), // Rule ID 17053 //
34887 /* 98492 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
34888 /* 98497 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34889 /* 98501 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34890 /* 98508 */ // (intrinsic_void 16370:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG_EVEX addr:{ *:[iPTR] }:$src)
34891 /* 98508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG_EVEX),
34892 /* 98511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34893 /* 98515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34894 /* 98519 */ GIR_RootConstrainSelectedInstOperands,
34895 /* 98520 */ // GIR_Coverage, 17053,
34896 /* 98520 */ GIR_EraseRootFromParent_Done,
34897 /* 98521 */ // Label 2669: @98521
34898 /* 98521 */ GIM_Try, /*On fail goto*//*Label 2670*/ GIMT_Encode4(98558), // Rule ID 17132 //
34899 /* 98526 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_rstorssp),
34900 /* 98531 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34901 /* 98535 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34902 /* 98542 */ // (intrinsic_void 16183:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (RSTORSSP addr:{ *:[iPTR] }:$src)
34903 /* 98542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSTORSSP),
34904 /* 98545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34905 /* 98549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
34906 /* 98552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34907 /* 98556 */ GIR_RootConstrainSelectedInstOperands,
34908 /* 98557 */ // GIR_Coverage, 17132,
34909 /* 98557 */ GIR_EraseRootFromParent_Done,
34910 /* 98558 */ // Label 2670: @98558
34911 /* 98558 */ GIM_Try, /*On fail goto*//*Label 2671*/ GIMT_Encode4(98595), // Rule ID 17142 //
34912 /* 98563 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clrssbsy),
34913 /* 98568 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34914 /* 98572 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34915 /* 98579 */ // (intrinsic_void 16046:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLRSSBSY addr:{ *:[iPTR] }:$src)
34916 /* 98579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLRSSBSY),
34917 /* 98582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34918 /* 98586 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
34919 /* 98589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34920 /* 98593 */ GIR_RootConstrainSelectedInstOperands,
34921 /* 98594 */ // GIR_Coverage, 17142,
34922 /* 98594 */ GIR_EraseRootFromParent_Done,
34923 /* 98595 */ // Label 2671: @98595
34924 /* 98595 */ GIM_Try, /*On fail goto*//*Label 2672*/ GIMT_Encode4(98625), // Rule ID 17114 //
34925 /* 98600 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
34926 /* 98605 */ // MIs[0] Operand 1
34927 /* 98605 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(3),
34928 /* 98616 */ // (intrinsic_void 16072:{ *:[iPTR] }, 3:{ *:[i8] }) => (INT3)
34929 /* 98616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT3),
34930 /* 98619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34931 /* 98623 */ GIR_RootConstrainSelectedInstOperands,
34932 /* 98624 */ // GIR_Coverage, 17114,
34933 /* 98624 */ GIR_EraseRootFromParent_Done,
34934 /* 98625 */ // Label 2672: @98625
34935 /* 98625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2673*/ GIMT_Encode4(98651), GIMT_Encode2(GIFBS_HasRTM), // Rule ID 17044 //
34936 /* 98632 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xabort),
34937 /* 98637 */ // MIs[0] imm
34938 /* 98637 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
34939 /* 98640 */ // (intrinsic_void 16485:{ *:[iPTR] }, (timm:{ *:[i8] }):$imm) => (XABORT (timm:{ *:[i8] }):$imm)
34940 /* 98640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XABORT),
34941 /* 98643 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm
34942 /* 98645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34943 /* 98649 */ GIR_RootConstrainSelectedInstOperands,
34944 /* 98650 */ // GIR_Coverage, 17044,
34945 /* 98650 */ GIR_EraseRootFromParent_Done,
34946 /* 98651 */ // Label 2673: @98651
34947 /* 98651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2674*/ GIMT_Encode4(98677), GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode), // Rule ID 17056 //
34948 /* 98658 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilezero),
34949 /* 98663 */ // MIs[0] src
34950 /* 98663 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
34951 /* 98666 */ // (intrinsic_void 16430:{ *:[iPTR] }, (timm:{ *:[i8] }):$src) => (PTILEZERO (timm:{ *:[i8] }):$src)
34952 /* 98666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEZERO),
34953 /* 98669 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
34954 /* 98671 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34955 /* 98675 */ GIR_RootConstrainSelectedInstOperands,
34956 /* 98676 */ // GIR_Coverage, 17056,
34957 /* 98676 */ GIR_EraseRootFromParent_Done,
34958 /* 98677 */ // Label 2674: @98677
34959 /* 98677 */ GIM_Try, /*On fail goto*//*Label 2675*/ GIMT_Encode4(98701), // Rule ID 17116 //
34960 /* 98682 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
34961 /* 98687 */ // MIs[0] trap
34962 /* 98687 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
34963 /* 98690 */ // (intrinsic_void 16072:{ *:[iPTR] }, (timm:{ *:[i8] }):$trap) => (INT (timm:{ *:[i8] }):$trap)
34964 /* 98690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
34965 /* 98693 */ GIR_RootToRootCopy, /*OpIdx*/1, // trap
34966 /* 98695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34967 /* 98699 */ GIR_RootConstrainSelectedInstOperands,
34968 /* 98700 */ // GIR_Coverage, 17116,
34969 /* 98700 */ GIR_EraseRootFromParent_Done,
34970 /* 98701 */ // Label 2675: @98701
34971 /* 98701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2676*/ GIMT_Encode4(98734), GIMT_Encode2(GIFBS_Not64BitMode), // Rule ID 1 //
34972 /* 98708 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u32),
34973 /* 98713 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
34974 /* 98716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
34975 /* 98720 */ // (intrinsic_w_chain:{ *:[i32] } 16058:{ *:[iPTR] }) => (RDFLAGS32:{ *:[i32] }:{ *:[i32] })
34976 /* 98720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS32),
34977 /* 98723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34978 /* 98725 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
34979 /* 98728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34980 /* 98732 */ GIR_RootConstrainSelectedInstOperands,
34981 /* 98733 */ // GIR_Coverage, 1,
34982 /* 98733 */ GIR_EraseRootFromParent_Done,
34983 /* 98734 */ // Label 2676: @98734
34984 /* 98734 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2677*/ GIMT_Encode4(98767), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 2 //
34985 /* 98741 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u64),
34986 /* 98746 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
34987 /* 98749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
34988 /* 98753 */ // (intrinsic_w_chain:{ *:[i64] } 16059:{ *:[iPTR] }) => (RDFLAGS64:{ *:[i64] }:{ *:[i32] })
34989 /* 98753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS64),
34990 /* 98756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34991 /* 98758 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
34992 /* 98761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34993 /* 98765 */ GIR_RootConstrainSelectedInstOperands,
34994 /* 98766 */ // GIR_Coverage, 2,
34995 /* 98766 */ GIR_EraseRootFromParent_Done,
34996 /* 98767 */ // Label 2677: @98767
34997 /* 98767 */ GIM_Try, /*On fail goto*//*Label 2678*/ GIMT_Encode4(98843),
34998 /* 98772 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
34999 /* 98777 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 2681*/ GIMT_Encode4(98842),
35000 /* 98788 */ /*GILLT_s32*//*Label 2679*/ GIMT_Encode4(98796),
35001 /* 98792 */ /*GILLT_s64*//*Label 2680*/ GIMT_Encode4(98819),
35002 /* 98796 */ // Label 2679: @98796
35003 /* 98796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2682*/ GIMT_Encode4(98818), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 115 //
35004 /* 98803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35005 /* 98807 */ // (intrinsic_w_chain:{ *:[i32] } 16198:{ *:[iPTR] }) => (SLWPCB:{ *:[i32] })
35006 /* 98807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB),
35007 /* 98810 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35008 /* 98812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35009 /* 98816 */ GIR_RootConstrainSelectedInstOperands,
35010 /* 98817 */ // GIR_Coverage, 115,
35011 /* 98817 */ GIR_EraseRootFromParent_Done,
35012 /* 98818 */ // Label 2682: @98818
35013 /* 98818 */ GIM_Reject,
35014 /* 98819 */ // Label 2680: @98819
35015 /* 98819 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2683*/ GIMT_Encode4(98841), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 117 //
35016 /* 98826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35017 /* 98830 */ // (intrinsic_w_chain:{ *:[i64] } 16198:{ *:[iPTR] }) => (SLWPCB64:{ *:[i64] })
35018 /* 98830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB64),
35019 /* 98833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35020 /* 98835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35021 /* 98839 */ GIR_RootConstrainSelectedInstOperands,
35022 /* 98840 */ // GIR_Coverage, 117,
35023 /* 98840 */ GIR_EraseRootFromParent_Done,
35024 /* 98841 */ // Label 2683: @98841
35025 /* 98841 */ GIM_Reject,
35026 /* 98842 */ // Label 2681: @98842
35027 /* 98842 */ GIM_Reject,
35028 /* 98843 */ // Label 2678: @98843
35029 /* 98843 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2684*/ GIMT_Encode4(98873), GIMT_Encode2(GIFBS_HasRTM), // Rule ID 17041 //
35030 /* 98850 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xbegin),
35031 /* 98855 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35032 /* 98858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35033 /* 98862 */ // (intrinsic_w_chain:{ *:[i32] } 16486:{ *:[iPTR] }) => (XBEGIN:{ *:[i32] })
35034 /* 98862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XBEGIN),
35035 /* 98865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35036 /* 98867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35037 /* 98871 */ GIR_RootConstrainSelectedInstOperands,
35038 /* 98872 */ // GIR_Coverage, 17041,
35039 /* 98872 */ GIR_EraseRootFromParent_Done,
35040 /* 98873 */ // Label 2684: @98873
35041 /* 98873 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2685*/ GIMT_Encode4(98903), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17158 //
35042 /* 98880 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_32),
35043 /* 98885 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35044 /* 98888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35045 /* 98892 */ // (intrinsic_w_chain:{ *:[i32] } 16165:{ *:[iPTR] }) => (RDFSBASE:{ *:[i32] })
35046 /* 98892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE),
35047 /* 98895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35048 /* 98897 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35049 /* 98901 */ GIR_RootConstrainSelectedInstOperands,
35050 /* 98902 */ // GIR_Coverage, 17158,
35051 /* 98902 */ GIR_EraseRootFromParent_Done,
35052 /* 98903 */ // Label 2685: @98903
35053 /* 98903 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2686*/ GIMT_Encode4(98933), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17159 //
35054 /* 98910 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_64),
35055 /* 98915 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35056 /* 98918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35057 /* 98922 */ // (intrinsic_w_chain:{ *:[i64] } 16166:{ *:[iPTR] }) => (RDFSBASE64:{ *:[i64] })
35058 /* 98922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE64),
35059 /* 98925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35060 /* 98927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35061 /* 98931 */ GIR_RootConstrainSelectedInstOperands,
35062 /* 98932 */ // GIR_Coverage, 17159,
35063 /* 98932 */ GIR_EraseRootFromParent_Done,
35064 /* 98933 */ // Label 2686: @98933
35065 /* 98933 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2687*/ GIMT_Encode4(98963), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17160 //
35066 /* 98940 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_32),
35067 /* 98945 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35068 /* 98948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35069 /* 98952 */ // (intrinsic_w_chain:{ *:[i32] } 16167:{ *:[iPTR] }) => (RDGSBASE:{ *:[i32] })
35070 /* 98952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE),
35071 /* 98955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35072 /* 98957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35073 /* 98961 */ GIR_RootConstrainSelectedInstOperands,
35074 /* 98962 */ // GIR_Coverage, 17160,
35075 /* 98962 */ GIR_EraseRootFromParent_Done,
35076 /* 98963 */ // Label 2687: @98963
35077 /* 98963 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2688*/ GIMT_Encode4(98993), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17161 //
35078 /* 98970 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_64),
35079 /* 98975 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35080 /* 98978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35081 /* 98982 */ // (intrinsic_w_chain:{ *:[i64] } 16168:{ *:[iPTR] }) => (RDGSBASE64:{ *:[i64] })
35082 /* 98982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE64),
35083 /* 98985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35084 /* 98987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35085 /* 98991 */ GIR_RootConstrainSelectedInstOperands,
35086 /* 98992 */ // GIR_Coverage, 17161,
35087 /* 98992 */ GIR_EraseRootFromParent_Done,
35088 /* 98993 */ // Label 2688: @98993
35089 /* 98993 */ GIM_Try, /*On fail goto*//*Label 2689*/ GIMT_Encode4(99073),
35090 /* 98998 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
35091 /* 99003 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35092 /* 99006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35093 /* 99010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2690*/ GIMT_Encode4(99028), GIMT_Encode2(GIFBS_HasRDPID_Not64BitMode), // Rule ID 17167 //
35094 /* 99017 */ // (intrinsic_w_chain:{ *:[i32] } 16169:{ *:[iPTR] }) => (RDPID32:{ *:[i32] })
35095 /* 99017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDPID32),
35096 /* 99020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35097 /* 99022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35098 /* 99026 */ GIR_RootConstrainSelectedInstOperands,
35099 /* 99027 */ // GIR_Coverage, 17167,
35100 /* 99027 */ GIR_EraseRootFromParent_Done,
35101 /* 99028 */ // Label 2690: @99028
35102 /* 99028 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2691*/ GIMT_Encode4(99072), GIMT_Encode2(GIFBS_HasRDPID_In64BitMode), // Rule ID 22585 //
35103 /* 99035 */ // (intrinsic_w_chain:{ *:[i32] } 16169:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[i32] } (RDPID64:{ *:[i64] }), sub_32bit:{ *:[i32] })
35104 /* 99035 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
35105 /* 99038 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::RDPID64),
35106 /* 99042 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
35107 /* 99047 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
35108 /* 99049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
35109 /* 99052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35110 /* 99054 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_32bit),
35111 /* 99061 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
35112 /* 99066 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
35113 /* 99071 */ // GIR_Coverage, 22585,
35114 /* 99071 */ GIR_EraseRootFromParent_Done,
35115 /* 99072 */ // Label 2691: @99072
35116 /* 99072 */ GIM_Reject,
35117 /* 99073 */ // Label 2689: @99073
35118 /* 99073 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2692*/ GIMT_Encode4(99112), GIMT_Encode2(GIFBS_Not64BitMode), // Rule ID 3 //
35119 /* 99080 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u32),
35120 /* 99085 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35121 /* 99088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35122 /* 99092 */ // (intrinsic_void 16060:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFLAGS32:{ *:[i32] } GR32:{ *:[i32] }:$src)
35123 /* 99092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS32),
35124 /* 99095 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35125 /* 99097 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
35126 /* 99100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
35127 /* 99103 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
35128 /* 99106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35129 /* 99110 */ GIR_RootConstrainSelectedInstOperands,
35130 /* 99111 */ // GIR_Coverage, 3,
35131 /* 99111 */ GIR_EraseRootFromParent_Done,
35132 /* 99112 */ // Label 2692: @99112
35133 /* 99112 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2693*/ GIMT_Encode4(99151), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 4 //
35134 /* 99119 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u64),
35135 /* 99124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35136 /* 99127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35137 /* 99131 */ // (intrinsic_void 16061:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFLAGS64:{ *:[i64] } GR64:{ *:[i64] }:$src)
35138 /* 99131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS64),
35139 /* 99134 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35140 /* 99136 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::RSP*/0,
35141 /* 99139 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
35142 /* 99142 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
35143 /* 99145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35144 /* 99149 */ GIR_RootConstrainSelectedInstOperands,
35145 /* 99150 */ // GIR_Coverage, 4,
35146 /* 99150 */ GIR_EraseRootFromParent_Done,
35147 /* 99151 */ // Label 2693: @99151
35148 /* 99151 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2694*/ GIMT_Encode4(99181), GIMT_Encode2(GIFBS_HasUINTR_In64BitMode), // Rule ID 154 //
35149 /* 99158 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_senduipi),
35150 /* 99163 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35151 /* 99166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35152 /* 99170 */ // (intrinsic_void 16188:{ *:[iPTR] }, GR64:{ *:[i64] }:$arg) => (SENDUIPI GR64:{ *:[i64] }:$arg)
35153 /* 99170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SENDUIPI),
35154 /* 99173 */ GIR_RootToRootCopy, /*OpIdx*/1, // arg
35155 /* 99175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35156 /* 99179 */ GIR_RootConstrainSelectedInstOperands,
35157 /* 99180 */ // GIR_Coverage, 154,
35158 /* 99180 */ GIR_EraseRootFromParent_Done,
35159 /* 99181 */ // Label 2694: @99181
35160 /* 99181 */ GIM_Try, /*On fail goto*//*Label 2695*/ GIMT_Encode4(99212), // Rule ID 17127 //
35161 /* 99186 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspd),
35162 /* 99191 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35163 /* 99194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35164 /* 99198 */ // (intrinsic_void 16070:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (INCSSPD GR32:{ *:[i32] }:$src)
35165 /* 99198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPD),
35166 /* 99201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35167 /* 99203 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35168 /* 99206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35169 /* 99210 */ GIR_RootConstrainSelectedInstOperands,
35170 /* 99211 */ // GIR_Coverage, 17127,
35171 /* 99211 */ GIR_EraseRootFromParent_Done,
35172 /* 99212 */ // Label 2695: @99212
35173 /* 99212 */ GIM_Try, /*On fail goto*//*Label 2696*/ GIMT_Encode4(99243), // Rule ID 17128 //
35174 /* 99217 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspq),
35175 /* 99222 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35176 /* 99225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35177 /* 99229 */ // (intrinsic_void 16071:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (INCSSPQ GR64:{ *:[i64] }:$src)
35178 /* 99229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPQ),
35179 /* 99232 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35180 /* 99234 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35181 /* 99237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35182 /* 99241 */ GIR_RootConstrainSelectedInstOperands,
35183 /* 99242 */ // GIR_Coverage, 17128,
35184 /* 99242 */ GIR_EraseRootFromParent_Done,
35185 /* 99243 */ // Label 2696: @99243
35186 /* 99243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2697*/ GIMT_Encode4(99273), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17162 //
35187 /* 99250 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_32),
35188 /* 99255 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35189 /* 99258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35190 /* 99262 */ // (intrinsic_void 16476:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFSBASE GR32:{ *:[i32] }:$src)
35191 /* 99262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE),
35192 /* 99265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35193 /* 99267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35194 /* 99271 */ GIR_RootConstrainSelectedInstOperands,
35195 /* 99272 */ // GIR_Coverage, 17162,
35196 /* 99272 */ GIR_EraseRootFromParent_Done,
35197 /* 99273 */ // Label 2697: @99273
35198 /* 99273 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2698*/ GIMT_Encode4(99303), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17163 //
35199 /* 99280 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_64),
35200 /* 99285 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35201 /* 99288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35202 /* 99292 */ // (intrinsic_void 16477:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFSBASE64 GR64:{ *:[i64] }:$src)
35203 /* 99292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE64),
35204 /* 99295 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35205 /* 99297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35206 /* 99301 */ GIR_RootConstrainSelectedInstOperands,
35207 /* 99302 */ // GIR_Coverage, 17163,
35208 /* 99302 */ GIR_EraseRootFromParent_Done,
35209 /* 99303 */ // Label 2698: @99303
35210 /* 99303 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2699*/ GIMT_Encode4(99333), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17164 //
35211 /* 99310 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_32),
35212 /* 99315 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35213 /* 99318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35214 /* 99322 */ // (intrinsic_void 16478:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRGSBASE GR32:{ *:[i32] }:$src)
35215 /* 99322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE),
35216 /* 99325 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35217 /* 99327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35218 /* 99331 */ GIR_RootConstrainSelectedInstOperands,
35219 /* 99332 */ // GIR_Coverage, 17164,
35220 /* 99332 */ GIR_EraseRootFromParent_Done,
35221 /* 99333 */ // Label 2699: @99333
35222 /* 99333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2700*/ GIMT_Encode4(99363), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17165 //
35223 /* 99340 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_64),
35224 /* 99345 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35225 /* 99348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35226 /* 99352 */ // (intrinsic_void 16479:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRGSBASE64 GR64:{ *:[i64] }:$src)
35227 /* 99352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE64),
35228 /* 99355 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35229 /* 99357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35230 /* 99361 */ GIR_RootConstrainSelectedInstOperands,
35231 /* 99362 */ // GIR_Coverage, 17165,
35232 /* 99362 */ GIR_EraseRootFromParent_Done,
35233 /* 99363 */ // Label 2700: @99363
35234 /* 99363 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2701*/ GIMT_Encode4(99393), GIMT_Encode2(GIFBS_HasPTWRITE), // Rule ID 17170 //
35235 /* 99370 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
35236 /* 99375 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35237 /* 99378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35238 /* 99382 */ // (intrinsic_void 16163:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst) => (PTWRITEr GR32:{ *:[i32] }:$dst)
35239 /* 99382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEr),
35240 /* 99385 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
35241 /* 99387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35242 /* 99391 */ GIR_RootConstrainSelectedInstOperands,
35243 /* 99392 */ // GIR_Coverage, 17170,
35244 /* 99392 */ GIR_EraseRootFromParent_Done,
35245 /* 99393 */ // Label 2701: @99393
35246 /* 99393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2702*/ GIMT_Encode4(99423), GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode), // Rule ID 17171 //
35247 /* 99400 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
35248 /* 99405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35249 /* 99408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35250 /* 99412 */ // (intrinsic_void 16164:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst) => (PTWRITE64r GR64:{ *:[i64] }:$dst)
35251 /* 99412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64r),
35252 /* 99415 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
35253 /* 99417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35254 /* 99421 */ GIR_RootConstrainSelectedInstOperands,
35255 /* 99422 */ // GIR_Coverage, 17171,
35256 /* 99422 */ GIR_EraseRootFromParent_Done,
35257 /* 99423 */ // Label 2702: @99423
35258 /* 99423 */ GIM_Try, /*On fail goto*//*Label 2703*/ GIMT_Encode4(99486),
35259 /* 99428 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
35260 /* 99433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2704*/ GIMT_Encode4(99459), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 114 //
35261 /* 99440 */ // MIs[0] src
35262 /* 99440 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
35263 /* 99444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35264 /* 99448 */ // (intrinsic_void 16076:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (LLWPCB GR32:{ *:[i32] }:$src)
35265 /* 99448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB),
35266 /* 99451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35267 /* 99453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35268 /* 99457 */ GIR_RootConstrainSelectedInstOperands,
35269 /* 99458 */ // GIR_Coverage, 114,
35270 /* 99458 */ GIR_EraseRootFromParent_Done,
35271 /* 99459 */ // Label 2704: @99459
35272 /* 99459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2705*/ GIMT_Encode4(99485), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 116 //
35273 /* 99466 */ // MIs[0] src
35274 /* 99466 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
35275 /* 99470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35276 /* 99474 */ // (intrinsic_void 16076:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (LLWPCB64 GR64:{ *:[i64] }:$src)
35277 /* 99474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB64),
35278 /* 99477 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35279 /* 99479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35280 /* 99483 */ GIR_RootConstrainSelectedInstOperands,
35281 /* 99484 */ // GIR_Coverage, 116,
35282 /* 99484 */ GIR_EraseRootFromParent_Done,
35283 /* 99485 */ // Label 2705: @99485
35284 /* 99485 */ GIM_Reject,
35285 /* 99486 */ // Label 2703: @99486
35286 /* 99486 */ GIM_Try, /*On fail goto*//*Label 2706*/ GIMT_Encode4(99575),
35287 /* 99491 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
35288 /* 99496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2707*/ GIMT_Encode4(99522), GIMT_Encode2(GIFBS_HasWAITPKG_Not64BitMode), // Rule ID 126 //
35289 /* 99503 */ // MIs[0] src
35290 /* 99503 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/16,
35291 /* 99507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35292 /* 99511 */ // (intrinsic_void 16433:{ *:[iPTR] }, GR16:{ *:[i16] }:$src) => (UMONITOR16 GR16:{ *:[i16] }:$src)
35293 /* 99511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR16),
35294 /* 99514 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35295 /* 99516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35296 /* 99520 */ GIR_RootConstrainSelectedInstOperands,
35297 /* 99521 */ // GIR_Coverage, 126,
35298 /* 99521 */ GIR_EraseRootFromParent_Done,
35299 /* 99522 */ // Label 2707: @99522
35300 /* 99522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2708*/ GIMT_Encode4(99548), GIMT_Encode2(GIFBS_HasWAITPKG), // Rule ID 127 //
35301 /* 99529 */ // MIs[0] src
35302 /* 99529 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
35303 /* 99533 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35304 /* 99537 */ // (intrinsic_void 16433:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (UMONITOR32 GR32:{ *:[i32] }:$src)
35305 /* 99537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR32),
35306 /* 99540 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35307 /* 99542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35308 /* 99546 */ GIR_RootConstrainSelectedInstOperands,
35309 /* 99547 */ // GIR_Coverage, 127,
35310 /* 99547 */ GIR_EraseRootFromParent_Done,
35311 /* 99548 */ // Label 2708: @99548
35312 /* 99548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2709*/ GIMT_Encode4(99574), GIMT_Encode2(GIFBS_HasWAITPKG_In64BitMode), // Rule ID 128 //
35313 /* 99555 */ // MIs[0] src
35314 /* 99555 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
35315 /* 99559 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35316 /* 99563 */ // (intrinsic_void 16433:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (UMONITOR64 GR64:{ *:[i64] }:$src)
35317 /* 99563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR64),
35318 /* 99566 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35319 /* 99568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35320 /* 99572 */ GIR_RootConstrainSelectedInstOperands,
35321 /* 99573 */ // GIR_Coverage, 128,
35322 /* 99573 */ GIR_EraseRootFromParent_Done,
35323 /* 99574 */ // Label 2709: @99574
35324 /* 99574 */ GIM_Reject,
35325 /* 99575 */ // Label 2706: @99575
35326 /* 99575 */ GIM_Reject,
35327 /* 99576 */ // Label 2650: @99576
35328 /* 99576 */ GIM_Try, /*On fail goto*//*Label 2710*/ GIMT_Encode4(102380),
35329 /* 99581 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
35330 /* 99584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2711*/ GIMT_Encode4(99629), GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR), // Rule ID 165 //
35331 /* 99591 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
35332 /* 99596 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
35333 /* 99599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
35334 /* 99603 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35335 /* 99607 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35336 /* 99614 */ // (intrinsic_w_chain:{ *:[i8] } 16156:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
35337 /* 99614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm),
35338 /* 99617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35339 /* 99619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35340 /* 99623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35341 /* 99627 */ GIR_RootConstrainSelectedInstOperands,
35342 /* 99628 */ // GIR_Coverage, 165,
35343 /* 99628 */ GIR_EraseRootFromParent_Done,
35344 /* 99629 */ // Label 2711: @99629
35345 /* 99629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2712*/ GIMT_Encode4(99674), GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR), // Rule ID 166 //
35346 /* 99636 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
35347 /* 99641 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
35348 /* 99644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35349 /* 99648 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35350 /* 99652 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35351 /* 99659 */ // (intrinsic_w_chain:{ *:[i16] } 16155:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35352 /* 99659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm),
35353 /* 99662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35354 /* 99664 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35355 /* 99668 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35356 /* 99672 */ GIR_RootConstrainSelectedInstOperands,
35357 /* 99673 */ // GIR_Coverage, 166,
35358 /* 99673 */ GIR_EraseRootFromParent_Done,
35359 /* 99674 */ // Label 2712: @99674
35360 /* 99674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2713*/ GIMT_Encode4(99719), GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR), // Rule ID 167 //
35361 /* 99681 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
35362 /* 99686 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35363 /* 99689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35364 /* 99693 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35365 /* 99697 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35366 /* 99704 */ // (intrinsic_w_chain:{ *:[i32] } 16157:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
35367 /* 99704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm),
35368 /* 99707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35369 /* 99709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35370 /* 99713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35371 /* 99717 */ GIR_RootConstrainSelectedInstOperands,
35372 /* 99718 */ // GIR_Coverage, 167,
35373 /* 99718 */ GIR_EraseRootFromParent_Done,
35374 /* 99719 */ // Label 2713: @99719
35375 /* 99719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2714*/ GIMT_Encode4(99764), GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR), // Rule ID 168 //
35376 /* 99726 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
35377 /* 99731 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35378 /* 99734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35379 /* 99738 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35380 /* 99742 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35381 /* 99749 */ // (intrinsic_w_chain:{ *:[i64] } 16154:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
35382 /* 99749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm),
35383 /* 99752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35384 /* 99754 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35385 /* 99758 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35386 /* 99762 */ GIR_RootConstrainSelectedInstOperands,
35387 /* 99763 */ // GIR_Coverage, 168,
35388 /* 99763 */ GIR_EraseRootFromParent_Done,
35389 /* 99764 */ // Label 2714: @99764
35390 /* 99764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2715*/ GIMT_Encode4(99809), GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode), // Rule ID 170 //
35391 /* 99771 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
35392 /* 99776 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
35393 /* 99779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
35394 /* 99783 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35395 /* 99787 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35396 /* 99794 */ // (intrinsic_w_chain:{ *:[i8] } 16156:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm_EVEX:{ *:[i8] } addr:{ *:[iPTR] }:$src)
35397 /* 99794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm_EVEX),
35398 /* 99797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35399 /* 99799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35400 /* 99803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35401 /* 99807 */ GIR_RootConstrainSelectedInstOperands,
35402 /* 99808 */ // GIR_Coverage, 170,
35403 /* 99808 */ GIR_EraseRootFromParent_Done,
35404 /* 99809 */ // Label 2715: @99809
35405 /* 99809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2716*/ GIMT_Encode4(99854), GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode), // Rule ID 171 //
35406 /* 99816 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
35407 /* 99821 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
35408 /* 99824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35409 /* 99828 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35410 /* 99832 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35411 /* 99839 */ // (intrinsic_w_chain:{ *:[i16] } 16155:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35412 /* 99839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm_EVEX),
35413 /* 99842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35414 /* 99844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35415 /* 99848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35416 /* 99852 */ GIR_RootConstrainSelectedInstOperands,
35417 /* 99853 */ // GIR_Coverage, 171,
35418 /* 99853 */ GIR_EraseRootFromParent_Done,
35419 /* 99854 */ // Label 2716: @99854
35420 /* 99854 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2717*/ GIMT_Encode4(99899), GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode), // Rule ID 172 //
35421 /* 99861 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
35422 /* 99866 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35423 /* 99869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35424 /* 99873 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35425 /* 99877 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35426 /* 99884 */ // (intrinsic_w_chain:{ *:[i32] } 16157:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src)
35427 /* 99884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm_EVEX),
35428 /* 99887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35429 /* 99889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35430 /* 99893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35431 /* 99897 */ GIR_RootConstrainSelectedInstOperands,
35432 /* 99898 */ // GIR_Coverage, 172,
35433 /* 99898 */ GIR_EraseRootFromParent_Done,
35434 /* 99899 */ // Label 2717: @99899
35435 /* 99899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2718*/ GIMT_Encode4(99944), GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode), // Rule ID 173 //
35436 /* 99906 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
35437 /* 99911 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35438 /* 99914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35439 /* 99918 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35440 /* 99922 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35441 /* 99929 */ // (intrinsic_w_chain:{ *:[i64] } 16154:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src)
35442 /* 99929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm_EVEX),
35443 /* 99932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35444 /* 99934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35445 /* 99938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35446 /* 99942 */ GIR_RootConstrainSelectedInstOperands,
35447 /* 99943 */ // GIR_Coverage, 173,
35448 /* 99943 */ GIR_EraseRootFromParent_Done,
35449 /* 99944 */ // Label 2718: @99944
35450 /* 99944 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2719*/ GIMT_Encode4(99989), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2937 //
35451 /* 99951 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
35452 /* 99956 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
35453 /* 99959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35454 /* 99963 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35455 /* 99967 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35456 /* 99974 */ // (intrinsic_w_chain:{ *:[v16i8] } 16302:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
35457 /* 99974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUrm),
35458 /* 99977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35459 /* 99979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35460 /* 99983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35461 /* 99987 */ GIR_RootConstrainSelectedInstOperands,
35462 /* 99988 */ // GIR_Coverage, 2937,
35463 /* 99988 */ GIR_EraseRootFromParent_Done,
35464 /* 99989 */ // Label 2719: @99989
35465 /* 99989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2720*/ GIMT_Encode4(100034), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2938 //
35466 /* 99996 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_ldu_dq_256),
35467 /* 100001 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
35468 /* 100004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35469 /* 100008 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35470 /* 100012 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35471 /* 100019 */ // (intrinsic_w_chain:{ *:[v32i8] } 14923:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
35472 /* 100019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUYrm),
35473 /* 100022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35474 /* 100024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35475 /* 100028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35476 /* 100032 */ GIR_RootConstrainSelectedInstOperands,
35477 /* 100033 */ // GIR_Coverage, 2938,
35478 /* 100033 */ GIR_EraseRootFromParent_Done,
35479 /* 100034 */ // Label 2720: @100034
35480 /* 100034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2721*/ GIMT_Encode4(100079), GIMT_Encode2(GIFBS_UseSSE3), // Rule ID 2939 //
35481 /* 100041 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
35482 /* 100046 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
35483 /* 100049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35484 /* 100053 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35485 /* 100057 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35486 /* 100064 */ // (intrinsic_w_chain:{ *:[v16i8] } 16302:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
35487 /* 100064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDDQUrm),
35488 /* 100067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35489 /* 100069 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35490 /* 100073 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35491 /* 100077 */ GIR_RootConstrainSelectedInstOperands,
35492 /* 100078 */ // GIR_Coverage, 2939,
35493 /* 100078 */ GIR_EraseRootFromParent_Done,
35494 /* 100079 */ // Label 2721: @100079
35495 /* 100079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2722*/ GIMT_Encode4(100124), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3531 //
35496 /* 100086 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps128),
35497 /* 100091 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35498 /* 100094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35499 /* 100098 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35500 /* 100102 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35501 /* 100109 */ // (intrinsic_w_chain:{ *:[v4f32] } 16437:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35502 /* 100109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSrm),
35503 /* 100112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35504 /* 100114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35505 /* 100118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35506 /* 100122 */ GIR_RootConstrainSelectedInstOperands,
35507 /* 100123 */ // GIR_Coverage, 3531,
35508 /* 100123 */ GIR_EraseRootFromParent_Done,
35509 /* 100124 */ // Label 2722: @100124
35510 /* 100124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2723*/ GIMT_Encode4(100169), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3532 //
35511 /* 100131 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps256),
35512 /* 100136 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35513 /* 100139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35514 /* 100143 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35515 /* 100147 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35516 /* 100154 */ // (intrinsic_w_chain:{ *:[v8f32] } 16438:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35517 /* 100154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSYrm),
35518 /* 100157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35519 /* 100159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35520 /* 100163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35521 /* 100167 */ GIR_RootConstrainSelectedInstOperands,
35522 /* 100168 */ // GIR_Coverage, 3532,
35523 /* 100168 */ GIR_EraseRootFromParent_Done,
35524 /* 100169 */ // Label 2723: @100169
35525 /* 100169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2724*/ GIMT_Encode4(100214), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3533 //
35526 /* 100176 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps128),
35527 /* 100181 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35528 /* 100184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35529 /* 100188 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35530 /* 100192 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35531 /* 100199 */ // (intrinsic_w_chain:{ *:[v4f32] } 16439:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35532 /* 100199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSrm),
35533 /* 100202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35534 /* 100204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35535 /* 100208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35536 /* 100212 */ GIR_RootConstrainSelectedInstOperands,
35537 /* 100213 */ // GIR_Coverage, 3533,
35538 /* 100213 */ GIR_EraseRootFromParent_Done,
35539 /* 100214 */ // Label 2724: @100214
35540 /* 100214 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2725*/ GIMT_Encode4(100259), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3534 //
35541 /* 100221 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps256),
35542 /* 100226 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35543 /* 100229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35544 /* 100233 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35545 /* 100237 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35546 /* 100244 */ // (intrinsic_w_chain:{ *:[v8f32] } 16440:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35547 /* 100244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSYrm),
35548 /* 100247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35549 /* 100249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35550 /* 100253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35551 /* 100257 */ GIR_RootConstrainSelectedInstOperands,
35552 /* 100258 */ // GIR_Coverage, 3534,
35553 /* 100258 */ GIR_EraseRootFromParent_Done,
35554 /* 100259 */ // Label 2725: @100259
35555 /* 100259 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2726*/ GIMT_Encode4(100304), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3535 //
35556 /* 100266 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps128),
35557 /* 100271 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35558 /* 100274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35559 /* 100278 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35560 /* 100282 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35561 /* 100289 */ // (intrinsic_w_chain:{ *:[v4f32] } 16441:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35562 /* 100289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSrm),
35563 /* 100292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35564 /* 100294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35565 /* 100298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35566 /* 100302 */ GIR_RootConstrainSelectedInstOperands,
35567 /* 100303 */ // GIR_Coverage, 3535,
35568 /* 100303 */ GIR_EraseRootFromParent_Done,
35569 /* 100304 */ // Label 2726: @100304
35570 /* 100304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2727*/ GIMT_Encode4(100349), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3536 //
35571 /* 100311 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps256),
35572 /* 100316 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35573 /* 100319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35574 /* 100323 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35575 /* 100327 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35576 /* 100334 */ // (intrinsic_w_chain:{ *:[v8f32] } 16442:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35577 /* 100334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSYrm),
35578 /* 100337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35579 /* 100339 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35580 /* 100343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35581 /* 100347 */ GIR_RootConstrainSelectedInstOperands,
35582 /* 100348 */ // GIR_Coverage, 3536,
35583 /* 100348 */ GIR_EraseRootFromParent_Done,
35584 /* 100349 */ // Label 2727: @100349
35585 /* 100349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2728*/ GIMT_Encode4(100394), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3537 //
35586 /* 100356 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps128),
35587 /* 100361 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35588 /* 100364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35589 /* 100368 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35590 /* 100372 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35591 /* 100379 */ // (intrinsic_w_chain:{ *:[v4f32] } 16443:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35592 /* 100379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSrm),
35593 /* 100382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35594 /* 100384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35595 /* 100388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35596 /* 100392 */ GIR_RootConstrainSelectedInstOperands,
35597 /* 100393 */ // GIR_Coverage, 3537,
35598 /* 100393 */ GIR_EraseRootFromParent_Done,
35599 /* 100394 */ // Label 2728: @100394
35600 /* 100394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2729*/ GIMT_Encode4(100439), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3538 //
35601 /* 100401 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps256),
35602 /* 100406 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35603 /* 100409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35604 /* 100413 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35605 /* 100417 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35606 /* 100424 */ // (intrinsic_w_chain:{ *:[v8f32] } 16444:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35607 /* 100424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSYrm),
35608 /* 100427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35609 /* 100429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35610 /* 100433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35611 /* 100437 */ GIR_RootConstrainSelectedInstOperands,
35612 /* 100438 */ // GIR_Coverage, 3538,
35613 /* 100438 */ GIR_EraseRootFromParent_Done,
35614 /* 100439 */ // Label 2729: @100439
35615 /* 100439 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2730*/ GIMT_Encode4(100484), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3539 //
35616 /* 100446 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps128),
35617 /* 100451 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35618 /* 100454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35619 /* 100458 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35620 /* 100462 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35621 /* 100469 */ // (intrinsic_w_chain:{ *:[v4f32] } 16445:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35622 /* 100469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSrm),
35623 /* 100472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35624 /* 100474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35625 /* 100478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35626 /* 100482 */ GIR_RootConstrainSelectedInstOperands,
35627 /* 100483 */ // GIR_Coverage, 3539,
35628 /* 100483 */ GIR_EraseRootFromParent_Done,
35629 /* 100484 */ // Label 2730: @100484
35630 /* 100484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2731*/ GIMT_Encode4(100529), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3540 //
35631 /* 100491 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps256),
35632 /* 100496 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35633 /* 100499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35634 /* 100503 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35635 /* 100507 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35636 /* 100514 */ // (intrinsic_w_chain:{ *:[v8f32] } 16446:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35637 /* 100514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSYrm),
35638 /* 100517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35639 /* 100519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35640 /* 100523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35641 /* 100527 */ GIR_RootConstrainSelectedInstOperands,
35642 /* 100528 */ // GIR_Coverage, 3540,
35643 /* 100528 */ GIR_EraseRootFromParent_Done,
35644 /* 100529 */ // Label 2731: @100529
35645 /* 100529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2732*/ GIMT_Encode4(100574), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3541 //
35646 /* 100536 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps128),
35647 /* 100541 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35648 /* 100544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35649 /* 100548 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35650 /* 100552 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35651 /* 100559 */ // (intrinsic_w_chain:{ *:[v4f32] } 16447:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35652 /* 100559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSrm),
35653 /* 100562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35654 /* 100564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35655 /* 100568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35656 /* 100572 */ GIR_RootConstrainSelectedInstOperands,
35657 /* 100573 */ // GIR_Coverage, 3541,
35658 /* 100573 */ GIR_EraseRootFromParent_Done,
35659 /* 100574 */ // Label 2732: @100574
35660 /* 100574 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2733*/ GIMT_Encode4(100619), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3542 //
35661 /* 100581 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps256),
35662 /* 100586 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35663 /* 100589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35664 /* 100593 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35665 /* 100597 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35666 /* 100604 */ // (intrinsic_w_chain:{ *:[v8f32] } 16448:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35667 /* 100604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSYrm),
35668 /* 100607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35669 /* 100609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35670 /* 100613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35671 /* 100617 */ GIR_RootConstrainSelectedInstOperands,
35672 /* 100618 */ // GIR_Coverage, 3542,
35673 /* 100618 */ GIR_EraseRootFromParent_Done,
35674 /* 100619 */ // Label 2733: @100619
35675 /* 100619 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2734*/ GIMT_Encode4(100664), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16810 //
35676 /* 100626 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb512),
35677 /* 100631 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v64s8,
35678 /* 100634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35679 /* 100638 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35680 /* 100642 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35681 /* 100649 */ // (intrinsic_w_chain:{ *:[v64i8] } 15179:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
35682 /* 100649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZm),
35683 /* 100652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35684 /* 100654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35685 /* 100658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35686 /* 100662 */ GIR_RootConstrainSelectedInstOperands,
35687 /* 100663 */ // GIR_Coverage, 16810,
35688 /* 100663 */ GIR_EraseRootFromParent_Done,
35689 /* 100664 */ // Label 2734: @100664
35690 /* 100664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2735*/ GIMT_Encode4(100709), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16813 //
35691 /* 100671 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb128),
35692 /* 100676 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
35693 /* 100679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35694 /* 100683 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35695 /* 100687 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35696 /* 100694 */ // (intrinsic_w_chain:{ *:[v16i8] } 15177:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ128m:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
35697 /* 100694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ128m),
35698 /* 100697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35699 /* 100699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35700 /* 100703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35701 /* 100707 */ GIR_RootConstrainSelectedInstOperands,
35702 /* 100708 */ // GIR_Coverage, 16813,
35703 /* 100708 */ GIR_EraseRootFromParent_Done,
35704 /* 100709 */ // Label 2735: @100709
35705 /* 100709 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2736*/ GIMT_Encode4(100754), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16816 //
35706 /* 100716 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb256),
35707 /* 100721 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
35708 /* 100724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35709 /* 100728 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35710 /* 100732 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35711 /* 100739 */ // (intrinsic_w_chain:{ *:[v32i8] } 15178:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ256m:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
35712 /* 100739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ256m),
35713 /* 100742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35714 /* 100744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35715 /* 100748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35716 /* 100752 */ GIR_RootConstrainSelectedInstOperands,
35717 /* 100753 */ // GIR_Coverage, 16816,
35718 /* 100753 */ GIR_EraseRootFromParent_Done,
35719 /* 100754 */ // Label 2736: @100754
35720 /* 100754 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2737*/ GIMT_Encode4(100799), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16819 //
35721 /* 100761 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw512),
35722 /* 100766 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
35723 /* 100769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35724 /* 100773 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35725 /* 100777 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35726 /* 100784 */ // (intrinsic_w_chain:{ *:[v32i16] } 15188:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
35727 /* 100784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZm),
35728 /* 100787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35729 /* 100789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35730 /* 100793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35731 /* 100797 */ GIR_RootConstrainSelectedInstOperands,
35732 /* 100798 */ // GIR_Coverage, 16819,
35733 /* 100798 */ GIR_EraseRootFromParent_Done,
35734 /* 100799 */ // Label 2737: @100799
35735 /* 100799 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2738*/ GIMT_Encode4(100844), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16822 //
35736 /* 100806 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw128),
35737 /* 100811 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
35738 /* 100814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35739 /* 100818 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35740 /* 100822 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35741 /* 100829 */ // (intrinsic_w_chain:{ *:[v8i16] } 15186:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ128m:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
35742 /* 100829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ128m),
35743 /* 100832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35744 /* 100834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35745 /* 100838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35746 /* 100842 */ GIR_RootConstrainSelectedInstOperands,
35747 /* 100843 */ // GIR_Coverage, 16822,
35748 /* 100843 */ GIR_EraseRootFromParent_Done,
35749 /* 100844 */ // Label 2738: @100844
35750 /* 100844 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2739*/ GIMT_Encode4(100889), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16825 //
35751 /* 100851 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw256),
35752 /* 100856 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
35753 /* 100859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35754 /* 100863 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35755 /* 100867 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35756 /* 100874 */ // (intrinsic_w_chain:{ *:[v16i16] } 15187:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ256m:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
35757 /* 100874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ256m),
35758 /* 100877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35759 /* 100879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35760 /* 100883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35761 /* 100887 */ GIR_RootConstrainSelectedInstOperands,
35762 /* 100888 */ // GIR_Coverage, 16825,
35763 /* 100888 */ GIR_EraseRootFromParent_Done,
35764 /* 100889 */ // Label 2739: @100889
35765 /* 100889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2740*/ GIMT_Encode4(100934), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16828 //
35766 /* 100896 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd512),
35767 /* 100901 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
35768 /* 100904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35769 /* 100908 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35770 /* 100912 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35771 /* 100919 */ // (intrinsic_w_chain:{ *:[v16i32] } 15182:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
35772 /* 100919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZm),
35773 /* 100922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35774 /* 100924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35775 /* 100928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35776 /* 100932 */ GIR_RootConstrainSelectedInstOperands,
35777 /* 100933 */ // GIR_Coverage, 16828,
35778 /* 100933 */ GIR_EraseRootFromParent_Done,
35779 /* 100934 */ // Label 2740: @100934
35780 /* 100934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2741*/ GIMT_Encode4(100979), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16831 //
35781 /* 100941 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd128),
35782 /* 100946 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35783 /* 100949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35784 /* 100953 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35785 /* 100957 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35786 /* 100964 */ // (intrinsic_w_chain:{ *:[v4i32] } 15180:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ128m:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
35787 /* 100964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ128m),
35788 /* 100967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35789 /* 100969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35790 /* 100973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35791 /* 100977 */ GIR_RootConstrainSelectedInstOperands,
35792 /* 100978 */ // GIR_Coverage, 16831,
35793 /* 100978 */ GIR_EraseRootFromParent_Done,
35794 /* 100979 */ // Label 2741: @100979
35795 /* 100979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2742*/ GIMT_Encode4(101024), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16834 //
35796 /* 100986 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd256),
35797 /* 100991 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35798 /* 100994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35799 /* 100998 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35800 /* 101002 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35801 /* 101009 */ // (intrinsic_w_chain:{ *:[v8i32] } 15181:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ256m:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
35802 /* 101009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ256m),
35803 /* 101012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35804 /* 101014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35805 /* 101018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35806 /* 101022 */ GIR_RootConstrainSelectedInstOperands,
35807 /* 101023 */ // GIR_Coverage, 16834,
35808 /* 101023 */ GIR_EraseRootFromParent_Done,
35809 /* 101024 */ // Label 2742: @101024
35810 /* 101024 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2743*/ GIMT_Encode4(101069), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16837 //
35811 /* 101031 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq512),
35812 /* 101036 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
35813 /* 101039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35814 /* 101043 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35815 /* 101047 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35816 /* 101054 */ // (intrinsic_w_chain:{ *:[v8i64] } 15185:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
35817 /* 101054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZm),
35818 /* 101057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35819 /* 101059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35820 /* 101063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35821 /* 101067 */ GIR_RootConstrainSelectedInstOperands,
35822 /* 101068 */ // GIR_Coverage, 16837,
35823 /* 101068 */ GIR_EraseRootFromParent_Done,
35824 /* 101069 */ // Label 2743: @101069
35825 /* 101069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2744*/ GIMT_Encode4(101114), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16840 //
35826 /* 101076 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq128),
35827 /* 101081 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35828 /* 101084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35829 /* 101088 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35830 /* 101092 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35831 /* 101099 */ // (intrinsic_w_chain:{ *:[v2i64] } 15183:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ128m:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
35832 /* 101099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ128m),
35833 /* 101102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35834 /* 101104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35835 /* 101108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35836 /* 101112 */ GIR_RootConstrainSelectedInstOperands,
35837 /* 101113 */ // GIR_Coverage, 16840,
35838 /* 101113 */ GIR_EraseRootFromParent_Done,
35839 /* 101114 */ // Label 2744: @101114
35840 /* 101114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2745*/ GIMT_Encode4(101159), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16843 //
35841 /* 101121 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq256),
35842 /* 101126 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
35843 /* 101129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35844 /* 101133 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35845 /* 101137 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35846 /* 101144 */ // (intrinsic_w_chain:{ *:[v4i64] } 15184:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ256m:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
35847 /* 101144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ256m),
35848 /* 101147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35849 /* 101149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35850 /* 101153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35851 /* 101157 */ GIR_RootConstrainSelectedInstOperands,
35852 /* 101158 */ // GIR_Coverage, 16843,
35853 /* 101158 */ GIR_EraseRootFromParent_Done,
35854 /* 101159 */ // Label 2745: @101159
35855 /* 101159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2746*/ GIMT_Encode4(101204), GIMT_Encode2(GIFBS_NoEGPR), // Rule ID 17133 //
35856 /* 101166 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
35857 /* 101171 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35858 /* 101174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35859 /* 101178 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35860 /* 101182 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35861 /* 101189 */ // (intrinsic_void 16481:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
35862 /* 101189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD),
35863 /* 101192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35864 /* 101196 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35865 /* 101198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35866 /* 101202 */ GIR_RootConstrainSelectedInstOperands,
35867 /* 101203 */ // GIR_Coverage, 17133,
35868 /* 101203 */ GIR_EraseRootFromParent_Done,
35869 /* 101204 */ // Label 2746: @101204
35870 /* 101204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2747*/ GIMT_Encode4(101249), GIMT_Encode2(GIFBS_NoEGPR), // Rule ID 17134 //
35871 /* 101211 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
35872 /* 101216 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35873 /* 101219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35874 /* 101223 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35875 /* 101227 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35876 /* 101234 */ // (intrinsic_void 16482:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
35877 /* 101234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ),
35878 /* 101237 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35879 /* 101241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35880 /* 101243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35881 /* 101247 */ GIR_RootConstrainSelectedInstOperands,
35882 /* 101248 */ // GIR_Coverage, 17134,
35883 /* 101248 */ GIR_EraseRootFromParent_Done,
35884 /* 101249 */ // Label 2747: @101249
35885 /* 101249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2748*/ GIMT_Encode4(101294), GIMT_Encode2(GIFBS_NoEGPR), // Rule ID 17135 //
35886 /* 101256 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
35887 /* 101261 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35888 /* 101264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35889 /* 101268 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35890 /* 101272 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35891 /* 101279 */ // (intrinsic_void 16483:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
35892 /* 101279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD),
35893 /* 101282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35894 /* 101286 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35895 /* 101288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35896 /* 101292 */ GIR_RootConstrainSelectedInstOperands,
35897 /* 101293 */ // GIR_Coverage, 17135,
35898 /* 101293 */ GIR_EraseRootFromParent_Done,
35899 /* 101294 */ // Label 2748: @101294
35900 /* 101294 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2749*/ GIMT_Encode4(101339), GIMT_Encode2(GIFBS_NoEGPR), // Rule ID 17136 //
35901 /* 101301 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
35902 /* 101306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35903 /* 101309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35904 /* 101313 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35905 /* 101317 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35906 /* 101324 */ // (intrinsic_void 16484:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
35907 /* 101324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ),
35908 /* 101327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35909 /* 101331 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35910 /* 101333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35911 /* 101337 */ GIR_RootConstrainSelectedInstOperands,
35912 /* 101338 */ // GIR_Coverage, 17136,
35913 /* 101338 */ GIR_EraseRootFromParent_Done,
35914 /* 101339 */ // Label 2749: @101339
35915 /* 101339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2750*/ GIMT_Encode4(101384), GIMT_Encode2(GIFBS_HasEGPR_In64BitMode), // Rule ID 17137 //
35916 /* 101346 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
35917 /* 101351 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35918 /* 101354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35919 /* 101358 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35920 /* 101362 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35921 /* 101369 */ // (intrinsic_void 16481:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
35922 /* 101369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD_EVEX),
35923 /* 101372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35924 /* 101376 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35925 /* 101378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35926 /* 101382 */ GIR_RootConstrainSelectedInstOperands,
35927 /* 101383 */ // GIR_Coverage, 17137,
35928 /* 101383 */ GIR_EraseRootFromParent_Done,
35929 /* 101384 */ // Label 2750: @101384
35930 /* 101384 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2751*/ GIMT_Encode4(101429), GIMT_Encode2(GIFBS_HasEGPR_In64BitMode), // Rule ID 17138 //
35931 /* 101391 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
35932 /* 101396 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35933 /* 101399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35934 /* 101403 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35935 /* 101407 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35936 /* 101414 */ // (intrinsic_void 16482:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
35937 /* 101414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ_EVEX),
35938 /* 101417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35939 /* 101421 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35940 /* 101423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35941 /* 101427 */ GIR_RootConstrainSelectedInstOperands,
35942 /* 101428 */ // GIR_Coverage, 17138,
35943 /* 101428 */ GIR_EraseRootFromParent_Done,
35944 /* 101429 */ // Label 2751: @101429
35945 /* 101429 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2752*/ GIMT_Encode4(101474), GIMT_Encode2(GIFBS_HasEGPR_In64BitMode), // Rule ID 17139 //
35946 /* 101436 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
35947 /* 101441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35948 /* 101444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35949 /* 101448 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35950 /* 101452 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35951 /* 101459 */ // (intrinsic_void 16483:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
35952 /* 101459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD_EVEX),
35953 /* 101462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35954 /* 101466 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35955 /* 101468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35956 /* 101472 */ GIR_RootConstrainSelectedInstOperands,
35957 /* 101473 */ // GIR_Coverage, 17139,
35958 /* 101473 */ GIR_EraseRootFromParent_Done,
35959 /* 101474 */ // Label 2752: @101474
35960 /* 101474 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2753*/ GIMT_Encode4(101519), GIMT_Encode2(GIFBS_HasEGPR_In64BitMode), // Rule ID 17140 //
35961 /* 101481 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
35962 /* 101486 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35963 /* 101489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35964 /* 101493 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35965 /* 101497 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35966 /* 101504 */ // (intrinsic_void 16484:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
35967 /* 101504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ_EVEX),
35968 /* 101507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35969 /* 101511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35970 /* 101513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35971 /* 101517 */ GIR_RootConstrainSelectedInstOperands,
35972 /* 101518 */ // GIR_Coverage, 17140,
35973 /* 101518 */ GIR_EraseRootFromParent_Done,
35974 /* 101519 */ // Label 2753: @101519
35975 /* 101519 */ GIM_Try, /*On fail goto*//*Label 2754*/ GIMT_Encode4(101714),
35976 /* 101524 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
35977 /* 101529 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35978 /* 101532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35979 /* 101536 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35980 /* 101540 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2755*/ GIMT_Encode4(101569), GIMT_Encode2(GIFBS_HasINVPCID_Not64BitMode), // Rule ID 17166 //
35981 /* 101547 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35982 /* 101554 */ // (intrinsic_void 16073:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID32 GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
35983 /* 101554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID32),
35984 /* 101557 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
35985 /* 101559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35986 /* 101563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35987 /* 101567 */ GIR_RootConstrainSelectedInstOperands,
35988 /* 101568 */ // GIR_Coverage, 17166,
35989 /* 101568 */ GIR_EraseRootFromParent_Done,
35990 /* 101569 */ // Label 2755: @101569
35991 /* 101569 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2756*/ GIMT_Encode4(101641), GIMT_Encode2(GIFBS_HasINVPCID_NoEGPR), // Rule ID 22583 //
35992 /* 101576 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35993 /* 101583 */ // (intrinsic_void 16073:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64 (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
35994 /* 101583 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
35995 /* 101586 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
35996 /* 101590 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
35997 /* 101595 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
35998 /* 101599 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
35999 /* 101601 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
36000 /* 101604 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
36001 /* 101608 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36002 /* 101613 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
36003 /* 101616 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
36004 /* 101619 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
36005 /* 101624 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
36006 /* 101629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64),
36007 /* 101632 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
36008 /* 101635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36009 /* 101639 */ GIR_RootConstrainSelectedInstOperands,
36010 /* 101640 */ // GIR_Coverage, 22583,
36011 /* 101640 */ GIR_EraseRootFromParent_Done,
36012 /* 101641 */ // Label 2756: @101641
36013 /* 101641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2757*/ GIMT_Encode4(101713), GIMT_Encode2(GIFBS_HasEGPR_HasINVPCID), // Rule ID 22584 //
36014 /* 101648 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36015 /* 101655 */ // (intrinsic_void 16073:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64_EVEX (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
36016 /* 101655 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
36017 /* 101658 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
36018 /* 101662 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36019 /* 101667 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
36020 /* 101671 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
36021 /* 101673 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
36022 /* 101676 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
36023 /* 101680 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36024 /* 101685 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
36025 /* 101688 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
36026 /* 101691 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
36027 /* 101696 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
36028 /* 101701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64_EVEX),
36029 /* 101704 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
36030 /* 101707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36031 /* 101711 */ GIR_RootConstrainSelectedInstOperands,
36032 /* 101712 */ // GIR_Coverage, 22584,
36033 /* 101712 */ GIR_EraseRootFromParent_Done,
36034 /* 101713 */ // Label 2757: @101713
36035 /* 101713 */ GIM_Reject,
36036 /* 101714 */ // Label 2754: @101714
36037 /* 101714 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2758*/ GIMT_Encode4(101759), GIMT_Encode2(GIFBS_HasMOVDIRI_NoEGPR), // Rule ID 131 //
36038 /* 101721 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
36039 /* 101726 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36040 /* 101729 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36041 /* 101733 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36042 /* 101737 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36043 /* 101744 */ // (intrinsic_void 16052:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32 addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36044 /* 101744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32),
36045 /* 101747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36046 /* 101751 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36047 /* 101753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36048 /* 101757 */ GIR_RootConstrainSelectedInstOperands,
36049 /* 101758 */ // GIR_Coverage, 131,
36050 /* 101758 */ GIR_EraseRootFromParent_Done,
36051 /* 101759 */ // Label 2758: @101759
36052 /* 101759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2759*/ GIMT_Encode4(101804), GIMT_Encode2(GIFBS_HasMOVDIRI_In64BitMode_NoEGPR), // Rule ID 132 //
36053 /* 101766 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
36054 /* 101771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36055 /* 101774 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36056 /* 101778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36057 /* 101782 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36058 /* 101789 */ // (intrinsic_void 16053:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64 addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36059 /* 101789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64),
36060 /* 101792 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36061 /* 101796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36062 /* 101798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36063 /* 101802 */ GIR_RootConstrainSelectedInstOperands,
36064 /* 101803 */ // GIR_Coverage, 132,
36065 /* 101803 */ GIR_EraseRootFromParent_Done,
36066 /* 101804 */ // Label 2759: @101804
36067 /* 101804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2760*/ GIMT_Encode4(101849), GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode), // Rule ID 133 //
36068 /* 101811 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
36069 /* 101816 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36070 /* 101819 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36071 /* 101823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36072 /* 101827 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36073 /* 101834 */ // (intrinsic_void 16052:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36074 /* 101834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32_EVEX),
36075 /* 101837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36076 /* 101841 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36077 /* 101843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36078 /* 101847 */ GIR_RootConstrainSelectedInstOperands,
36079 /* 101848 */ // GIR_Coverage, 133,
36080 /* 101848 */ GIR_EraseRootFromParent_Done,
36081 /* 101849 */ // Label 2760: @101849
36082 /* 101849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2761*/ GIMT_Encode4(101894), GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode), // Rule ID 134 //
36083 /* 101856 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
36084 /* 101861 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36085 /* 101864 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36086 /* 101868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36087 /* 101872 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36088 /* 101879 */ // (intrinsic_void 16053:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36089 /* 101879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64_EVEX),
36090 /* 101882 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36091 /* 101886 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36092 /* 101888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36093 /* 101892 */ GIR_RootConstrainSelectedInstOperands,
36094 /* 101893 */ // GIR_Coverage, 134,
36095 /* 101893 */ GIR_EraseRootFromParent_Done,
36096 /* 101894 */ // Label 2761: @101894
36097 /* 101894 */ GIM_Try, /*On fail goto*//*Label 2762*/ GIMT_Encode4(102069),
36098 /* 101899 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36099 /* 101904 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2763*/ GIMT_Encode4(101945), GIMT_Encode2(GIFBS_HasMOVDIR64B_NoEGPR), // Rule ID 135 //
36100 /* 101911 */ // MIs[0] dst
36101 /* 101911 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36102 /* 101915 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36103 /* 101919 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36104 /* 101923 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36105 /* 101930 */ // (intrinsic_void 16153:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32 GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
36106 /* 101930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32),
36107 /* 101933 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36108 /* 101935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36109 /* 101939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36110 /* 101943 */ GIR_RootConstrainSelectedInstOperands,
36111 /* 101944 */ // GIR_Coverage, 135,
36112 /* 101944 */ GIR_EraseRootFromParent_Done,
36113 /* 101945 */ // Label 2763: @101945
36114 /* 101945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2764*/ GIMT_Encode4(101986), GIMT_Encode2(GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR), // Rule ID 136 //
36115 /* 101952 */ // MIs[0] dst
36116 /* 101952 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36117 /* 101956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36118 /* 101960 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36119 /* 101964 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36120 /* 101971 */ // (intrinsic_void 16153:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64 GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
36121 /* 101971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64),
36122 /* 101974 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36123 /* 101976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36124 /* 101980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36125 /* 101984 */ GIR_RootConstrainSelectedInstOperands,
36126 /* 101985 */ // GIR_Coverage, 136,
36127 /* 101985 */ GIR_EraseRootFromParent_Done,
36128 /* 101986 */ // Label 2764: @101986
36129 /* 101986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2765*/ GIMT_Encode4(102027), GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode), // Rule ID 137 //
36130 /* 101993 */ // MIs[0] dst
36131 /* 101993 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36132 /* 101997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36133 /* 102001 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36134 /* 102005 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36135 /* 102012 */ // (intrinsic_void 16153:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32_EVEX GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
36136 /* 102012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32_EVEX),
36137 /* 102015 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36138 /* 102017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36139 /* 102021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36140 /* 102025 */ GIR_RootConstrainSelectedInstOperands,
36141 /* 102026 */ // GIR_Coverage, 137,
36142 /* 102026 */ GIR_EraseRootFromParent_Done,
36143 /* 102027 */ // Label 2765: @102027
36144 /* 102027 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2766*/ GIMT_Encode4(102068), GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode), // Rule ID 138 //
36145 /* 102034 */ // MIs[0] dst
36146 /* 102034 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36147 /* 102038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36148 /* 102042 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36149 /* 102046 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36150 /* 102053 */ // (intrinsic_void 16153:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64_EVEX GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
36151 /* 102053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64_EVEX),
36152 /* 102056 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36153 /* 102058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36154 /* 102062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36155 /* 102066 */ GIR_RootConstrainSelectedInstOperands,
36156 /* 102067 */ // GIR_Coverage, 138,
36157 /* 102067 */ GIR_EraseRootFromParent_Done,
36158 /* 102068 */ // Label 2766: @102068
36159 /* 102068 */ GIM_Reject,
36160 /* 102069 */ // Label 2762: @102069
36161 /* 102069 */ GIM_Try, /*On fail goto*//*Label 2767*/ GIMT_Encode4(102112), // Rule ID 17191 //
36162 /* 102074 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::asan_check_memaccess),
36163 /* 102079 */ // MIs[0] addr
36164 /* 102079 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36165 /* 102083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64PLTSafeRegClassID),
36166 /* 102087 */ // MIs[0] accessinfo
36167 /* 102087 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36168 /* 102090 */ // (intrinsic_void 14:{ *:[iPTR] }, GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo) => (ASAN_CHECK_MEMACCESS:{ *:[i64] } GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo)
36169 /* 102090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ASAN_CHECK_MEMACCESS),
36170 /* 102093 */ GIR_RootToRootCopy, /*OpIdx*/1, // addr
36171 /* 102095 */ GIR_RootToRootCopy, /*OpIdx*/2, // accessinfo
36172 /* 102097 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R10*/0,
36173 /* 102100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R11*/1,
36174 /* 102103 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/2,
36175 /* 102106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36176 /* 102110 */ GIR_RootConstrainSelectedInstOperands,
36177 /* 102111 */ // GIR_Coverage, 17191,
36178 /* 102111 */ GIR_EraseRootFromParent_Done,
36179 /* 102112 */ // Label 2767: @102112
36180 /* 102112 */ GIM_Try, /*On fail goto*//*Label 2768*/ GIMT_Encode4(102177),
36181 /* 102117 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
36182 /* 102122 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36183 /* 102125 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36184 /* 102128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36185 /* 102132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36186 /* 102136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2769*/ GIMT_Encode4(102156), GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR), // Rule ID 17117 //
36187 /* 102143 */ // (intrinsic_w_chain:{ *:[i64] } 16435:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr:{ *:[i64] } GR64:{ *:[i64] }:$src)
36188 /* 102143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr),
36189 /* 102146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36190 /* 102148 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36191 /* 102150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36192 /* 102154 */ GIR_RootConstrainSelectedInstOperands,
36193 /* 102155 */ // GIR_Coverage, 17117,
36194 /* 102155 */ GIR_EraseRootFromParent_Done,
36195 /* 102156 */ // Label 2769: @102156
36196 /* 102156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2770*/ GIMT_Encode4(102176), GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode), // Rule ID 17121 //
36197 /* 102163 */ // (intrinsic_w_chain:{ *:[i64] } 16435:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src)
36198 /* 102163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr_EVEX),
36199 /* 102166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36200 /* 102168 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36201 /* 102170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36202 /* 102174 */ GIR_RootConstrainSelectedInstOperands,
36203 /* 102175 */ // GIR_Coverage, 17121,
36204 /* 102175 */ GIR_EraseRootFromParent_Done,
36205 /* 102176 */ // Label 2770: @102176
36206 /* 102176 */ GIM_Reject,
36207 /* 102177 */ // Label 2768: @102177
36208 /* 102177 */ GIM_Try, /*On fail goto*//*Label 2771*/ GIMT_Encode4(102214), // Rule ID 17129 //
36209 /* 102182 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspd),
36210 /* 102187 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36211 /* 102190 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36212 /* 102193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36213 /* 102197 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36214 /* 102201 */ // (intrinsic_w_chain:{ *:[i32] } 16179:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (RDSSPD:{ *:[i32] } GR32:{ *:[i32] }:$src)
36215 /* 102201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPD),
36216 /* 102204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36217 /* 102206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36218 /* 102208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36219 /* 102212 */ GIR_RootConstrainSelectedInstOperands,
36220 /* 102213 */ // GIR_Coverage, 17129,
36221 /* 102213 */ GIR_EraseRootFromParent_Done,
36222 /* 102214 */ // Label 2771: @102214
36223 /* 102214 */ GIM_Try, /*On fail goto*//*Label 2772*/ GIMT_Encode4(102251), // Rule ID 17130 //
36224 /* 102219 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspq),
36225 /* 102224 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36226 /* 102227 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36227 /* 102230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36228 /* 102234 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36229 /* 102238 */ // (intrinsic_w_chain:{ *:[i64] } 16180:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (RDSSPQ:{ *:[i64] } GR64:{ *:[i64] }:$src)
36230 /* 102238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPQ),
36231 /* 102241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36232 /* 102243 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36233 /* 102245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36234 /* 102249 */ GIR_RootConstrainSelectedInstOperands,
36235 /* 102250 */ // GIR_Coverage, 17130,
36236 /* 102250 */ GIR_EraseRootFromParent_Done,
36237 /* 102251 */ // Label 2772: @102251
36238 /* 102251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2773*/ GIMT_Encode4(102314), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 3072 //
36239 /* 102258 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse3_mwait),
36240 /* 102263 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36241 /* 102266 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36242 /* 102269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
36243 /* 102273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36244 /* 102277 */ // (intrinsic_void 16304:{ *:[iPTR] }, ECX:{ *:[i32] }, EAX:{ *:[i32] }) => (MWAITrr)
36245 /* 102277 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36246 /* 102281 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36247 /* 102287 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EAX
36248 /* 102291 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36249 /* 102295 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36250 /* 102301 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
36251 /* 102305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITrr),
36252 /* 102308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36253 /* 102312 */ GIR_RootConstrainSelectedInstOperands,
36254 /* 102313 */ // GIR_Coverage, 3072,
36255 /* 102313 */ GIR_EraseRootFromParent_Done,
36256 /* 102314 */ // Label 2773: @102314
36257 /* 102314 */ GIM_Try, /*On fail goto*//*Label 2774*/ GIMT_Encode4(102379),
36258 /* 102319 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
36259 /* 102324 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36260 /* 102327 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36261 /* 102330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36262 /* 102334 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36263 /* 102338 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2775*/ GIMT_Encode4(102358), GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR), // Rule ID 17119 //
36264 /* 102345 */ // (intrinsic_void 16436:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
36265 /* 102345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr),
36266 /* 102348 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36267 /* 102350 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36268 /* 102352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36269 /* 102356 */ GIR_RootConstrainSelectedInstOperands,
36270 /* 102357 */ // GIR_Coverage, 17119,
36271 /* 102357 */ GIR_EraseRootFromParent_Done,
36272 /* 102358 */ // Label 2775: @102358
36273 /* 102358 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2776*/ GIMT_Encode4(102378), GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode), // Rule ID 17123 //
36274 /* 102365 */ // (intrinsic_void 16436:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr_EVEX GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
36275 /* 102365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr_EVEX),
36276 /* 102368 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36277 /* 102370 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36278 /* 102372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36279 /* 102376 */ GIR_RootConstrainSelectedInstOperands,
36280 /* 102377 */ // GIR_Coverage, 17123,
36281 /* 102377 */ GIR_EraseRootFromParent_Done,
36282 /* 102378 */ // Label 2776: @102378
36283 /* 102378 */ GIM_Reject,
36284 /* 102379 */ // Label 2774: @102379
36285 /* 102379 */ GIM_Reject,
36286 /* 102380 */ // Label 2710: @102380
36287 /* 102380 */ GIM_Try, /*On fail goto*//*Label 2777*/ GIMT_Encode4(105510),
36288 /* 102385 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
36289 /* 102388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2778*/ GIMT_Encode4(102459), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 123 //
36290 /* 102395 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
36291 /* 102400 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36292 /* 102403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36293 /* 102406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36294 /* 102410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
36295 /* 102414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
36296 /* 102418 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
36297 /* 102421 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
36298 /* 102425 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
36299 /* 102429 */ // MIs[0] cntl
36300 /* 102429 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36301 /* 102432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
36302 /* 102434 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36303 /* 102441 */ // (intrinsic_void 16080:{ *:[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)
36304 /* 102441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rmi),
36305 /* 102444 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
36306 /* 102446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
36307 /* 102450 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
36308 /* 102452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
36309 /* 102457 */ GIR_RootConstrainSelectedInstOperands,
36310 /* 102458 */ // GIR_Coverage, 123,
36311 /* 102458 */ GIR_EraseRootFromParent_Done,
36312 /* 102459 */ // Label 2778: @102459
36313 /* 102459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2779*/ GIMT_Encode4(102530), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 125 //
36314 /* 102466 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
36315 /* 102471 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36316 /* 102474 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36317 /* 102477 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36318 /* 102481 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
36319 /* 102485 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
36320 /* 102489 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
36321 /* 102492 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
36322 /* 102496 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
36323 /* 102500 */ // MIs[0] cntl
36324 /* 102500 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36325 /* 102503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
36326 /* 102505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36327 /* 102512 */ // (intrinsic_void 16081:{ *:[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)
36328 /* 102512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rmi),
36329 /* 102515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
36330 /* 102517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
36331 /* 102521 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
36332 /* 102523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
36333 /* 102528 */ GIR_RootConstrainSelectedInstOperands,
36334 /* 102529 */ // GIR_Coverage, 125,
36335 /* 102529 */ GIR_EraseRootFromParent_Done,
36336 /* 102530 */ // Label 2779: @102530
36337 /* 102530 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2780*/ GIMT_Encode4(102584), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3375 //
36338 /* 102537 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps),
36339 /* 102542 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36340 /* 102545 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36341 /* 102548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36342 /* 102552 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36343 /* 102556 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36344 /* 102560 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36345 /* 102567 */ // (intrinsic_w_chain:{ *:[v4f32] } 14926:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VMASKMOVPSrm:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36346 /* 102567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSrm),
36347 /* 102570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36348 /* 102572 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36349 /* 102574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36350 /* 102578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36351 /* 102582 */ GIR_RootConstrainSelectedInstOperands,
36352 /* 102583 */ // GIR_Coverage, 3375,
36353 /* 102583 */ GIR_EraseRootFromParent_Done,
36354 /* 102584 */ // Label 2780: @102584
36355 /* 102584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2781*/ GIMT_Encode4(102638), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3376 //
36356 /* 102591 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps_256),
36357 /* 102596 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36358 /* 102599 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36359 /* 102602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36360 /* 102606 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36361 /* 102610 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36362 /* 102614 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36363 /* 102621 */ // (intrinsic_w_chain:{ *:[v8f32] } 14927:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VMASKMOVPSYrm:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36364 /* 102621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYrm),
36365 /* 102624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36366 /* 102626 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36367 /* 102628 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36368 /* 102632 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36369 /* 102636 */ GIR_RootConstrainSelectedInstOperands,
36370 /* 102637 */ // GIR_Coverage, 3376,
36371 /* 102637 */ GIR_EraseRootFromParent_Done,
36372 /* 102638 */ // Label 2781: @102638
36373 /* 102638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2782*/ GIMT_Encode4(102692), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3379 //
36374 /* 102645 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd),
36375 /* 102650 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
36376 /* 102653 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36377 /* 102656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36378 /* 102660 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36379 /* 102664 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36380 /* 102668 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36381 /* 102675 */ // (intrinsic_w_chain:{ *:[v2f64] } 14924:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VMASKMOVPDrm:{ *:[v2f64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36382 /* 102675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDrm),
36383 /* 102678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36384 /* 102680 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36385 /* 102682 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36386 /* 102686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36387 /* 102690 */ GIR_RootConstrainSelectedInstOperands,
36388 /* 102691 */ // GIR_Coverage, 3379,
36389 /* 102691 */ GIR_EraseRootFromParent_Done,
36390 /* 102692 */ // Label 2782: @102692
36391 /* 102692 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2783*/ GIMT_Encode4(102746), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3380 //
36392 /* 102699 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd_256),
36393 /* 102704 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
36394 /* 102707 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36395 /* 102710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36396 /* 102714 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36397 /* 102718 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36398 /* 102722 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36399 /* 102729 */ // (intrinsic_w_chain:{ *:[v4f64] } 14925:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VMASKMOVPDYrm:{ *:[v4f64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36400 /* 102729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYrm),
36401 /* 102732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36402 /* 102734 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36403 /* 102736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36404 /* 102740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36405 /* 102744 */ GIR_RootConstrainSelectedInstOperands,
36406 /* 102745 */ // GIR_Coverage, 3380,
36407 /* 102745 */ GIR_EraseRootFromParent_Done,
36408 /* 102746 */ // Label 2783: @102746
36409 /* 102746 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2784*/ GIMT_Encode4(102800), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3453 //
36410 /* 102753 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d),
36411 /* 102758 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36412 /* 102761 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36413 /* 102764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36414 /* 102768 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36415 /* 102772 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36416 /* 102776 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36417 /* 102783 */ // (intrinsic_w_chain:{ *:[v4i32] } 15224:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VPMASKMOVDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36418 /* 102783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDrm),
36419 /* 102786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36420 /* 102788 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36421 /* 102790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36422 /* 102794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36423 /* 102798 */ GIR_RootConstrainSelectedInstOperands,
36424 /* 102799 */ // GIR_Coverage, 3453,
36425 /* 102799 */ GIR_EraseRootFromParent_Done,
36426 /* 102800 */ // Label 2784: @102800
36427 /* 102800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2785*/ GIMT_Encode4(102854), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3454 //
36428 /* 102807 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d_256),
36429 /* 102812 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36430 /* 102815 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36431 /* 102818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36432 /* 102822 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36433 /* 102826 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36434 /* 102830 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36435 /* 102837 */ // (intrinsic_w_chain:{ *:[v8i32] } 15225:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VPMASKMOVDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36436 /* 102837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYrm),
36437 /* 102840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36438 /* 102842 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36439 /* 102844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36440 /* 102848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36441 /* 102852 */ GIR_RootConstrainSelectedInstOperands,
36442 /* 102853 */ // GIR_Coverage, 3454,
36443 /* 102853 */ GIR_EraseRootFromParent_Done,
36444 /* 102854 */ // Label 2785: @102854
36445 /* 102854 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2786*/ GIMT_Encode4(102908), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3457 //
36446 /* 102861 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q),
36447 /* 102866 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
36448 /* 102869 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36449 /* 102872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36450 /* 102876 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36451 /* 102880 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36452 /* 102884 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36453 /* 102891 */ // (intrinsic_w_chain:{ *:[v2i64] } 15226:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VPMASKMOVQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36454 /* 102891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQrm),
36455 /* 102894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36456 /* 102896 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36457 /* 102898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36458 /* 102902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36459 /* 102906 */ GIR_RootConstrainSelectedInstOperands,
36460 /* 102907 */ // GIR_Coverage, 3457,
36461 /* 102907 */ GIR_EraseRootFromParent_Done,
36462 /* 102908 */ // Label 2786: @102908
36463 /* 102908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2787*/ GIMT_Encode4(102962), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3458 //
36464 /* 102915 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q_256),
36465 /* 102920 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
36466 /* 102923 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36467 /* 102926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36468 /* 102930 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36469 /* 102934 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36470 /* 102938 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36471 /* 102945 */ // (intrinsic_w_chain:{ *:[v4i64] } 15227:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VPMASKMOVQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36472 /* 102945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYrm),
36473 /* 102948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36474 /* 102950 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36475 /* 102952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36476 /* 102956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36477 /* 102960 */ GIR_RootConstrainSelectedInstOperands,
36478 /* 102961 */ // GIR_Coverage, 3458,
36479 /* 102961 */ GIR_EraseRootFromParent_Done,
36480 /* 102962 */ // Label 2787: @102962
36481 /* 102962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2788*/ GIMT_Encode4(103016), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3377 //
36482 /* 102969 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps),
36483 /* 102974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
36484 /* 102977 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36485 /* 102980 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36486 /* 102984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36487 /* 102988 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36488 /* 102992 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36489 /* 102999 */ // (intrinsic_void 14930:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMASKMOVPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2)
36490 /* 102999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSmr),
36491 /* 103002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36492 /* 103006 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36493 /* 103008 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36494 /* 103010 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36495 /* 103014 */ GIR_RootConstrainSelectedInstOperands,
36496 /* 103015 */ // GIR_Coverage, 3377,
36497 /* 103015 */ GIR_EraseRootFromParent_Done,
36498 /* 103016 */ // Label 2788: @103016
36499 /* 103016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2789*/ GIMT_Encode4(103070), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3378 //
36500 /* 103023 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps_256),
36501 /* 103028 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
36502 /* 103031 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36503 /* 103034 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36504 /* 103038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36505 /* 103042 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36506 /* 103046 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36507 /* 103053 */ // (intrinsic_void 14931:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMASKMOVPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2)
36508 /* 103053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYmr),
36509 /* 103056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36510 /* 103060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36511 /* 103062 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36512 /* 103064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36513 /* 103068 */ GIR_RootConstrainSelectedInstOperands,
36514 /* 103069 */ // GIR_Coverage, 3378,
36515 /* 103069 */ GIR_EraseRootFromParent_Done,
36516 /* 103070 */ // Label 2789: @103070
36517 /* 103070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2790*/ GIMT_Encode4(103124), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3381 //
36518 /* 103077 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd),
36519 /* 103082 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
36520 /* 103085 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36521 /* 103088 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36522 /* 103092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36523 /* 103096 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36524 /* 103100 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36525 /* 103107 */ // (intrinsic_void 14928:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMASKMOVPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2)
36526 /* 103107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDmr),
36527 /* 103110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36528 /* 103114 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36529 /* 103116 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36530 /* 103118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36531 /* 103122 */ GIR_RootConstrainSelectedInstOperands,
36532 /* 103123 */ // GIR_Coverage, 3381,
36533 /* 103123 */ GIR_EraseRootFromParent_Done,
36534 /* 103124 */ // Label 2790: @103124
36535 /* 103124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2791*/ GIMT_Encode4(103178), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3382 //
36536 /* 103131 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd_256),
36537 /* 103136 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
36538 /* 103139 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36539 /* 103142 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36540 /* 103146 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36541 /* 103150 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36542 /* 103154 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36543 /* 103161 */ // (intrinsic_void 14929:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMASKMOVPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2)
36544 /* 103161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYmr),
36545 /* 103164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36546 /* 103168 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36547 /* 103170 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36548 /* 103172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36549 /* 103176 */ GIR_RootConstrainSelectedInstOperands,
36550 /* 103177 */ // GIR_Coverage, 3382,
36551 /* 103177 */ GIR_EraseRootFromParent_Done,
36552 /* 103178 */ // Label 2791: @103178
36553 /* 103178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2792*/ GIMT_Encode4(103232), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3455 //
36554 /* 103185 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d),
36555 /* 103190 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
36556 /* 103193 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36557 /* 103196 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36558 /* 103200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36559 /* 103204 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36560 /* 103208 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36561 /* 103215 */ // (intrinsic_void 15228:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMASKMOVDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
36562 /* 103215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDmr),
36563 /* 103218 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36564 /* 103222 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36565 /* 103224 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36566 /* 103226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36567 /* 103230 */ GIR_RootConstrainSelectedInstOperands,
36568 /* 103231 */ // GIR_Coverage, 3455,
36569 /* 103231 */ GIR_EraseRootFromParent_Done,
36570 /* 103232 */ // Label 2792: @103232
36571 /* 103232 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2793*/ GIMT_Encode4(103286), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3456 //
36572 /* 103239 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d_256),
36573 /* 103244 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
36574 /* 103247 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36575 /* 103250 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36576 /* 103254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36577 /* 103258 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36578 /* 103262 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36579 /* 103269 */ // (intrinsic_void 15229:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMASKMOVDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
36580 /* 103269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYmr),
36581 /* 103272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36582 /* 103276 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36583 /* 103278 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36584 /* 103280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36585 /* 103284 */ GIR_RootConstrainSelectedInstOperands,
36586 /* 103285 */ // GIR_Coverage, 3456,
36587 /* 103285 */ GIR_EraseRootFromParent_Done,
36588 /* 103286 */ // Label 2793: @103286
36589 /* 103286 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2794*/ GIMT_Encode4(103340), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3459 //
36590 /* 103293 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q),
36591 /* 103298 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
36592 /* 103301 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36593 /* 103304 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36594 /* 103308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36595 /* 103312 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36596 /* 103316 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36597 /* 103323 */ // (intrinsic_void 15230:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPMASKMOVQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
36598 /* 103323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQmr),
36599 /* 103326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36600 /* 103330 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36601 /* 103332 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36602 /* 103334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36603 /* 103338 */ GIR_RootConstrainSelectedInstOperands,
36604 /* 103339 */ // GIR_Coverage, 3459,
36605 /* 103339 */ GIR_EraseRootFromParent_Done,
36606 /* 103340 */ // Label 2794: @103340
36607 /* 103340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2795*/ GIMT_Encode4(103394), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3460 //
36608 /* 103347 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q_256),
36609 /* 103352 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
36610 /* 103355 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36611 /* 103358 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36612 /* 103362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36613 /* 103366 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36614 /* 103370 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36615 /* 103377 */ // (intrinsic_void 15231:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPMASKMOVQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
36616 /* 103377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYmr),
36617 /* 103380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36618 /* 103384 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36619 /* 103386 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36620 /* 103388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36621 /* 103392 */ GIR_RootConstrainSelectedInstOperands,
36622 /* 103393 */ // GIR_Coverage, 3460,
36623 /* 103393 */ GIR_EraseRootFromParent_Done,
36624 /* 103394 */ // Label 2795: @103394
36625 /* 103394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2796*/ GIMT_Encode4(103472), GIMT_Encode2(GIFBS_HasXSAVE), // Rule ID 17144 //
36626 /* 103401 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave),
36627 /* 103406 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36628 /* 103409 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36629 /* 103412 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36630 /* 103416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36631 /* 103420 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36632 /* 103424 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36633 /* 103431 */ // (intrinsic_void 16540:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE addr:{ *:[iPTR] }:$dst)
36634 /* 103431 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36635 /* 103435 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36636 /* 103441 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36637 /* 103445 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36638 /* 103449 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36639 /* 103455 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36640 /* 103459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE),
36641 /* 103462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36642 /* 103466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36643 /* 103470 */ GIR_RootConstrainSelectedInstOperands,
36644 /* 103471 */ // GIR_Coverage, 17144,
36645 /* 103471 */ GIR_EraseRootFromParent_Done,
36646 /* 103472 */ // Label 2796: @103472
36647 /* 103472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2797*/ GIMT_Encode4(103550), GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode), // Rule ID 17145 //
36648 /* 103479 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave64),
36649 /* 103484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36650 /* 103487 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36651 /* 103490 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36652 /* 103494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36653 /* 103498 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36654 /* 103502 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36655 /* 103509 */ // (intrinsic_void 16541:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE64 addr:{ *:[iPTR] }:$dst)
36656 /* 103509 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36657 /* 103513 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36658 /* 103519 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36659 /* 103523 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36660 /* 103527 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36661 /* 103533 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36662 /* 103537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE64),
36663 /* 103540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36664 /* 103544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36665 /* 103548 */ GIR_RootConstrainSelectedInstOperands,
36666 /* 103549 */ // GIR_Coverage, 17145,
36667 /* 103549 */ GIR_EraseRootFromParent_Done,
36668 /* 103550 */ // Label 2797: @103550
36669 /* 103550 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2798*/ GIMT_Encode4(103628), GIMT_Encode2(GIFBS_HasXSAVE), // Rule ID 17146 //
36670 /* 103557 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor),
36671 /* 103562 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36672 /* 103565 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36673 /* 103568 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36674 /* 103572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36675 /* 103576 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36676 /* 103580 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36677 /* 103587 */ // (intrinsic_void 16536:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR addr:{ *:[iPTR] }:$dst)
36678 /* 103587 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36679 /* 103591 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36680 /* 103597 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36681 /* 103601 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36682 /* 103605 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36683 /* 103611 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36684 /* 103615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR),
36685 /* 103618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36686 /* 103622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36687 /* 103626 */ GIR_RootConstrainSelectedInstOperands,
36688 /* 103627 */ // GIR_Coverage, 17146,
36689 /* 103627 */ GIR_EraseRootFromParent_Done,
36690 /* 103628 */ // Label 2798: @103628
36691 /* 103628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2799*/ GIMT_Encode4(103706), GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode), // Rule ID 17147 //
36692 /* 103635 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor64),
36693 /* 103640 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36694 /* 103643 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36695 /* 103646 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36696 /* 103650 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36697 /* 103654 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36698 /* 103658 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36699 /* 103665 */ // (intrinsic_void 16537:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR64 addr:{ *:[iPTR] }:$dst)
36700 /* 103665 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36701 /* 103669 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36702 /* 103675 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36703 /* 103679 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36704 /* 103683 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36705 /* 103689 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36706 /* 103693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR64),
36707 /* 103696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36708 /* 103700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36709 /* 103704 */ GIR_RootConstrainSelectedInstOperands,
36710 /* 103705 */ // GIR_Coverage, 17147,
36711 /* 103705 */ GIR_EraseRootFromParent_Done,
36712 /* 103706 */ // Label 2799: @103706
36713 /* 103706 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2800*/ GIMT_Encode4(103784), GIMT_Encode2(GIFBS_HasXSAVEOPT), // Rule ID 17148 //
36714 /* 103713 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt),
36715 /* 103718 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36716 /* 103721 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36717 /* 103724 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36718 /* 103728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36719 /* 103732 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36720 /* 103736 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36721 /* 103743 */ // (intrinsic_void 16544:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT addr:{ *:[iPTR] }:$dst)
36722 /* 103743 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36723 /* 103747 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36724 /* 103753 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36725 /* 103757 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36726 /* 103761 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36727 /* 103767 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36728 /* 103771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT),
36729 /* 103774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36730 /* 103778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36731 /* 103782 */ GIR_RootConstrainSelectedInstOperands,
36732 /* 103783 */ // GIR_Coverage, 17148,
36733 /* 103783 */ GIR_EraseRootFromParent_Done,
36734 /* 103784 */ // Label 2800: @103784
36735 /* 103784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2801*/ GIMT_Encode4(103862), GIMT_Encode2(GIFBS_HasXSAVEOPT_In64BitMode), // Rule ID 17149 //
36736 /* 103791 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt64),
36737 /* 103796 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36738 /* 103799 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36739 /* 103802 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36740 /* 103806 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36741 /* 103810 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36742 /* 103814 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36743 /* 103821 */ // (intrinsic_void 16545:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT64 addr:{ *:[iPTR] }:$dst)
36744 /* 103821 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36745 /* 103825 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36746 /* 103831 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36747 /* 103835 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36748 /* 103839 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36749 /* 103845 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36750 /* 103849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT64),
36751 /* 103852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36752 /* 103856 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36753 /* 103860 */ GIR_RootConstrainSelectedInstOperands,
36754 /* 103861 */ // GIR_Coverage, 17149,
36755 /* 103861 */ GIR_EraseRootFromParent_Done,
36756 /* 103862 */ // Label 2801: @103862
36757 /* 103862 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2802*/ GIMT_Encode4(103940), GIMT_Encode2(GIFBS_HasXSAVEC), // Rule ID 17150 //
36758 /* 103869 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec),
36759 /* 103874 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36760 /* 103877 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36761 /* 103880 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36762 /* 103884 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36763 /* 103888 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36764 /* 103892 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36765 /* 103899 */ // (intrinsic_void 16542:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC addr:{ *:[iPTR] }:$dst)
36766 /* 103899 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36767 /* 103903 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36768 /* 103909 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36769 /* 103913 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36770 /* 103917 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36771 /* 103923 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36772 /* 103927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC),
36773 /* 103930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36774 /* 103934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36775 /* 103938 */ GIR_RootConstrainSelectedInstOperands,
36776 /* 103939 */ // GIR_Coverage, 17150,
36777 /* 103939 */ GIR_EraseRootFromParent_Done,
36778 /* 103940 */ // Label 2802: @103940
36779 /* 103940 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2803*/ GIMT_Encode4(104018), GIMT_Encode2(GIFBS_HasXSAVEC_In64BitMode), // Rule ID 17151 //
36780 /* 103947 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec64),
36781 /* 103952 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36782 /* 103955 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36783 /* 103958 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36784 /* 103962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36785 /* 103966 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36786 /* 103970 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36787 /* 103977 */ // (intrinsic_void 16543:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC64 addr:{ *:[iPTR] }:$dst)
36788 /* 103977 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36789 /* 103981 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36790 /* 103987 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36791 /* 103991 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36792 /* 103995 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36793 /* 104001 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36794 /* 104005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC64),
36795 /* 104008 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36796 /* 104012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36797 /* 104016 */ GIR_RootConstrainSelectedInstOperands,
36798 /* 104017 */ // GIR_Coverage, 17151,
36799 /* 104017 */ GIR_EraseRootFromParent_Done,
36800 /* 104018 */ // Label 2803: @104018
36801 /* 104018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2804*/ GIMT_Encode4(104096), GIMT_Encode2(GIFBS_HasXSAVES), // Rule ID 17152 //
36802 /* 104025 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves),
36803 /* 104030 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36804 /* 104033 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36805 /* 104036 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36806 /* 104040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36807 /* 104044 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36808 /* 104048 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36809 /* 104055 */ // (intrinsic_void 16546:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES addr:{ *:[iPTR] }:$dst)
36810 /* 104055 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36811 /* 104059 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36812 /* 104065 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36813 /* 104069 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36814 /* 104073 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36815 /* 104079 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36816 /* 104083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES),
36817 /* 104086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36818 /* 104090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36819 /* 104094 */ GIR_RootConstrainSelectedInstOperands,
36820 /* 104095 */ // GIR_Coverage, 17152,
36821 /* 104095 */ GIR_EraseRootFromParent_Done,
36822 /* 104096 */ // Label 2804: @104096
36823 /* 104096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2805*/ GIMT_Encode4(104174), GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode), // Rule ID 17153 //
36824 /* 104103 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves64),
36825 /* 104108 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36826 /* 104111 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36827 /* 104114 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36828 /* 104118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36829 /* 104122 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36830 /* 104126 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36831 /* 104133 */ // (intrinsic_void 16547:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES64 addr:{ *:[iPTR] }:$dst)
36832 /* 104133 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36833 /* 104137 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36834 /* 104143 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36835 /* 104147 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36836 /* 104151 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36837 /* 104157 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36838 /* 104161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES64),
36839 /* 104164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36840 /* 104168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36841 /* 104172 */ GIR_RootConstrainSelectedInstOperands,
36842 /* 104173 */ // GIR_Coverage, 17153,
36843 /* 104173 */ GIR_EraseRootFromParent_Done,
36844 /* 104174 */ // Label 2805: @104174
36845 /* 104174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2806*/ GIMT_Encode4(104252), GIMT_Encode2(GIFBS_HasXSAVES), // Rule ID 17154 //
36846 /* 104181 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors),
36847 /* 104186 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36848 /* 104189 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36849 /* 104192 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36850 /* 104196 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36851 /* 104200 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36852 /* 104204 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36853 /* 104211 */ // (intrinsic_void 16538:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS addr:{ *:[iPTR] }:$dst)
36854 /* 104211 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36855 /* 104215 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36856 /* 104221 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36857 /* 104225 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36858 /* 104229 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36859 /* 104235 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36860 /* 104239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS),
36861 /* 104242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36862 /* 104246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36863 /* 104250 */ GIR_RootConstrainSelectedInstOperands,
36864 /* 104251 */ // GIR_Coverage, 17154,
36865 /* 104251 */ GIR_EraseRootFromParent_Done,
36866 /* 104252 */ // Label 2806: @104252
36867 /* 104252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2807*/ GIMT_Encode4(104330), GIMT_Encode2(GIFBS_HasXSAVES_In64BitMode), // Rule ID 17155 //
36868 /* 104259 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors64),
36869 /* 104264 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36870 /* 104267 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36871 /* 104270 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36872 /* 104274 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36873 /* 104278 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36874 /* 104282 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36875 /* 104289 */ // (intrinsic_void 16539:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS64 addr:{ *:[iPTR] }:$dst)
36876 /* 104289 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36877 /* 104293 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36878 /* 104299 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36879 /* 104303 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36880 /* 104307 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36881 /* 104313 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36882 /* 104317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS64),
36883 /* 104320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36884 /* 104324 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36885 /* 104328 */ GIR_RootConstrainSelectedInstOperands,
36886 /* 104329 */ // GIR_Coverage, 17155,
36887 /* 104329 */ GIR_EraseRootFromParent_Done,
36888 /* 104330 */ // Label 2807: @104330
36889 /* 104330 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2808*/ GIMT_Encode4(104366), GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode), // Rule ID 17061 //
36890 /* 104337 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbssd),
36891 /* 104342 */ // MIs[0] src1
36892 /* 104342 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36893 /* 104345 */ // MIs[0] src2
36894 /* 104345 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36895 /* 104348 */ // MIs[0] src3
36896 /* 104348 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36897 /* 104351 */ // (intrinsic_void 16401:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36898 /* 104351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSSD),
36899 /* 104354 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36900 /* 104356 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36901 /* 104358 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36902 /* 104360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36903 /* 104364 */ GIR_RootConstrainSelectedInstOperands,
36904 /* 104365 */ // GIR_Coverage, 17061,
36905 /* 104365 */ GIR_EraseRootFromParent_Done,
36906 /* 104366 */ // Label 2808: @104366
36907 /* 104366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2809*/ GIMT_Encode4(104402), GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode), // Rule ID 17062 //
36908 /* 104373 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbsud),
36909 /* 104378 */ // MIs[0] src1
36910 /* 104378 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36911 /* 104381 */ // MIs[0] src2
36912 /* 104381 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36913 /* 104384 */ // MIs[0] src3
36914 /* 104384 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36915 /* 104387 */ // (intrinsic_void 16403:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36916 /* 104387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSUD),
36917 /* 104390 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36918 /* 104392 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36919 /* 104394 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36920 /* 104396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36921 /* 104400 */ GIR_RootConstrainSelectedInstOperands,
36922 /* 104401 */ // GIR_Coverage, 17062,
36923 /* 104401 */ GIR_EraseRootFromParent_Done,
36924 /* 104402 */ // Label 2809: @104402
36925 /* 104402 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2810*/ GIMT_Encode4(104438), GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode), // Rule ID 17063 //
36926 /* 104409 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbusd),
36927 /* 104414 */ // MIs[0] src1
36928 /* 104414 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36929 /* 104417 */ // MIs[0] src2
36930 /* 104417 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36931 /* 104420 */ // MIs[0] src3
36932 /* 104420 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36933 /* 104423 */ // (intrinsic_void 16405:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36934 /* 104423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUSD),
36935 /* 104426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36936 /* 104428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36937 /* 104430 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36938 /* 104432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36939 /* 104436 */ GIR_RootConstrainSelectedInstOperands,
36940 /* 104437 */ // GIR_Coverage, 17063,
36941 /* 104437 */ GIR_EraseRootFromParent_Done,
36942 /* 104438 */ // Label 2810: @104438
36943 /* 104438 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2811*/ GIMT_Encode4(104474), GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode), // Rule ID 17064 //
36944 /* 104445 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbuud),
36945 /* 104450 */ // MIs[0] src1
36946 /* 104450 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36947 /* 104453 */ // MIs[0] src2
36948 /* 104453 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36949 /* 104456 */ // MIs[0] src3
36950 /* 104456 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36951 /* 104459 */ // (intrinsic_void 16407:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36952 /* 104459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUUD),
36953 /* 104462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36954 /* 104464 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36955 /* 104466 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36956 /* 104468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36957 /* 104472 */ GIR_RootConstrainSelectedInstOperands,
36958 /* 104473 */ // GIR_Coverage, 17064,
36959 /* 104473 */ GIR_EraseRootFromParent_Done,
36960 /* 104474 */ // Label 2811: @104474
36961 /* 104474 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2812*/ GIMT_Encode4(104510), GIMT_Encode2(GIFBS_HasAMXBF16_In64BitMode), // Rule ID 17066 //
36962 /* 104481 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf16ps),
36963 /* 104486 */ // MIs[0] src1
36964 /* 104486 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36965 /* 104489 */ // MIs[0] src2
36966 /* 104489 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36967 /* 104492 */ // MIs[0] src3
36968 /* 104492 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36969 /* 104495 */ // (intrinsic_void 16395:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36970 /* 104495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF16PS),
36971 /* 104498 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36972 /* 104500 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36973 /* 104502 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36974 /* 104504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36975 /* 104508 */ GIR_RootConstrainSelectedInstOperands,
36976 /* 104509 */ // GIR_Coverage, 17066,
36977 /* 104509 */ GIR_EraseRootFromParent_Done,
36978 /* 104510 */ // Label 2812: @104510
36979 /* 104510 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2813*/ GIMT_Encode4(104546), GIMT_Encode2(GIFBS_HasAMXFP16_In64BitMode), // Rule ID 17068 //
36980 /* 104517 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpfp16ps),
36981 /* 104522 */ // MIs[0] src1
36982 /* 104522 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36983 /* 104525 */ // MIs[0] src2
36984 /* 104525 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36985 /* 104528 */ // MIs[0] src3
36986 /* 104528 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36987 /* 104531 */ // (intrinsic_void 16409:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36988 /* 104531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPFP16PS),
36989 /* 104534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36990 /* 104536 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36991 /* 104538 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36992 /* 104540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36993 /* 104544 */ GIR_RootConstrainSelectedInstOperands,
36994 /* 104545 */ // GIR_Coverage, 17068,
36995 /* 104545 */ GIR_EraseRootFromParent_Done,
36996 /* 104546 */ // Label 2813: @104546
36997 /* 104546 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2814*/ GIMT_Encode4(104582), GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode), // Rule ID 17071 //
36998 /* 104553 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmimfp16ps),
36999 /* 104558 */ // MIs[0] src1
37000 /* 104558 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37001 /* 104561 */ // MIs[0] src2
37002 /* 104561 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37003 /* 104564 */ // MIs[0] src3
37004 /* 104564 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37005 /* 104567 */ // (intrinsic_void 16376:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMIMFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37006 /* 104567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMIMFP16PS),
37007 /* 104570 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37008 /* 104572 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37009 /* 104574 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37010 /* 104576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37011 /* 104580 */ GIR_RootConstrainSelectedInstOperands,
37012 /* 104581 */ // GIR_Coverage, 17071,
37013 /* 104581 */ GIR_EraseRootFromParent_Done,
37014 /* 104582 */ // Label 2814: @104582
37015 /* 104582 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2815*/ GIMT_Encode4(104618), GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode), // Rule ID 17072 //
37016 /* 104589 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmrlfp16ps),
37017 /* 104594 */ // MIs[0] src1
37018 /* 104594 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37019 /* 104597 */ // MIs[0] src2
37020 /* 104597 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37021 /* 104600 */ // MIs[0] src3
37022 /* 104600 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37023 /* 104603 */ // (intrinsic_void 16378:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMRLFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37024 /* 104603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMRLFP16PS),
37025 /* 104606 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37026 /* 104608 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37027 /* 104610 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37028 /* 104612 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37029 /* 104616 */ GIR_RootConstrainSelectedInstOperands,
37030 /* 104617 */ // GIR_Coverage, 17072,
37031 /* 104617 */ GIR_EraseRootFromParent_Done,
37032 /* 104618 */ // Label 2815: @104618
37033 /* 104618 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2816*/ GIMT_Encode4(104654), GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode), // Rule ID 17073 //
37034 /* 104625 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf8ps),
37035 /* 104630 */ // MIs[0] src1
37036 /* 104630 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37037 /* 104633 */ // MIs[0] src2
37038 /* 104633 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37039 /* 104636 */ // MIs[0] src3
37040 /* 104636 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37041 /* 104639 */ // (intrinsic_void 16397:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37042 /* 104639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF8PS),
37043 /* 104642 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37044 /* 104644 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37045 /* 104646 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37046 /* 104648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37047 /* 104652 */ GIR_RootConstrainSelectedInstOperands,
37048 /* 104653 */ // GIR_Coverage, 17073,
37049 /* 104653 */ GIR_EraseRootFromParent_Done,
37050 /* 104654 */ // Label 2816: @104654
37051 /* 104654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2817*/ GIMT_Encode4(104690), GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode), // Rule ID 17074 //
37052 /* 104661 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbhf8ps),
37053 /* 104666 */ // MIs[0] src1
37054 /* 104666 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37055 /* 104669 */ // MIs[0] src2
37056 /* 104669 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37057 /* 104672 */ // MIs[0] src3
37058 /* 104672 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37059 /* 104675 */ // (intrinsic_void 16399:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37060 /* 104675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBHF8PS),
37061 /* 104678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37062 /* 104680 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37063 /* 104682 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37064 /* 104684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37065 /* 104688 */ GIR_RootConstrainSelectedInstOperands,
37066 /* 104689 */ // GIR_Coverage, 17074,
37067 /* 104689 */ GIR_EraseRootFromParent_Done,
37068 /* 104690 */ // Label 2817: @104690
37069 /* 104690 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2818*/ GIMT_Encode4(104726), GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode), // Rule ID 17075 //
37070 /* 104697 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphbf8ps),
37071 /* 104702 */ // MIs[0] src1
37072 /* 104702 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37073 /* 104705 */ // MIs[0] src2
37074 /* 104705 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37075 /* 104708 */ // MIs[0] src3
37076 /* 104708 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37077 /* 104711 */ // (intrinsic_void 16411:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37078 /* 104711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHBF8PS),
37079 /* 104714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37080 /* 104716 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37081 /* 104718 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37082 /* 104720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37083 /* 104724 */ GIR_RootConstrainSelectedInstOperands,
37084 /* 104725 */ // GIR_Coverage, 17075,
37085 /* 104725 */ GIR_EraseRootFromParent_Done,
37086 /* 104726 */ // Label 2818: @104726
37087 /* 104726 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2819*/ GIMT_Encode4(104762), GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode), // Rule ID 17076 //
37088 /* 104733 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphf8ps),
37089 /* 104738 */ // MIs[0] src1
37090 /* 104738 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37091 /* 104741 */ // MIs[0] src2
37092 /* 104741 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37093 /* 104744 */ // MIs[0] src3
37094 /* 104744 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37095 /* 104747 */ // (intrinsic_void 16413:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37096 /* 104747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHF8PS),
37097 /* 104750 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37098 /* 104752 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37099 /* 104754 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37100 /* 104756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37101 /* 104760 */ GIR_RootConstrainSelectedInstOperands,
37102 /* 104761 */ // GIR_Coverage, 17076,
37103 /* 104761 */ GIR_EraseRootFromParent_Done,
37104 /* 104762 */ // Label 2819: @104762
37105 /* 104762 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2820*/ GIMT_Encode4(104802), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17081 //
37106 /* 104769 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2psi),
37107 /* 104774 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37108 /* 104777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37109 /* 104781 */ // MIs[0] src1
37110 /* 104781 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37111 /* 104784 */ // MIs[0] src2
37112 /* 104784 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37113 /* 104787 */ // (intrinsic_w_chain:{ *:[v16f32] } 16382:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWD2PSrti:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37114 /* 104787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrti),
37115 /* 104790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37116 /* 104792 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37117 /* 104794 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37118 /* 104796 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37119 /* 104800 */ GIR_RootConstrainSelectedInstOperands,
37120 /* 104801 */ // GIR_Coverage, 17081,
37121 /* 104801 */ GIR_EraseRootFromParent_Done,
37122 /* 104802 */ // Label 2820: @104802
37123 /* 104802 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2821*/ GIMT_Encode4(104842), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17090 //
37124 /* 104809 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phhi),
37125 /* 104814 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37126 /* 104817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37127 /* 104821 */ // MIs[0] src1
37128 /* 104821 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37129 /* 104824 */ // MIs[0] src2
37130 /* 104824 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37131 /* 104827 */ // (intrinsic_w_chain:{ *:[v32f16] } 16391:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHHrti:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37132 /* 104827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrti),
37133 /* 104830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37134 /* 104832 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37135 /* 104834 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37136 /* 104836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37137 /* 104840 */ GIR_RootConstrainSelectedInstOperands,
37138 /* 104841 */ // GIR_Coverage, 17090,
37139 /* 104841 */ GIR_EraseRootFromParent_Done,
37140 /* 104842 */ // Label 2821: @104842
37141 /* 104842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2822*/ GIMT_Encode4(104882), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17092 //
37142 /* 104849 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phli),
37143 /* 104854 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37144 /* 104857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37145 /* 104861 */ // MIs[0] src1
37146 /* 104861 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37147 /* 104864 */ // MIs[0] src2
37148 /* 104864 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37149 /* 104867 */ // (intrinsic_w_chain:{ *:[v32f16] } 16394:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHLrti:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37150 /* 104867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrti),
37151 /* 104870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37152 /* 104872 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37153 /* 104874 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37154 /* 104876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37155 /* 104880 */ GIR_RootConstrainSelectedInstOperands,
37156 /* 104881 */ // GIR_Coverage, 17092,
37157 /* 104881 */ GIR_EraseRootFromParent_Done,
37158 /* 104882 */ // Label 2822: @104882
37159 /* 104882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2823*/ GIMT_Encode4(104922), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17093 //
37160 /* 104889 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrowi),
37161 /* 104894 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37162 /* 104897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37163 /* 104901 */ // MIs[0] src1
37164 /* 104901 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37165 /* 104904 */ // MIs[0] src2
37166 /* 104904 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37167 /* 104907 */ // (intrinsic_w_chain:{ *:[v16i32] } 16426:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTILEMOVROWrti:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37168 /* 104907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrti),
37169 /* 104910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37170 /* 104912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37171 /* 104914 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37172 /* 104916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37173 /* 104920 */ GIR_RootConstrainSelectedInstOperands,
37174 /* 104921 */ // GIR_Coverage, 17093,
37175 /* 104921 */ GIR_EraseRootFromParent_Done,
37176 /* 104922 */ // Label 2823: @104922
37177 /* 104922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2824*/ GIMT_Encode4(104966), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17082 //
37178 /* 104929 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2ps),
37179 /* 104934 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37180 /* 104937 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37181 /* 104940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37182 /* 104944 */ // MIs[0] src1
37183 /* 104944 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37184 /* 104947 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37185 /* 104951 */ // (intrinsic_w_chain:{ *:[v16f32] } 16380:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWD2PSrte:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37186 /* 104951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrte),
37187 /* 104954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37188 /* 104956 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37189 /* 104958 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37190 /* 104960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37191 /* 104964 */ GIR_RootConstrainSelectedInstOperands,
37192 /* 104965 */ // GIR_Coverage, 17082,
37193 /* 104965 */ GIR_EraseRootFromParent_Done,
37194 /* 104966 */ // Label 2824: @104966
37195 /* 104966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2825*/ GIMT_Encode4(105010), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17089 //
37196 /* 104973 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phh),
37197 /* 104978 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37198 /* 104981 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37199 /* 104984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37200 /* 104988 */ // MIs[0] src1
37201 /* 104988 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37202 /* 104991 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37203 /* 104995 */ // (intrinsic_w_chain:{ *:[v32f16] } 16389:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHHrte:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37204 /* 104995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrte),
37205 /* 104998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37206 /* 105000 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37207 /* 105002 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37208 /* 105004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37209 /* 105008 */ GIR_RootConstrainSelectedInstOperands,
37210 /* 105009 */ // GIR_Coverage, 17089,
37211 /* 105009 */ GIR_EraseRootFromParent_Done,
37212 /* 105010 */ // Label 2825: @105010
37213 /* 105010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2826*/ GIMT_Encode4(105054), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17091 //
37214 /* 105017 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phl),
37215 /* 105022 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37216 /* 105025 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37217 /* 105028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37218 /* 105032 */ // MIs[0] src1
37219 /* 105032 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37220 /* 105035 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37221 /* 105039 */ // (intrinsic_w_chain:{ *:[v32f16] } 16392:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHLrte:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37222 /* 105039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrte),
37223 /* 105042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37224 /* 105044 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37225 /* 105046 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37226 /* 105048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37227 /* 105052 */ GIR_RootConstrainSelectedInstOperands,
37228 /* 105053 */ // GIR_Coverage, 17091,
37229 /* 105053 */ GIR_EraseRootFromParent_Done,
37230 /* 105054 */ // Label 2826: @105054
37231 /* 105054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2827*/ GIMT_Encode4(105098), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17094 //
37232 /* 105061 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrow),
37233 /* 105066 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37234 /* 105069 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37235 /* 105072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37236 /* 105076 */ // MIs[0] src1
37237 /* 105076 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37238 /* 105079 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37239 /* 105083 */ // (intrinsic_w_chain:{ *:[v16i32] } 16424:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTILEMOVROWrte:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37240 /* 105083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrte),
37241 /* 105086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37242 /* 105088 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37243 /* 105090 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37244 /* 105092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37245 /* 105096 */ GIR_RootConstrainSelectedInstOperands,
37246 /* 105097 */ // GIR_Coverage, 17094,
37247 /* 105097 */ GIR_EraseRootFromParent_Done,
37248 /* 105098 */ // Label 2827: @105098
37249 /* 105098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2828*/ GIMT_Encode4(105142), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 122 //
37250 /* 105105 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
37251 /* 105110 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37252 /* 105113 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37253 /* 105116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37254 /* 105120 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37255 /* 105124 */ // MIs[0] cntl
37256 /* 105124 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37257 /* 105127 */ // (intrinsic_void 16080:{ *:[iPTR] }, GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL32rri GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
37258 /* 105127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rri),
37259 /* 105130 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37260 /* 105132 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37261 /* 105134 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37262 /* 105136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37263 /* 105140 */ GIR_RootConstrainSelectedInstOperands,
37264 /* 105141 */ // GIR_Coverage, 122,
37265 /* 105141 */ GIR_EraseRootFromParent_Done,
37266 /* 105142 */ // Label 2828: @105142
37267 /* 105142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2829*/ GIMT_Encode4(105186), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 124 //
37268 /* 105149 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
37269 /* 105154 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37270 /* 105157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37271 /* 105160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37272 /* 105164 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37273 /* 105168 */ // MIs[0] cntl
37274 /* 105168 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37275 /* 105171 */ // (intrinsic_void 16081:{ *:[iPTR] }, GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL64rri GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
37276 /* 105171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rri),
37277 /* 105174 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37278 /* 105176 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37279 /* 105178 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37280 /* 105180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37281 /* 105184 */ GIR_RootConstrainSelectedInstOperands,
37282 /* 105185 */ // GIR_Coverage, 124,
37283 /* 105185 */ GIR_EraseRootFromParent_Done,
37284 /* 105186 */ // Label 2829: @105186
37285 /* 105186 */ GIM_Try, /*On fail goto*//*Label 2830*/ GIMT_Encode4(105268), // Rule ID 17143 //
37286 /* 105191 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsetbv),
37287 /* 105196 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37288 /* 105199 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37289 /* 105202 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37290 /* 105205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
37291 /* 105209 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37292 /* 105213 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37293 /* 105217 */ // (intrinsic_void 16548:{ *:[iPTR] }, ECX:{ *:[i32] }, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSETBV)
37294 /* 105217 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37295 /* 105221 */ GIR_AddRegister, /*InsnID*/3, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37296 /* 105227 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37297 /* 105231 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37298 /* 105235 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37299 /* 105241 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37300 /* 105245 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37301 /* 105249 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37302 /* 105255 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
37303 /* 105259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSETBV),
37304 /* 105262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37305 /* 105266 */ GIR_RootConstrainSelectedInstOperands,
37306 /* 105267 */ // GIR_Coverage, 17143,
37307 /* 105267 */ GIR_EraseRootFromParent_Done,
37308 /* 105268 */ // Label 2830: @105268
37309 /* 105268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2831*/ GIMT_Encode4(105316), GIMT_Encode2(GIFBS_HasMWAITX), // Rule ID 17332 //
37310 /* 105275 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mwaitx),
37311 /* 105280 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37312 /* 105283 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37313 /* 105286 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37314 /* 105289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37315 /* 105293 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37316 /* 105297 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37317 /* 105301 */ // (intrinsic_void 16158:{ *:[iPTR] }, GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx) => (MWAITX GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx)
37318 /* 105301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITX),
37319 /* 105304 */ GIR_RootToRootCopy, /*OpIdx*/1, // ecx
37320 /* 105306 */ GIR_RootToRootCopy, /*OpIdx*/2, // eax
37321 /* 105308 */ GIR_RootToRootCopy, /*OpIdx*/3, // ebx
37322 /* 105310 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37323 /* 105314 */ GIR_RootConstrainSelectedInstOperands,
37324 /* 105315 */ // GIR_Coverage, 17332,
37325 /* 105315 */ GIR_EraseRootFromParent_Done,
37326 /* 105316 */ // Label 2831: @105316
37327 /* 105316 */ GIM_Try, /*On fail goto*//*Label 2832*/ GIMT_Encode4(105509),
37328 /* 105321 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
37329 /* 105326 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
37330 /* 105329 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
37331 /* 105332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37332 /* 105336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37333 /* 105340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2833*/ GIMT_Encode4(105382), GIMT_Encode2(GIFBS_HasAVX_In64BitMode), // Rule ID 2885 //
37334 /* 105347 */ // MIs[0] Operand 3
37335 /* 105347 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
37336 /* 105351 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
37337 /* 105355 */ // (intrinsic_void 16256:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (VMASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37338 /* 105355 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37339 /* 105359 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37340 /* 105365 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
37341 /* 105369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU64),
37342 /* 105372 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37343 /* 105374 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37344 /* 105376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37345 /* 105380 */ GIR_RootConstrainSelectedInstOperands,
37346 /* 105381 */ // GIR_Coverage, 2885,
37347 /* 105381 */ GIR_EraseRootFromParent_Done,
37348 /* 105382 */ // Label 2833: @105382
37349 /* 105382 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2834*/ GIMT_Encode4(105424), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2886 //
37350 /* 105389 */ // MIs[0] Operand 3
37351 /* 105389 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
37352 /* 105393 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
37353 /* 105397 */ // (intrinsic_void 16256:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (VMASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37354 /* 105397 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37355 /* 105401 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37356 /* 105407 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
37357 /* 105411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU),
37358 /* 105414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37359 /* 105416 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37360 /* 105418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37361 /* 105422 */ GIR_RootConstrainSelectedInstOperands,
37362 /* 105423 */ // GIR_Coverage, 2886,
37363 /* 105423 */ GIR_EraseRootFromParent_Done,
37364 /* 105424 */ // Label 2834: @105424
37365 /* 105424 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2835*/ GIMT_Encode4(105466), GIMT_Encode2(GIFBS_In64BitMode_UseSSE2), // Rule ID 2887 //
37366 /* 105431 */ // MIs[0] Operand 3
37367 /* 105431 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
37368 /* 105435 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
37369 /* 105439 */ // (intrinsic_void 16256:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (MASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37370 /* 105439 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37371 /* 105443 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37372 /* 105449 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
37373 /* 105453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU64),
37374 /* 105456 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37375 /* 105458 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37376 /* 105460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37377 /* 105464 */ GIR_RootConstrainSelectedInstOperands,
37378 /* 105465 */ // GIR_Coverage, 2887,
37379 /* 105465 */ GIR_EraseRootFromParent_Done,
37380 /* 105466 */ // Label 2835: @105466
37381 /* 105466 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2836*/ GIMT_Encode4(105508), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2888 //
37382 /* 105473 */ // MIs[0] Operand 3
37383 /* 105473 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
37384 /* 105477 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
37385 /* 105481 */ // (intrinsic_void 16256:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (MASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37386 /* 105481 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37387 /* 105485 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37388 /* 105491 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
37389 /* 105495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU),
37390 /* 105498 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37391 /* 105500 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37392 /* 105502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37393 /* 105506 */ GIR_RootConstrainSelectedInstOperands,
37394 /* 105507 */ // GIR_Coverage, 2888,
37395 /* 105507 */ GIR_EraseRootFromParent_Done,
37396 /* 105508 */ // Label 2836: @105508
37397 /* 105508 */ GIM_Reject,
37398 /* 105509 */ // Label 2832: @105509
37399 /* 105509 */ GIM_Reject,
37400 /* 105510 */ // Label 2777: @105510
37401 /* 105510 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2837*/ GIMT_Encode4(105597), GIMT_Encode2(GIFBS_HasKL), // Rule ID 17045 //
37402 /* 105517 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
37403 /* 105520 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_loadiwkey),
37404 /* 105525 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
37405 /* 105528 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
37406 /* 105531 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37407 /* 105534 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
37408 /* 105537 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37409 /* 105541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37410 /* 105545 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37411 /* 105549 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37412 /* 105553 */ // (intrinsic_void 16077:{ *:[iPTR] }, XMM0:{ *:[v2i64] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, EAX:{ *:[i32] }) => (LOADIWKEY:{ *:[i32] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
37413 /* 105553 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37414 /* 105557 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37415 /* 105563 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/4, // EAX
37416 /* 105567 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37417 /* 105571 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37418 /* 105577 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // XMM0
37419 /* 105581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LOADIWKEY),
37420 /* 105584 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37421 /* 105586 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37422 /* 105588 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
37423 /* 105591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37424 /* 105595 */ GIR_RootConstrainSelectedInstOperands,
37425 /* 105596 */ // GIR_Coverage, 17045,
37426 /* 105596 */ GIR_EraseRootFromParent_Done,
37427 /* 105597 */ // Label 2837: @105597
37428 /* 105597 */ GIM_Reject,
37429 /* 105598 */ // Label 22: @105598
37430 /* 105598 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 2841*/ GIMT_Encode4(106054),
37431 /* 105609 */ /*GILLT_s16*//*Label 2838*/ GIMT_Encode4(105621),
37432 /* 105613 */ /*GILLT_s32*//*Label 2839*/ GIMT_Encode4(105679),
37433 /* 105617 */ /*GILLT_s64*//*Label 2840*/ GIMT_Encode4(105865),
37434 /* 105621 */ // Label 2838: @105621
37435 /* 105621 */ GIM_Try, /*On fail goto*//*Label 2842*/ GIMT_Encode4(105678), // Rule ID 22833 //
37436 /* 105626 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
37437 /* 105629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37438 /* 105633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37439 /* 105637 */ // (anyext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
37440 /* 105637 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37441 /* 105640 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
37442 /* 105644 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37443 /* 105649 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37444 /* 105653 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37445 /* 105655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37446 /* 105658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37447 /* 105660 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
37448 /* 105667 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
37449 /* 105672 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37450 /* 105677 */ // GIR_Coverage, 22833,
37451 /* 105677 */ GIR_EraseRootFromParent_Done,
37452 /* 105678 */ // Label 2842: @105678
37453 /* 105678 */ GIM_Reject,
37454 /* 105679 */ // Label 2839: @105679
37455 /* 105679 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 2845*/ GIMT_Encode4(105864),
37456 /* 105690 */ /*GILLT_s8*//*Label 2843*/ GIMT_Encode4(105698),
37457 /* 105694 */ /*GILLT_s16*//*Label 2844*/ GIMT_Encode4(105764),
37458 /* 105698 */ // Label 2843: @105698
37459 /* 105698 */ GIM_Try, /*On fail goto*//*Label 2846*/ GIMT_Encode4(105763),
37460 /* 105703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37461 /* 105707 */ GIM_Try, /*On fail goto*//*Label 2847*/ GIMT_Encode4(105746), // Rule ID 19540 //
37462 /* 105712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
37463 /* 105716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
37464 /* 105720 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
37465 /* 105724 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
37466 /* 105729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37467 /* 105731 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] })
37468 /* 105731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37469 /* 105734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37470 /* 105736 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
37471 /* 105740 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
37472 /* 105745 */ // GIR_Coverage, 19540,
37473 /* 105745 */ GIR_EraseRootFromParent_Done,
37474 /* 105746 */ // Label 2847: @105746
37475 /* 105746 */ GIM_Try, /*On fail goto*//*Label 2848*/ GIMT_Encode4(105762), // Rule ID 22834 //
37476 /* 105751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37477 /* 105755 */ // (anyext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
37478 /* 105755 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
37479 /* 105760 */ GIR_RootConstrainSelectedInstOperands,
37480 /* 105761 */ // GIR_Coverage, 22834,
37481 /* 105761 */ GIR_Done,
37482 /* 105762 */ // Label 2848: @105762
37483 /* 105762 */ GIM_Reject,
37484 /* 105763 */ // Label 2846: @105763
37485 /* 105763 */ GIM_Reject,
37486 /* 105764 */ // Label 2844: @105764
37487 /* 105764 */ GIM_Try, /*On fail goto*//*Label 2849*/ GIMT_Encode4(105807), // Rule ID 19537 //
37488 /* 105769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37489 /* 105773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
37490 /* 105777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
37491 /* 105781 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
37492 /* 105785 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
37493 /* 105790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37494 /* 105792 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] })
37495 /* 105792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37496 /* 105795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37497 /* 105797 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
37498 /* 105801 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
37499 /* 105806 */ // GIR_Coverage, 19537,
37500 /* 105806 */ GIR_EraseRootFromParent_Done,
37501 /* 105807 */ // Label 2849: @105807
37502 /* 105807 */ GIM_Try, /*On fail goto*//*Label 2850*/ GIMT_Encode4(105863), // Rule ID 22835 //
37503 /* 105812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
37504 /* 105816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37505 /* 105820 */ // (anyext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] })
37506 /* 105820 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37507 /* 105823 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37508 /* 105827 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37509 /* 105832 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37510 /* 105834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37511 /* 105837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37512 /* 105839 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37513 /* 105842 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37514 /* 105844 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
37515 /* 105847 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
37516 /* 105852 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
37517 /* 105857 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
37518 /* 105862 */ // GIR_Coverage, 22835,
37519 /* 105862 */ GIR_EraseRootFromParent_Done,
37520 /* 105863 */ // Label 2850: @105863
37521 /* 105863 */ GIM_Reject,
37522 /* 105864 */ // Label 2845: @105864
37523 /* 105864 */ GIM_Reject,
37524 /* 105865 */ // Label 2840: @105865
37525 /* 105865 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(4), /*)*//*default:*//*Label 2854*/ GIMT_Encode4(106053),
37526 /* 105876 */ /*GILLT_s8*//*Label 2851*/ GIMT_Encode4(105888),
37527 /* 105880 */ /*GILLT_s16*//*Label 2852*/ GIMT_Encode4(105942),
37528 /* 105884 */ /*GILLT_s32*//*Label 2853*/ GIMT_Encode4(105996),
37529 /* 105888 */ // Label 2851: @105888
37530 /* 105888 */ GIM_Try, /*On fail goto*//*Label 2855*/ GIMT_Encode4(105941), // Rule ID 22836 //
37531 /* 105893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37532 /* 105897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37533 /* 105901 */ // (anyext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
37534 /* 105901 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37535 /* 105904 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
37536 /* 105908 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37537 /* 105913 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37538 /* 105917 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37539 /* 105919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
37540 /* 105922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37541 /* 105924 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37542 /* 105927 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
37543 /* 105930 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37544 /* 105935 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37545 /* 105940 */ // GIR_Coverage, 22836,
37546 /* 105940 */ GIR_EraseRootFromParent_Done,
37547 /* 105941 */ // Label 2855: @105941
37548 /* 105941 */ GIM_Reject,
37549 /* 105942 */ // Label 2852: @105942
37550 /* 105942 */ GIM_Try, /*On fail goto*//*Label 2856*/ GIMT_Encode4(105995), // Rule ID 22837 //
37551 /* 105947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37552 /* 105951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37553 /* 105955 */ // (anyext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
37554 /* 105955 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37555 /* 105958 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
37556 /* 105962 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37557 /* 105967 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37558 /* 105971 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37559 /* 105973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
37560 /* 105976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37561 /* 105978 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37562 /* 105981 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
37563 /* 105984 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37564 /* 105989 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37565 /* 105994 */ // GIR_Coverage, 22837,
37566 /* 105994 */ GIR_EraseRootFromParent_Done,
37567 /* 105995 */ // Label 2856: @105995
37568 /* 105995 */ GIM_Reject,
37569 /* 105996 */ // Label 2853: @105996
37570 /* 105996 */ GIM_Try, /*On fail goto*//*Label 2857*/ GIMT_Encode4(106052), // Rule ID 22838 //
37571 /* 106001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37572 /* 106005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37573 /* 106009 */ // (anyext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR32:{ *:[i32] }:$src, sub_32bit:{ *:[i32] })
37574 /* 106009 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
37575 /* 106012 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37576 /* 106016 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37577 /* 106021 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37578 /* 106023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37579 /* 106026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37580 /* 106028 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37581 /* 106031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37582 /* 106033 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
37583 /* 106036 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37584 /* 106041 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64RegClassID),
37585 /* 106046 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
37586 /* 106051 */ // GIR_Coverage, 22838,
37587 /* 106051 */ GIR_EraseRootFromParent_Done,
37588 /* 106052 */ // Label 2857: @106052
37589 /* 106052 */ GIM_Reject,
37590 /* 106053 */ // Label 2854: @106053
37591 /* 106053 */ GIM_Reject,
37592 /* 106054 */ // Label 2841: @106054
37593 /* 106054 */ GIM_Reject,
37594 /* 106055 */ // Label 23: @106055
37595 /* 106055 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(21), /*)*//*default:*//*Label 2866*/ GIMT_Encode4(107170),
37596 /* 106066 */ /*GILLT_s8*//*Label 2858*/ GIMT_Encode4(106146),
37597 /* 106070 */ /*GILLT_s16*//*Label 2859*/ GIMT_Encode4(106432), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
37598 /* 106114 */ /*GILLT_v16s8*//*Label 2860*/ GIMT_Encode4(106471),
37599 /* 106118 */ /*GILLT_v32s8*//*Label 2861*/ GIMT_Encode4(106770), GIMT_Encode4(0),
37600 /* 106126 */ /*GILLT_v8s16*//*Label 2862*/ GIMT_Encode4(106796),
37601 /* 106130 */ /*GILLT_v16s16*//*Label 2863*/ GIMT_Encode4(106980), GIMT_Encode4(0),
37602 /* 106138 */ /*GILLT_v4s32*//*Label 2864*/ GIMT_Encode4(107006),
37603 /* 106142 */ /*GILLT_v8s32*//*Label 2865*/ GIMT_Encode4(107144),
37604 /* 106146 */ // Label 2858: @106146
37605 /* 106146 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 2869*/ GIMT_Encode4(106431),
37606 /* 106157 */ /*GILLT_s16*//*Label 2867*/ GIMT_Encode4(106165),
37607 /* 106161 */ /*GILLT_s32*//*Label 2868*/ GIMT_Encode4(106334),
37608 /* 106165 */ // Label 2867: @106165
37609 /* 106165 */ GIM_Try, /*On fail goto*//*Label 2870*/ GIMT_Encode4(106237), // Rule ID 19532 //
37610 /* 106170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37611 /* 106174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
37612 /* 106178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
37613 /* 106182 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
37614 /* 106186 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
37615 /* 106191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37616 /* 106193 */ // (trunc:{ *:[i8] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
37617 /* 106193 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37618 /* 106196 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37619 /* 106200 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37620 /* 106205 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
37621 /* 106209 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
37622 /* 106214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37623 /* 106217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37624 /* 106219 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
37625 /* 106226 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
37626 /* 106231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37627 /* 106236 */ // GIR_Coverage, 19532,
37628 /* 106236 */ GIR_EraseRootFromParent_Done,
37629 /* 106237 */ // Label 2870: @106237
37630 /* 106237 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2871*/ GIMT_Encode4(106296), GIMT_Encode2(GIFBS_Not64BitMode), // Rule ID 22900 //
37631 /* 106244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
37632 /* 106248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37633 /* 106252 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i16] } GR16:{ *:[i16] }:$src, GR16_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
37634 /* 106252 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
37635 /* 106255 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37636 /* 106259 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37637 /* 106264 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37638 /* 106268 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16_ABCDRegClassID),
37639 /* 106273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37640 /* 106276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37641 /* 106278 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
37642 /* 106285 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
37643 /* 106290 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16_ABCDRegClassID),
37644 /* 106295 */ // GIR_Coverage, 22900,
37645 /* 106295 */ GIR_EraseRootFromParent_Done,
37646 /* 106296 */ // Label 2871: @106296
37647 /* 106296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2872*/ GIMT_Encode4(106333), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 22905 //
37648 /* 106303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37649 /* 106307 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37650 /* 106311 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src, sub_8bit:{ *:[i32] })
37651 /* 106311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37652 /* 106314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37653 /* 106316 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
37654 /* 106322 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
37655 /* 106327 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
37656 /* 106332 */ // GIR_Coverage, 22905,
37657 /* 106332 */ GIR_EraseRootFromParent_Done,
37658 /* 106333 */ // Label 2872: @106333
37659 /* 106333 */ GIM_Reject,
37660 /* 106334 */ // Label 2868: @106334
37661 /* 106334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2873*/ GIMT_Encode4(106393), GIMT_Encode2(GIFBS_Not64BitMode), // Rule ID 22899 //
37662 /* 106341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
37663 /* 106345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37664 /* 106349 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } GR32:{ *:[i32] }:$src, GR32_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
37665 /* 106349 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37666 /* 106352 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37667 /* 106356 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37668 /* 106361 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37669 /* 106365 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32_ABCDRegClassID),
37670 /* 106370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37671 /* 106373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37672 /* 106375 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
37673 /* 106382 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
37674 /* 106387 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32_ABCDRegClassID),
37675 /* 106392 */ // GIR_Coverage, 22899,
37676 /* 106392 */ GIR_EraseRootFromParent_Done,
37677 /* 106393 */ // Label 2873: @106393
37678 /* 106393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2874*/ GIMT_Encode4(106430), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 22904 //
37679 /* 106400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37680 /* 106404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37681 /* 106408 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] })
37682 /* 106408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37683 /* 106411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37684 /* 106413 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
37685 /* 106419 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
37686 /* 106424 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37687 /* 106429 */ // GIR_Coverage, 22904,
37688 /* 106429 */ GIR_EraseRootFromParent_Done,
37689 /* 106430 */ // Label 2874: @106430
37690 /* 106430 */ GIM_Reject,
37691 /* 106431 */ // Label 2869: @106431
37692 /* 106431 */ GIM_Reject,
37693 /* 106432 */ // Label 2859: @106432
37694 /* 106432 */ GIM_Try, /*On fail goto*//*Label 2875*/ GIMT_Encode4(106470), // Rule ID 22898 //
37695 /* 106437 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37696 /* 106440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37697 /* 106444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37698 /* 106448 */ // (trunc:{ *:[i16] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] })
37699 /* 106448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37700 /* 106451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37701 /* 106453 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
37702 /* 106459 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
37703 /* 106464 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37704 /* 106469 */ // GIR_Coverage, 22898,
37705 /* 106469 */ GIR_EraseRootFromParent_Done,
37706 /* 106470 */ // Label 2875: @106470
37707 /* 106470 */ GIM_Reject,
37708 /* 106471 */ // Label 2860: @106471
37709 /* 106471 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(22), /*)*//*default:*//*Label 2878*/ GIMT_Encode4(106769),
37710 /* 106482 */ /*GILLT_v16s16*//*Label 2876*/ GIMT_Encode4(106502), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
37711 /* 106498 */ /*GILLT_v16s32*//*Label 2877*/ GIMT_Encode4(106746),
37712 /* 106502 */ // Label 2876: @106502
37713 /* 106502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2879*/ GIMT_Encode4(106574), GIMT_Encode2(GIFBS_HasAVX512_NoBWI), // Rule ID 21802 //
37714 /* 106509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37715 /* 106513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
37716 /* 106517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
37717 /* 106521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
37718 /* 106524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
37719 /* 106528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
37720 /* 106532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37721 /* 106534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37722 /* 106541 */ // (trunc:{ *:[v16i8] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src))
37723 /* 106541 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
37724 /* 106544 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
37725 /* 106548 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37726 /* 106553 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
37727 /* 106557 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
37728 /* 106562 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37729 /* 106564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
37730 /* 106567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37731 /* 106569 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37732 /* 106572 */ GIR_RootConstrainSelectedInstOperands,
37733 /* 106573 */ // GIR_Coverage, 21802,
37734 /* 106573 */ GIR_EraseRootFromParent_Done,
37735 /* 106574 */ // Label 2879: @106574
37736 /* 106574 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2880*/ GIMT_Encode4(106596), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12344 //
37737 /* 106581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37738 /* 106585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37739 /* 106589 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVWBZ256rr:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src)
37740 /* 106589 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZ256rr),
37741 /* 106594 */ GIR_RootConstrainSelectedInstOperands,
37742 /* 106595 */ // GIR_Coverage, 12344,
37743 /* 106595 */ GIR_Done,
37744 /* 106596 */ // Label 2880: @106596
37745 /* 106596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2881*/ GIMT_Encode4(106702), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21710 //
37746 /* 106603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
37747 /* 106607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37748 /* 106611 */ // (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] })
37749 /* 106611 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
37750 /* 106614 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37751 /* 106618 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37752 /* 106623 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
37753 /* 106625 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
37754 /* 106628 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37755 /* 106632 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37756 /* 106637 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
37757 /* 106640 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
37758 /* 106644 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
37759 /* 106647 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
37760 /* 106652 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
37761 /* 106657 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
37762 /* 106662 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
37763 /* 106665 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
37764 /* 106669 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37765 /* 106674 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37766 /* 106677 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37767 /* 106679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37768 /* 106682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37769 /* 106684 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
37770 /* 106691 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
37771 /* 106696 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
37772 /* 106701 */ // GIR_Coverage, 21710,
37773 /* 106701 */ GIR_EraseRootFromParent_Done,
37774 /* 106702 */ // Label 2881: @106702
37775 /* 106702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2882*/ GIMT_Encode4(106745), GIMT_Encode2(GIFBS_HasAVX512_NoBWI), // Rule ID 21801 //
37776 /* 106709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37777 /* 106713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37778 /* 106717 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src))
37779 /* 106717 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
37780 /* 106720 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
37781 /* 106724 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37782 /* 106729 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37783 /* 106733 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37784 /* 106735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
37785 /* 106738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37786 /* 106740 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37787 /* 106743 */ GIR_RootConstrainSelectedInstOperands,
37788 /* 106744 */ // GIR_Coverage, 21801,
37789 /* 106744 */ GIR_EraseRootFromParent_Done,
37790 /* 106745 */ // Label 2882: @106745
37791 /* 106745 */ GIM_Reject,
37792 /* 106746 */ // Label 2877: @106746
37793 /* 106746 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2883*/ GIMT_Encode4(106768), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12293 //
37794 /* 106753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37795 /* 106757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37796 /* 106761 */ // (trunc:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src)
37797 /* 106761 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
37798 /* 106766 */ GIR_RootConstrainSelectedInstOperands,
37799 /* 106767 */ // GIR_Coverage, 12293,
37800 /* 106767 */ GIR_Done,
37801 /* 106768 */ // Label 2883: @106768
37802 /* 106768 */ GIM_Reject,
37803 /* 106769 */ // Label 2878: @106769
37804 /* 106769 */ GIM_Reject,
37805 /* 106770 */ // Label 2861: @106770
37806 /* 106770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2884*/ GIMT_Encode4(106795), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12347 //
37807 /* 106777 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
37808 /* 106780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37809 /* 106784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37810 /* 106788 */ // (trunc:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src) => (VPMOVWBZrr:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src)
37811 /* 106788 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
37812 /* 106793 */ GIR_RootConstrainSelectedInstOperands,
37813 /* 106794 */ // GIR_Coverage, 12347,
37814 /* 106794 */ GIR_Done,
37815 /* 106795 */ // Label 2884: @106795
37816 /* 106795 */ GIM_Reject,
37817 /* 106796 */ // Label 2862: @106796
37818 /* 106796 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 2887*/ GIMT_Encode4(106979),
37819 /* 106807 */ /*GILLT_v8s32*//*Label 2885*/ GIMT_Encode4(106827), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
37820 /* 106823 */ /*GILLT_v8s64*//*Label 2886*/ GIMT_Encode4(106956),
37821 /* 106827 */ // Label 2885: @106827
37822 /* 106827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2888*/ GIMT_Encode4(106849), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12317 //
37823 /* 106834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37824 /* 106838 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37825 /* 106842 */ // (trunc:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src)
37826 /* 106842 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
37827 /* 106847 */ GIR_RootConstrainSelectedInstOperands,
37828 /* 106848 */ // GIR_Coverage, 12317,
37829 /* 106848 */ GIR_Done,
37830 /* 106849 */ // Label 2888: @106849
37831 /* 106849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2889*/ GIMT_Encode4(106955), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 21708 //
37832 /* 106856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
37833 /* 106860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37834 /* 106864 */ // (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] })
37835 /* 106864 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
37836 /* 106867 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37837 /* 106871 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37838 /* 106876 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
37839 /* 106878 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
37840 /* 106881 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37841 /* 106885 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37842 /* 106890 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
37843 /* 106893 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
37844 /* 106897 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
37845 /* 106900 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
37846 /* 106905 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
37847 /* 106910 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
37848 /* 106915 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
37849 /* 106918 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
37850 /* 106922 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37851 /* 106927 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37852 /* 106930 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37853 /* 106932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37854 /* 106935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37855 /* 106937 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
37856 /* 106944 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
37857 /* 106949 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
37858 /* 106954 */ // GIR_Coverage, 21708,
37859 /* 106954 */ GIR_EraseRootFromParent_Done,
37860 /* 106955 */ // Label 2889: @106955
37861 /* 106955 */ GIM_Reject,
37862 /* 106956 */ // Label 2886: @106956
37863 /* 106956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2890*/ GIMT_Encode4(106978), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12239 //
37864 /* 106963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37865 /* 106967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37866 /* 106971 */ // (trunc:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src) => (VPMOVQWZrr:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src)
37867 /* 106971 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQWZrr),
37868 /* 106976 */ GIR_RootConstrainSelectedInstOperands,
37869 /* 106977 */ // GIR_Coverage, 12239,
37870 /* 106977 */ GIR_Done,
37871 /* 106978 */ // Label 2890: @106978
37872 /* 106978 */ GIM_Reject,
37873 /* 106979 */ // Label 2887: @106979
37874 /* 106979 */ GIM_Reject,
37875 /* 106980 */ // Label 2863: @106980
37876 /* 106980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2891*/ GIMT_Encode4(107005), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12320 //
37877 /* 106987 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
37878 /* 106990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37879 /* 106994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37880 /* 106998 */ // (trunc:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src)
37881 /* 106998 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
37882 /* 107003 */ GIR_RootConstrainSelectedInstOperands,
37883 /* 107004 */ // GIR_Coverage, 12320,
37884 /* 107004 */ GIR_Done,
37885 /* 107005 */ // Label 2891: @107005
37886 /* 107005 */ GIM_Reject,
37887 /* 107006 */ // Label 2864: @107006
37888 /* 107006 */ GIM_Try, /*On fail goto*//*Label 2892*/ GIMT_Encode4(107143),
37889 /* 107011 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
37890 /* 107014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2893*/ GIMT_Encode4(107036), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12263 //
37891 /* 107021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37892 /* 107025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37893 /* 107029 */ // (trunc:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src) => (VPMOVQDZ256rr:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src)
37894 /* 107029 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZ256rr),
37895 /* 107034 */ GIR_RootConstrainSelectedInstOperands,
37896 /* 107035 */ // GIR_Coverage, 12263,
37897 /* 107035 */ GIR_Done,
37898 /* 107036 */ // Label 2893: @107036
37899 /* 107036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2894*/ GIMT_Encode4(107142), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 21709 //
37900 /* 107043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
37901 /* 107047 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37902 /* 107051 */ // (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] })
37903 /* 107051 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
37904 /* 107054 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37905 /* 107058 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37906 /* 107063 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
37907 /* 107065 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
37908 /* 107068 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37909 /* 107072 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37910 /* 107077 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
37911 /* 107080 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
37912 /* 107084 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
37913 /* 107087 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
37914 /* 107092 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
37915 /* 107097 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
37916 /* 107102 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
37917 /* 107105 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
37918 /* 107109 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37919 /* 107114 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37920 /* 107117 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37921 /* 107119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37922 /* 107122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37923 /* 107124 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
37924 /* 107131 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
37925 /* 107136 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
37926 /* 107141 */ // GIR_Coverage, 21709,
37927 /* 107141 */ GIR_EraseRootFromParent_Done,
37928 /* 107142 */ // Label 2894: @107142
37929 /* 107142 */ GIM_Reject,
37930 /* 107143 */ // Label 2892: @107143
37931 /* 107143 */ GIM_Reject,
37932 /* 107144 */ // Label 2865: @107144
37933 /* 107144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2895*/ GIMT_Encode4(107169), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12266 //
37934 /* 107151 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
37935 /* 107154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37936 /* 107158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37937 /* 107162 */ // (trunc:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src) => (VPMOVQDZrr:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src)
37938 /* 107162 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
37939 /* 107167 */ GIR_RootConstrainSelectedInstOperands,
37940 /* 107168 */ // GIR_Coverage, 12266,
37941 /* 107168 */ GIR_Done,
37942 /* 107169 */ // Label 2895: @107169
37943 /* 107169 */ GIM_Reject,
37944 /* 107170 */ // Label 2866: @107170
37945 /* 107170 */ GIM_Reject,
37946 /* 107171 */ // Label 24: @107171
37947 /* 107171 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2900*/ GIMT_Encode4(107765),
37948 /* 107182 */ /*GILLT_s8*//*Label 2896*/ GIMT_Encode4(107198),
37949 /* 107186 */ /*GILLT_s16*//*Label 2897*/ GIMT_Encode4(107280),
37950 /* 107190 */ /*GILLT_s32*//*Label 2898*/ GIMT_Encode4(107478),
37951 /* 107194 */ /*GILLT_s64*//*Label 2899*/ GIMT_Encode4(107615),
37952 /* 107198 */ // Label 2896: @107198
37953 /* 107198 */ GIM_Try, /*On fail goto*//*Label 2901*/ GIMT_Encode4(107279),
37954 /* 107203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37955 /* 107207 */ GIM_Try, /*On fail goto*//*Label 2902*/ GIMT_Encode4(107263), // Rule ID 22588 //
37956 /* 107212 */ // MIs[0] Operand 1
37957 /* 107212 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
37958 /* 107223 */ // 0:{ *:[i8] } => (EXTRACT_SUBREG:{ *:[i8] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_8bit:{ *:[i32] })
37959 /* 107223 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37960 /* 107226 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
37961 /* 107230 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37962 /* 107235 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
37963 /* 107238 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37964 /* 107240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37965 /* 107243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37966 /* 107245 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
37967 /* 107252 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
37968 /* 107257 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37969 /* 107262 */ // GIR_Coverage, 22588,
37970 /* 107262 */ GIR_EraseRootFromParent_Done,
37971 /* 107263 */ // Label 2902: @107263
37972 /* 107263 */ GIM_Try, /*On fail goto*//*Label 2903*/ GIMT_Encode4(107278), // Rule ID 19 //
37973 /* 107268 */ // MIs[0] Operand 1
37974 /* 107268 */ // No operand predicates
37975 /* 107268 */ // (imm:{ *:[i8] }):$src => (MOV8ri:{ *:[i8] } (imm:{ *:[i8] }):$src)
37976 /* 107268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8ri),
37977 /* 107271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37978 /* 107273 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
37979 /* 107276 */ GIR_RootConstrainSelectedInstOperands,
37980 /* 107277 */ // GIR_Coverage, 19,
37981 /* 107277 */ GIR_EraseRootFromParent_Done,
37982 /* 107278 */ // Label 2903: @107278
37983 /* 107278 */ GIM_Reject,
37984 /* 107279 */ // Label 2901: @107279
37985 /* 107279 */ GIM_Reject,
37986 /* 107280 */ // Label 2897: @107280
37987 /* 107280 */ GIM_Try, /*On fail goto*//*Label 2904*/ GIMT_Encode4(107477),
37988 /* 107285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37989 /* 107289 */ GIM_Try, /*On fail goto*//*Label 2905*/ GIMT_Encode4(107345), // Rule ID 22589 //
37990 /* 107294 */ // MIs[0] Operand 1
37991 /* 107294 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
37992 /* 107305 */ // 0:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
37993 /* 107305 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37994 /* 107308 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
37995 /* 107312 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37996 /* 107317 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
37997 /* 107320 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37998 /* 107322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37999 /* 107325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38000 /* 107327 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38001 /* 107334 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38002 /* 107339 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38003 /* 107344 */ // GIR_Coverage, 22589,
38004 /* 107344 */ GIR_EraseRootFromParent_Done,
38005 /* 107345 */ // Label 2905: @107345
38006 /* 107345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2906*/ GIMT_Encode4(107403), GIMT_Encode2(GIFBS_Not64BitMode_OptForSize), // Rule ID 22591 //
38007 /* 107352 */ // MIs[0] Operand 1
38008 /* 107352 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
38009 /* 107363 */ // 1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
38010 /* 107363 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38011 /* 107366 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
38012 /* 107370 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38013 /* 107375 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38014 /* 107378 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38015 /* 107380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38016 /* 107383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38017 /* 107385 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38018 /* 107392 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38019 /* 107397 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38020 /* 107402 */ // GIR_Coverage, 22591,
38021 /* 107402 */ GIR_EraseRootFromParent_Done,
38022 /* 107403 */ // Label 2906: @107403
38023 /* 107403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2907*/ GIMT_Encode4(107461), GIMT_Encode2(GIFBS_Not64BitMode_OptForSize), // Rule ID 22592 //
38024 /* 107410 */ // MIs[0] Operand 1
38025 /* 107410 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
38026 /* 107421 */ // -1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r_1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
38027 /* 107421 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38028 /* 107424 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
38029 /* 107428 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38030 /* 107433 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38031 /* 107436 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38032 /* 107438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38033 /* 107441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38034 /* 107443 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38035 /* 107450 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38036 /* 107455 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38037 /* 107460 */ // GIR_Coverage, 22592,
38038 /* 107460 */ GIR_EraseRootFromParent_Done,
38039 /* 107461 */ // Label 2907: @107461
38040 /* 107461 */ GIM_Try, /*On fail goto*//*Label 2908*/ GIMT_Encode4(107476), // Rule ID 20 //
38041 /* 107466 */ // MIs[0] Operand 1
38042 /* 107466 */ // No operand predicates
38043 /* 107466 */ // (imm:{ *:[i16] }):$src => (MOV16ri:{ *:[i16] } (imm:{ *:[i16] }):$src)
38044 /* 107466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16ri),
38045 /* 107469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38046 /* 107471 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38047 /* 107474 */ GIR_RootConstrainSelectedInstOperands,
38048 /* 107475 */ // GIR_Coverage, 20,
38049 /* 107475 */ GIR_EraseRootFromParent_Done,
38050 /* 107476 */ // Label 2908: @107476
38051 /* 107476 */ GIM_Reject,
38052 /* 107477 */ // Label 2904: @107477
38053 /* 107477 */ GIM_Reject,
38054 /* 107478 */ // Label 2898: @107478
38055 /* 107478 */ GIM_Try, /*On fail goto*//*Label 2909*/ GIMT_Encode4(107570),
38056 /* 107483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38057 /* 107487 */ GIM_Try, /*On fail goto*//*Label 2910*/ GIMT_Encode4(107513), // Rule ID 17192 //
38058 /* 107492 */ // MIs[0] Operand 1
38059 /* 107492 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38060 /* 107503 */ // 0:{ *:[i32] } => (MOV32r0:{ *:[i32] }:{ *:[i32] })
38061 /* 107503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38062 /* 107506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38063 /* 107508 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38064 /* 107511 */ GIR_RootConstrainSelectedInstOperands,
38065 /* 107512 */ // GIR_Coverage, 17192,
38066 /* 107512 */ GIR_EraseRootFromParent_Done,
38067 /* 107513 */ // Label 2910: @107513
38068 /* 107513 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2911*/ GIMT_Encode4(107541), GIMT_Encode2(GIFBS_Not64BitMode_OptForSize), // Rule ID 17193 //
38069 /* 107520 */ // MIs[0] Operand 1
38070 /* 107520 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
38071 /* 107531 */ // 1:{ *:[i32] } => (MOV32r1:{ *:[i32] }:{ *:[i32] })
38072 /* 107531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
38073 /* 107534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38074 /* 107536 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38075 /* 107539 */ GIR_RootConstrainSelectedInstOperands,
38076 /* 107540 */ // GIR_Coverage, 17193,
38077 /* 107540 */ GIR_EraseRootFromParent_Done,
38078 /* 107541 */ // Label 2911: @107541
38079 /* 107541 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2912*/ GIMT_Encode4(107569), GIMT_Encode2(GIFBS_Not64BitMode_OptForSize), // Rule ID 17194 //
38080 /* 107548 */ // MIs[0] Operand 1
38081 /* 107548 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
38082 /* 107559 */ // -1:{ *:[i32] } => (MOV32r_1:{ *:[i32] }:{ *:[i32] })
38083 /* 107559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
38084 /* 107562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38085 /* 107564 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38086 /* 107567 */ GIR_RootConstrainSelectedInstOperands,
38087 /* 107568 */ // GIR_Coverage, 17194,
38088 /* 107568 */ GIR_EraseRootFromParent_Done,
38089 /* 107569 */ // Label 2912: @107569
38090 /* 107569 */ GIM_Reject,
38091 /* 107570 */ // Label 2909: @107570
38092 /* 107570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2913*/ GIMT_Encode4(107595), GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize), // Rule ID 17195 //
38093 /* 107577 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i32immSExt8),
38094 /* 107581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38095 /* 107585 */ // MIs[0] Operand 1
38096 /* 107585 */ // No operand predicates
38097 /* 107585 */ // (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>>:$src => (MOV32ImmSExti8:{ *:[i32] } (imm:{ *:[i32] }):$src)
38098 /* 107585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ImmSExti8),
38099 /* 107588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38100 /* 107590 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38101 /* 107593 */ GIR_RootConstrainSelectedInstOperands,
38102 /* 107594 */ // GIR_Coverage, 17195,
38103 /* 107594 */ GIR_EraseRootFromParent_Done,
38104 /* 107595 */ // Label 2913: @107595
38105 /* 107595 */ GIM_Try, /*On fail goto*//*Label 2914*/ GIMT_Encode4(107614), // Rule ID 21 //
38106 /* 107600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38107 /* 107604 */ // MIs[0] Operand 1
38108 /* 107604 */ // No operand predicates
38109 /* 107604 */ // (imm:{ *:[i32] }):$src => (MOV32ri:{ *:[i32] } (imm:{ *:[i32] }):$src)
38110 /* 107604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri),
38111 /* 107607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38112 /* 107609 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38113 /* 107612 */ GIR_RootConstrainSelectedInstOperands,
38114 /* 107613 */ // GIR_Coverage, 21,
38115 /* 107613 */ GIR_EraseRootFromParent_Done,
38116 /* 107614 */ // Label 2914: @107614
38117 /* 107614 */ GIM_Reject,
38118 /* 107615 */ // Label 2899: @107615
38119 /* 107615 */ GIM_Try, /*On fail goto*//*Label 2915*/ GIMT_Encode4(107674), // Rule ID 22590 //
38120 /* 107620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38121 /* 107624 */ // MIs[0] Operand 1
38122 /* 107624 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38123 /* 107635 */ // 0:{ *:[i64] } => (SUBREG_TO_REG:{ *:[i64] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_32bit:{ *:[i32] })
38124 /* 107635 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38125 /* 107638 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38126 /* 107642 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38127 /* 107647 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38128 /* 107650 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38129 /* 107652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
38130 /* 107655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38131 /* 107657 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38132 /* 107660 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38133 /* 107663 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38134 /* 107668 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38135 /* 107673 */ // GIR_Coverage, 22590,
38136 /* 107673 */ GIR_EraseRootFromParent_Done,
38137 /* 107674 */ // Label 2915: @107674
38138 /* 107674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2916*/ GIMT_Encode4(107699), GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize), // Rule ID 17196 //
38139 /* 107681 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt8),
38140 /* 107685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38141 /* 107689 */ // MIs[0] Operand 1
38142 /* 107689 */ // No operand predicates
38143 /* 107689 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>>:$src => (MOV64ImmSExti8:{ *:[i64] } (imm:{ *:[i64] }):$src)
38144 /* 107689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ImmSExti8),
38145 /* 107692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38146 /* 107694 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38147 /* 107697 */ GIR_RootConstrainSelectedInstOperands,
38148 /* 107698 */ // GIR_Coverage, 17196,
38149 /* 107698 */ GIR_EraseRootFromParent_Done,
38150 /* 107699 */ // Label 2916: @107699
38151 /* 107699 */ GIM_Try, /*On fail goto*//*Label 2917*/ GIMT_Encode4(107722), // Rule ID 17197 //
38152 /* 107704 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immZExt32),
38153 /* 107708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38154 /* 107712 */ // MIs[0] Operand 1
38155 /* 107712 */ // No operand predicates
38156 /* 107712 */ // (imm:{ *:[i64] })<<P:Predicate_i64immZExt32>>:$src => (MOV32ri64:{ *:[i64] } (imm:{ *:[i64] }):$src)
38157 /* 107712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri64),
38158 /* 107715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38159 /* 107717 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38160 /* 107720 */ GIR_RootConstrainSelectedInstOperands,
38161 /* 107721 */ // GIR_Coverage, 17197,
38162 /* 107721 */ GIR_EraseRootFromParent_Done,
38163 /* 107722 */ // Label 2917: @107722
38164 /* 107722 */ GIM_Try, /*On fail goto*//*Label 2918*/ GIMT_Encode4(107745), // Rule ID 22 //
38165 /* 107727 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
38166 /* 107731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38167 /* 107735 */ // MIs[0] Operand 1
38168 /* 107735 */ // No operand predicates
38169 /* 107735 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src => (MOV64ri32:{ *:[i64] } (imm:{ *:[i64] }):$src)
38170 /* 107735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri32),
38171 /* 107738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38172 /* 107740 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38173 /* 107743 */ GIR_RootConstrainSelectedInstOperands,
38174 /* 107744 */ // GIR_Coverage, 22,
38175 /* 107744 */ GIR_EraseRootFromParent_Done,
38176 /* 107745 */ // Label 2918: @107745
38177 /* 107745 */ GIM_Try, /*On fail goto*//*Label 2919*/ GIMT_Encode4(107764), // Rule ID 23 //
38178 /* 107750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38179 /* 107754 */ // MIs[0] Operand 1
38180 /* 107754 */ // No operand predicates
38181 /* 107754 */ // (imm:{ *:[i64] }):$src => (MOV64ri:{ *:[i64] } (imm:{ *:[i64] }):$src)
38182 /* 107754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri),
38183 /* 107757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38184 /* 107759 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38185 /* 107762 */ GIR_RootConstrainSelectedInstOperands,
38186 /* 107763 */ // GIR_Coverage, 23,
38187 /* 107763 */ GIR_EraseRootFromParent_Done,
38188 /* 107764 */ // Label 2919: @107764
38189 /* 107764 */ GIM_Reject,
38190 /* 107765 */ // Label 2900: @107765
38191 /* 107765 */ GIM_Reject,
38192 /* 107766 */ // Label 25: @107766
38193 /* 107766 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 2923*/ GIMT_Encode4(108208),
38194 /* 107777 */ /*GILLT_s32*//*Label 2920*/ GIMT_Encode4(107789),
38195 /* 107781 */ /*GILLT_s64*//*Label 2921*/ GIMT_Encode4(107930),
38196 /* 107785 */ /*GILLT_s80*//*Label 2922*/ GIMT_Encode4(108071),
38197 /* 107789 */ // Label 2920: @107789
38198 /* 107789 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2924*/ GIMT_Encode4(107814), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1092 //
38199 /* 107796 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
38200 /* 107800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38201 /* 107804 */ // MIs[0] Operand 1
38202 /* 107804 */ // No operand predicates
38203 /* 107804 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>> => (LD_Fp032:{ *:[f32] }:{ *:[i16] })
38204 /* 107804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
38205 /* 107807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38206 /* 107809 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38207 /* 107812 */ GIR_RootConstrainSelectedInstOperands,
38208 /* 107813 */ // GIR_Coverage, 1092,
38209 /* 107813 */ GIR_EraseRootFromParent_Done,
38210 /* 107814 */ // Label 2924: @107814
38211 /* 107814 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2925*/ GIMT_Encode4(107839), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1093 //
38212 /* 107821 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
38213 /* 107825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38214 /* 107829 */ // MIs[0] Operand 1
38215 /* 107829 */ // No operand predicates
38216 /* 107829 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm1>> => (LD_Fp132:{ *:[f32] }:{ *:[i16] })
38217 /* 107829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
38218 /* 107832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38219 /* 107834 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38220 /* 107837 */ GIR_RootConstrainSelectedInstOperands,
38221 /* 107838 */ // GIR_Coverage, 1093,
38222 /* 107838 */ GIR_EraseRootFromParent_Done,
38223 /* 107839 */ // Label 2925: @107839
38224 /* 107839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2926*/ GIMT_Encode4(107884), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17777 //
38225 /* 107846 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
38226 /* 107850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38227 /* 107854 */ // MIs[0] Operand 1
38228 /* 107854 */ // No operand predicates
38229 /* 107854 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg0>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp032:{ *:[f32] }:{ *:[i16] }))
38230 /* 107854 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38231 /* 107857 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
38232 /* 107861 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38233 /* 107866 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38234 /* 107869 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38235 /* 107871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
38236 /* 107874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38237 /* 107876 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38238 /* 107879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38239 /* 107882 */ GIR_RootConstrainSelectedInstOperands,
38240 /* 107883 */ // GIR_Coverage, 17777,
38241 /* 107883 */ GIR_EraseRootFromParent_Done,
38242 /* 107884 */ // Label 2926: @107884
38243 /* 107884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2927*/ GIMT_Encode4(107929), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17778 //
38244 /* 107891 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
38245 /* 107895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38246 /* 107899 */ // MIs[0] Operand 1
38247 /* 107899 */ // No operand predicates
38248 /* 107899 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg1>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp132:{ *:[f32] }:{ *:[i16] }))
38249 /* 107899 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38250 /* 107902 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
38251 /* 107906 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38252 /* 107911 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38253 /* 107914 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38254 /* 107916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
38255 /* 107919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38256 /* 107921 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38257 /* 107924 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38258 /* 107927 */ GIR_RootConstrainSelectedInstOperands,
38259 /* 107928 */ // GIR_Coverage, 17778,
38260 /* 107928 */ GIR_EraseRootFromParent_Done,
38261 /* 107929 */ // Label 2927: @107929
38262 /* 107929 */ GIM_Reject,
38263 /* 107930 */ // Label 2921: @107930
38264 /* 107930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2928*/ GIMT_Encode4(107955), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1094 //
38265 /* 107937 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
38266 /* 107941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38267 /* 107945 */ // MIs[0] Operand 1
38268 /* 107945 */ // No operand predicates
38269 /* 107945 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>> => (LD_Fp064:{ *:[f64] }:{ *:[i16] })
38270 /* 107945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
38271 /* 107948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38272 /* 107950 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38273 /* 107953 */ GIR_RootConstrainSelectedInstOperands,
38274 /* 107954 */ // GIR_Coverage, 1094,
38275 /* 107954 */ GIR_EraseRootFromParent_Done,
38276 /* 107955 */ // Label 2928: @107955
38277 /* 107955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2929*/ GIMT_Encode4(107980), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1095 //
38278 /* 107962 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
38279 /* 107966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38280 /* 107970 */ // MIs[0] Operand 1
38281 /* 107970 */ // No operand predicates
38282 /* 107970 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm1>> => (LD_Fp164:{ *:[f64] }:{ *:[i16] })
38283 /* 107970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
38284 /* 107973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38285 /* 107975 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38286 /* 107978 */ GIR_RootConstrainSelectedInstOperands,
38287 /* 107979 */ // GIR_Coverage, 1095,
38288 /* 107979 */ GIR_EraseRootFromParent_Done,
38289 /* 107980 */ // Label 2929: @107980
38290 /* 107980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2930*/ GIMT_Encode4(108025), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 17779 //
38291 /* 107987 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
38292 /* 107991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38293 /* 107995 */ // MIs[0] Operand 1
38294 /* 107995 */ // No operand predicates
38295 /* 107995 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg0>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp064:{ *:[f64] }:{ *:[i16] }))
38296 /* 107995 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
38297 /* 107998 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
38298 /* 108002 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38299 /* 108007 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38300 /* 108010 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38301 /* 108012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
38302 /* 108015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38303 /* 108017 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38304 /* 108020 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38305 /* 108023 */ GIR_RootConstrainSelectedInstOperands,
38306 /* 108024 */ // GIR_Coverage, 17779,
38307 /* 108024 */ GIR_EraseRootFromParent_Done,
38308 /* 108025 */ // Label 2930: @108025
38309 /* 108025 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2931*/ GIMT_Encode4(108070), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 17780 //
38310 /* 108032 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
38311 /* 108036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38312 /* 108040 */ // MIs[0] Operand 1
38313 /* 108040 */ // No operand predicates
38314 /* 108040 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg1>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp164:{ *:[f64] }:{ *:[i16] }))
38315 /* 108040 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
38316 /* 108043 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
38317 /* 108047 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38318 /* 108052 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38319 /* 108055 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38320 /* 108057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
38321 /* 108060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38322 /* 108062 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38323 /* 108065 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38324 /* 108068 */ GIR_RootConstrainSelectedInstOperands,
38325 /* 108069 */ // GIR_Coverage, 17780,
38326 /* 108069 */ GIR_EraseRootFromParent_Done,
38327 /* 108070 */ // Label 2931: @108070
38328 /* 108070 */ GIM_Reject,
38329 /* 108071 */ // Label 2922: @108071
38330 /* 108071 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2932*/ GIMT_Encode4(108096), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1096 //
38331 /* 108078 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
38332 /* 108082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38333 /* 108086 */ // MIs[0] Operand 1
38334 /* 108086 */ // No operand predicates
38335 /* 108086 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm0>> => (LD_Fp080:{ *:[f80] }:{ *:[i16] })
38336 /* 108086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
38337 /* 108089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38338 /* 108091 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38339 /* 108094 */ GIR_RootConstrainSelectedInstOperands,
38340 /* 108095 */ // GIR_Coverage, 1096,
38341 /* 108095 */ GIR_EraseRootFromParent_Done,
38342 /* 108096 */ // Label 2932: @108096
38343 /* 108096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2933*/ GIMT_Encode4(108121), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1097 //
38344 /* 108103 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
38345 /* 108107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38346 /* 108111 */ // MIs[0] Operand 1
38347 /* 108111 */ // No operand predicates
38348 /* 108111 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm1>> => (LD_Fp180:{ *:[f80] }:{ *:[i16] })
38349 /* 108111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
38350 /* 108114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38351 /* 108116 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38352 /* 108119 */ GIR_RootConstrainSelectedInstOperands,
38353 /* 108120 */ // GIR_Coverage, 1097,
38354 /* 108120 */ GIR_EraseRootFromParent_Done,
38355 /* 108121 */ // Label 2933: @108121
38356 /* 108121 */ GIM_Try, /*On fail goto*//*Label 2934*/ GIMT_Encode4(108164), // Rule ID 17781 //
38357 /* 108126 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
38358 /* 108130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38359 /* 108134 */ // MIs[0] Operand 1
38360 /* 108134 */ // No operand predicates
38361 /* 108134 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg0>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp080:{ *:[f80] }:{ *:[i16] }))
38362 /* 108134 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
38363 /* 108137 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
38364 /* 108141 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38365 /* 108146 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38366 /* 108149 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38367 /* 108151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
38368 /* 108154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38369 /* 108156 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38370 /* 108159 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38371 /* 108162 */ GIR_RootConstrainSelectedInstOperands,
38372 /* 108163 */ // GIR_Coverage, 17781,
38373 /* 108163 */ GIR_EraseRootFromParent_Done,
38374 /* 108164 */ // Label 2934: @108164
38375 /* 108164 */ GIM_Try, /*On fail goto*//*Label 2935*/ GIMT_Encode4(108207), // Rule ID 17782 //
38376 /* 108169 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
38377 /* 108173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38378 /* 108177 */ // MIs[0] Operand 1
38379 /* 108177 */ // No operand predicates
38380 /* 108177 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg1>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp180:{ *:[f80] }:{ *:[i16] }))
38381 /* 108177 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
38382 /* 108180 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
38383 /* 108184 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38384 /* 108189 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38385 /* 108192 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38386 /* 108194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
38387 /* 108197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38388 /* 108199 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38389 /* 108202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38390 /* 108205 */ GIR_RootConstrainSelectedInstOperands,
38391 /* 108206 */ // GIR_Coverage, 17782,
38392 /* 108206 */ GIR_EraseRootFromParent_Done,
38393 /* 108207 */ // Label 2935: @108207
38394 /* 108207 */ GIM_Reject,
38395 /* 108208 */ // Label 2923: @108208
38396 /* 108208 */ GIM_Reject,
38397 /* 108209 */ // Label 26: @108209
38398 /* 108209 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 2951*/ GIMT_Encode4(110073),
38399 /* 108220 */ /*GILLT_s16*//*Label 2936*/ GIMT_Encode4(108312),
38400 /* 108224 */ /*GILLT_s32*//*Label 2937*/ GIMT_Encode4(108370),
38401 /* 108228 */ /*GILLT_s64*//*Label 2938*/ GIMT_Encode4(108432), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38402 /* 108264 */ /*GILLT_v16s8*//*Label 2939*/ GIMT_Encode4(108521),
38403 /* 108268 */ /*GILLT_v32s8*//*Label 2940*/ GIMT_Encode4(108588),
38404 /* 108272 */ /*GILLT_v64s8*//*Label 2941*/ GIMT_Encode4(108614),
38405 /* 108276 */ /*GILLT_v8s16*//*Label 2942*/ GIMT_Encode4(108640),
38406 /* 108280 */ /*GILLT_v16s16*//*Label 2943*/ GIMT_Encode4(108707),
38407 /* 108284 */ /*GILLT_v32s16*//*Label 2944*/ GIMT_Encode4(108956),
38408 /* 108288 */ /*GILLT_v4s32*//*Label 2945*/ GIMT_Encode4(109087),
38409 /* 108292 */ /*GILLT_v8s32*//*Label 2946*/ GIMT_Encode4(109113),
38410 /* 108296 */ /*GILLT_v16s32*//*Label 2947*/ GIMT_Encode4(109337),
38411 /* 108300 */ /*GILLT_v2s64*//*Label 2948*/ GIMT_Encode4(109564),
38412 /* 108304 */ /*GILLT_v4s64*//*Label 2949*/ GIMT_Encode4(109590),
38413 /* 108308 */ /*GILLT_v8s64*//*Label 2950*/ GIMT_Encode4(109830),
38414 /* 108312 */ // Label 2936: @108312
38415 /* 108312 */ GIM_Try, /*On fail goto*//*Label 2952*/ GIMT_Encode4(108369), // Rule ID 22894 //
38416 /* 108317 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38417 /* 108320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38418 /* 108324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38419 /* 108328 */ // (sext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
38420 /* 108328 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38421 /* 108331 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
38422 /* 108335 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38423 /* 108340 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38424 /* 108344 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38425 /* 108346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38426 /* 108349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38427 /* 108351 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38428 /* 108358 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38429 /* 108363 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38430 /* 108368 */ // GIR_Coverage, 22894,
38431 /* 108368 */ GIR_EraseRootFromParent_Done,
38432 /* 108369 */ // Label 2952: @108369
38433 /* 108369 */ GIM_Reject,
38434 /* 108370 */ // Label 2937: @108370
38435 /* 108370 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 2955*/ GIMT_Encode4(108431),
38436 /* 108381 */ /*GILLT_s8*//*Label 2953*/ GIMT_Encode4(108389),
38437 /* 108385 */ /*GILLT_s16*//*Label 2954*/ GIMT_Encode4(108410),
38438 /* 108389 */ // Label 2953: @108389
38439 /* 108389 */ GIM_Try, /*On fail goto*//*Label 2956*/ GIMT_Encode4(108409), // Rule ID 589 //
38440 /* 108394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38441 /* 108398 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38442 /* 108402 */ // (sext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
38443 /* 108402 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
38444 /* 108407 */ GIR_RootConstrainSelectedInstOperands,
38445 /* 108408 */ // GIR_Coverage, 589,
38446 /* 108408 */ GIR_Done,
38447 /* 108409 */ // Label 2956: @108409
38448 /* 108409 */ GIM_Reject,
38449 /* 108410 */ // Label 2954: @108410
38450 /* 108410 */ GIM_Try, /*On fail goto*//*Label 2957*/ GIMT_Encode4(108430), // Rule ID 591 //
38451 /* 108415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38452 /* 108419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38453 /* 108423 */ // (sext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVSX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
38454 /* 108423 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
38455 /* 108428 */ GIR_RootConstrainSelectedInstOperands,
38456 /* 108429 */ // GIR_Coverage, 591,
38457 /* 108429 */ GIR_Done,
38458 /* 108430 */ // Label 2957: @108430
38459 /* 108430 */ GIM_Reject,
38460 /* 108431 */ // Label 2955: @108431
38461 /* 108431 */ GIM_Reject,
38462 /* 108432 */ // Label 2938: @108432
38463 /* 108432 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(4), /*)*//*default:*//*Label 2961*/ GIMT_Encode4(108520),
38464 /* 108443 */ /*GILLT_s8*//*Label 2958*/ GIMT_Encode4(108455),
38465 /* 108447 */ /*GILLT_s16*//*Label 2959*/ GIMT_Encode4(108476),
38466 /* 108451 */ /*GILLT_s32*//*Label 2960*/ GIMT_Encode4(108497),
38467 /* 108455 */ // Label 2958: @108455
38468 /* 108455 */ GIM_Try, /*On fail goto*//*Label 2962*/ GIMT_Encode4(108475), // Rule ID 597 //
38469 /* 108460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38470 /* 108464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38471 /* 108468 */ // (sext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (MOVSX64rr8:{ *:[i64] } GR8:{ *:[i8] }:$src)
38472 /* 108468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr8),
38473 /* 108473 */ GIR_RootConstrainSelectedInstOperands,
38474 /* 108474 */ // GIR_Coverage, 597,
38475 /* 108474 */ GIR_Done,
38476 /* 108475 */ // Label 2962: @108475
38477 /* 108475 */ GIM_Reject,
38478 /* 108476 */ // Label 2959: @108476
38479 /* 108476 */ GIM_Try, /*On fail goto*//*Label 2963*/ GIMT_Encode4(108496), // Rule ID 599 //
38480 /* 108481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38481 /* 108485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38482 /* 108489 */ // (sext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (MOVSX64rr16:{ *:[i64] } GR16:{ *:[i16] }:$src)
38483 /* 108489 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr16),
38484 /* 108494 */ GIR_RootConstrainSelectedInstOperands,
38485 /* 108495 */ // GIR_Coverage, 599,
38486 /* 108495 */ GIR_Done,
38487 /* 108496 */ // Label 2963: @108496
38488 /* 108496 */ GIM_Reject,
38489 /* 108497 */ // Label 2960: @108497
38490 /* 108497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2964*/ GIMT_Encode4(108519), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 601 //
38491 /* 108504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38492 /* 108508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38493 /* 108512 */ // (sext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (MOVSX64rr32:{ *:[i64] } GR32:{ *:[i32] }:$src)
38494 /* 108512 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr32),
38495 /* 108517 */ GIR_RootConstrainSelectedInstOperands,
38496 /* 108518 */ // GIR_Coverage, 601,
38497 /* 108518 */ GIR_Done,
38498 /* 108519 */ // Label 2964: @108519
38499 /* 108519 */ GIM_Reject,
38500 /* 108520 */ // Label 2961: @108520
38501 /* 108520 */ GIM_Reject,
38502 /* 108521 */ // Label 2939: @108521
38503 /* 108521 */ GIM_Try, /*On fail goto*//*Label 2965*/ GIMT_Encode4(108587),
38504 /* 108526 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
38505 /* 108529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38506 /* 108533 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38507 /* 108537 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2966*/ GIMT_Encode4(108551), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12586 //
38508 /* 108544 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2BZ128rk:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src)
38509 /* 108544 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ128rk),
38510 /* 108549 */ GIR_RootConstrainSelectedInstOperands,
38511 /* 108550 */ // GIR_Coverage, 12586,
38512 /* 108550 */ GIR_Done,
38513 /* 108551 */ // Label 2966: @108551
38514 /* 108551 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2967*/ GIMT_Encode4(108586), GIMT_Encode2(GIFBS_HasDQI_NoBWI), // Rule ID 21811 //
38515 /* 108558 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
38516 /* 108558 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
38517 /* 108561 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
38518 /* 108565 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38519 /* 108570 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38520 /* 108574 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38521 /* 108576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
38522 /* 108579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38523 /* 108581 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38524 /* 108584 */ GIR_RootConstrainSelectedInstOperands,
38525 /* 108585 */ // GIR_Coverage, 21811,
38526 /* 108585 */ GIR_EraseRootFromParent_Done,
38527 /* 108586 */ // Label 2967: @108586
38528 /* 108586 */ GIM_Reject,
38529 /* 108587 */ // Label 2965: @108587
38530 /* 108587 */ GIM_Reject,
38531 /* 108588 */ // Label 2940: @108588
38532 /* 108588 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2968*/ GIMT_Encode4(108613), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12585 //
38533 /* 108595 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
38534 /* 108598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38535 /* 108602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
38536 /* 108606 */ // (sext:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2BZ256rk:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src)
38537 /* 108606 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ256rk),
38538 /* 108611 */ GIR_RootConstrainSelectedInstOperands,
38539 /* 108612 */ // GIR_Coverage, 12585,
38540 /* 108612 */ GIR_Done,
38541 /* 108613 */ // Label 2968: @108613
38542 /* 108613 */ GIM_Reject,
38543 /* 108614 */ // Label 2941: @108614
38544 /* 108614 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2969*/ GIMT_Encode4(108639), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12584 //
38545 /* 108621 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
38546 /* 108624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38547 /* 108628 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
38548 /* 108632 */ // (sext:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src) => (VPMOVM2BZrk:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src)
38549 /* 108632 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZrk),
38550 /* 108637 */ GIR_RootConstrainSelectedInstOperands,
38551 /* 108638 */ // GIR_Coverage, 12584,
38552 /* 108638 */ GIR_Done,
38553 /* 108639 */ // Label 2969: @108639
38554 /* 108639 */ GIM_Reject,
38555 /* 108640 */ // Label 2942: @108640
38556 /* 108640 */ GIM_Try, /*On fail goto*//*Label 2970*/ GIMT_Encode4(108706),
38557 /* 108645 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
38558 /* 108648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38559 /* 108652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
38560 /* 108656 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2971*/ GIMT_Encode4(108670), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12589 //
38561 /* 108663 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2WZ128rk:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src)
38562 /* 108663 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ128rk),
38563 /* 108668 */ GIR_RootConstrainSelectedInstOperands,
38564 /* 108669 */ // GIR_Coverage, 12589,
38565 /* 108669 */ GIR_Done,
38566 /* 108670 */ // Label 2971: @108670
38567 /* 108670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2972*/ GIMT_Encode4(108705), GIMT_Encode2(GIFBS_HasDQI_HasVLX_NoBWI), // Rule ID 21813 //
38568 /* 108677 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src))
38569 /* 108677 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
38570 /* 108680 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
38571 /* 108684 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38572 /* 108689 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38573 /* 108693 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38574 /* 108695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
38575 /* 108698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38576 /* 108700 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38577 /* 108703 */ GIR_RootConstrainSelectedInstOperands,
38578 /* 108704 */ // GIR_Coverage, 21813,
38579 /* 108704 */ GIR_EraseRootFromParent_Done,
38580 /* 108705 */ // Label 2972: @108705
38581 /* 108705 */ GIM_Reject,
38582 /* 108706 */ // Label 2970: @108706
38583 /* 108706 */ GIM_Reject,
38584 /* 108707 */ // Label 2943: @108707
38585 /* 108707 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(10), GIMT_Encode2(14), /*)*//*default:*//*Label 2975*/ GIMT_Encode4(108955),
38586 /* 108718 */ /*GILLT_v16s1*//*Label 2973*/ GIMT_Encode4(108734), GIMT_Encode4(0), GIMT_Encode4(0),
38587 /* 108730 */ /*GILLT_v16s8*//*Label 2974*/ GIMT_Encode4(108798),
38588 /* 108734 */ // Label 2973: @108734
38589 /* 108734 */ GIM_Try, /*On fail goto*//*Label 2976*/ GIMT_Encode4(108797),
38590 /* 108739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38591 /* 108743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38592 /* 108747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2977*/ GIMT_Encode4(108761), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12588 //
38593 /* 108754 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2WZ256rk:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src)
38594 /* 108754 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ256rk),
38595 /* 108759 */ GIR_RootConstrainSelectedInstOperands,
38596 /* 108760 */ // GIR_Coverage, 12588,
38597 /* 108760 */ GIR_Done,
38598 /* 108761 */ // Label 2977: @108761
38599 /* 108761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2978*/ GIMT_Encode4(108796), GIMT_Encode2(GIFBS_HasDQI_NoBWI), // Rule ID 21812 //
38600 /* 108768 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
38601 /* 108768 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
38602 /* 108771 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
38603 /* 108775 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38604 /* 108780 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38605 /* 108784 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38606 /* 108786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
38607 /* 108789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38608 /* 108791 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38609 /* 108794 */ GIR_RootConstrainSelectedInstOperands,
38610 /* 108795 */ // GIR_Coverage, 21812,
38611 /* 108795 */ GIR_EraseRootFromParent_Done,
38612 /* 108796 */ // Label 2978: @108796
38613 /* 108796 */ GIM_Reject,
38614 /* 108797 */ // Label 2976: @108797
38615 /* 108797 */ GIM_Reject,
38616 /* 108798 */ // Label 2974: @108798
38617 /* 108798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2979*/ GIMT_Encode4(108853), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 18479 //
38618 /* 108805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38619 /* 108809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38620 /* 108813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38621 /* 108817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38622 /* 108820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38623 /* 108824 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38624 /* 108828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38625 /* 108830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38626 /* 108837 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
38627 /* 108837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrm),
38628 /* 108840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38629 /* 108842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38630 /* 108846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38631 /* 108851 */ GIR_RootConstrainSelectedInstOperands,
38632 /* 108852 */ // GIR_Coverage, 18479,
38633 /* 108852 */ GIR_EraseRootFromParent_Done,
38634 /* 108853 */ // Label 2979: @108853
38635 /* 108853 */ GIM_Try, /*On fail goto*//*Label 2980*/ GIMT_Encode4(108932),
38636 /* 108858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38637 /* 108862 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2981*/ GIMT_Encode4(108913), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 21735 //
38638 /* 108869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38639 /* 108873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38640 /* 108877 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38641 /* 108880 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38642 /* 108884 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38643 /* 108888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38644 /* 108890 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38645 /* 108897 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
38646 /* 108897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rm),
38647 /* 108900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38648 /* 108902 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38649 /* 108906 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38650 /* 108911 */ GIR_RootConstrainSelectedInstOperands,
38651 /* 108912 */ // GIR_Coverage, 21735,
38652 /* 108912 */ GIR_EraseRootFromParent_Done,
38653 /* 108913 */ // Label 2981: @108913
38654 /* 108913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2982*/ GIMT_Encode4(108931), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12482 //
38655 /* 108920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38656 /* 108924 */ // (sext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
38657 /* 108924 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rr),
38658 /* 108929 */ GIR_RootConstrainSelectedInstOperands,
38659 /* 108930 */ // GIR_Coverage, 12482,
38660 /* 108930 */ GIR_Done,
38661 /* 108931 */ // Label 2982: @108931
38662 /* 108931 */ GIM_Reject,
38663 /* 108932 */ // Label 2980: @108932
38664 /* 108932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2983*/ GIMT_Encode4(108954), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 18472 //
38665 /* 108939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38666 /* 108943 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38667 /* 108947 */ // (sext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVSXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
38668 /* 108947 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrr),
38669 /* 108952 */ GIR_RootConstrainSelectedInstOperands,
38670 /* 108953 */ // GIR_Coverage, 18472,
38671 /* 108953 */ GIR_Done,
38672 /* 108954 */ // Label 2983: @108954
38673 /* 108954 */ GIM_Reject,
38674 /* 108955 */ // Label 2975: @108955
38675 /* 108955 */ GIM_Reject,
38676 /* 108956 */ // Label 2944: @108956
38677 /* 108956 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(11), GIMT_Encode2(15), /*)*//*default:*//*Label 2986*/ GIMT_Encode4(109086),
38678 /* 108967 */ /*GILLT_v32s1*//*Label 2984*/ GIMT_Encode4(108983), GIMT_Encode4(0), GIMT_Encode4(0),
38679 /* 108979 */ /*GILLT_v32s8*//*Label 2985*/ GIMT_Encode4(109006),
38680 /* 108983 */ // Label 2984: @108983
38681 /* 108983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2987*/ GIMT_Encode4(109005), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12587 //
38682 /* 108990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38683 /* 108994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
38684 /* 108998 */ // (sext:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2WZrk:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src)
38685 /* 108998 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZrk),
38686 /* 109003 */ GIR_RootConstrainSelectedInstOperands,
38687 /* 109004 */ // GIR_Coverage, 12587,
38688 /* 109004 */ GIR_Done,
38689 /* 109005 */ // Label 2987: @109005
38690 /* 109005 */ GIM_Reject,
38691 /* 109006 */ // Label 2985: @109006
38692 /* 109006 */ GIM_Try, /*On fail goto*//*Label 2988*/ GIMT_Encode4(109085),
38693 /* 109011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38694 /* 109015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2989*/ GIMT_Encode4(109066), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21738 //
38695 /* 109022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38696 /* 109026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38697 /* 109030 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38698 /* 109033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38699 /* 109037 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38700 /* 109041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38701 /* 109043 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38702 /* 109050 */ // (sext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
38703 /* 109050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrm),
38704 /* 109053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38705 /* 109055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38706 /* 109059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38707 /* 109064 */ GIR_RootConstrainSelectedInstOperands,
38708 /* 109065 */ // GIR_Coverage, 21738,
38709 /* 109065 */ GIR_EraseRootFromParent_Done,
38710 /* 109066 */ // Label 2989: @109066
38711 /* 109066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2990*/ GIMT_Encode4(109084), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12488 //
38712 /* 109073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38713 /* 109077 */ // (sext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVSXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
38714 /* 109077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrr),
38715 /* 109082 */ GIR_RootConstrainSelectedInstOperands,
38716 /* 109083 */ // GIR_Coverage, 12488,
38717 /* 109083 */ GIR_Done,
38718 /* 109084 */ // Label 2990: @109084
38719 /* 109084 */ GIM_Reject,
38720 /* 109085 */ // Label 2988: @109085
38721 /* 109085 */ GIM_Reject,
38722 /* 109086 */ // Label 2986: @109086
38723 /* 109086 */ GIM_Reject,
38724 /* 109087 */ // Label 2945: @109087
38725 /* 109087 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2991*/ GIMT_Encode4(109112), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12592 //
38726 /* 109094 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
38727 /* 109097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38728 /* 109101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
38729 /* 109105 */ // (sext:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2DZ128rk:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src)
38730 /* 109105 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ128rk),
38731 /* 109110 */ GIR_RootConstrainSelectedInstOperands,
38732 /* 109111 */ // GIR_Coverage, 12592,
38733 /* 109111 */ GIR_Done,
38734 /* 109112 */ // Label 2991: @109112
38735 /* 109112 */ GIM_Reject,
38736 /* 109113 */ // Label 2946: @109113
38737 /* 109113 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(9), GIMT_Encode2(17), /*)*//*default:*//*Label 2994*/ GIMT_Encode4(109336),
38738 /* 109124 */ /*GILLT_v8s1*//*Label 2992*/ GIMT_Encode4(109156), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38739 /* 109152 */ /*GILLT_v8s16*//*Label 2993*/ GIMT_Encode4(109179),
38740 /* 109156 */ // Label 2992: @109156
38741 /* 109156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2995*/ GIMT_Encode4(109178), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12591 //
38742 /* 109163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38743 /* 109167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
38744 /* 109171 */ // (sext:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src)
38745 /* 109171 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
38746 /* 109176 */ GIR_RootConstrainSelectedInstOperands,
38747 /* 109177 */ // GIR_Coverage, 12591,
38748 /* 109177 */ GIR_Done,
38749 /* 109178 */ // Label 2995: @109178
38750 /* 109178 */ GIM_Reject,
38751 /* 109179 */ // Label 2993: @109179
38752 /* 109179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2996*/ GIMT_Encode4(109234), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18485 //
38753 /* 109186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38754 /* 109190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38755 /* 109194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38756 /* 109198 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38757 /* 109201 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38758 /* 109205 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38759 /* 109209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38760 /* 109211 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38761 /* 109218 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
38762 /* 109218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrm),
38763 /* 109221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38764 /* 109223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38765 /* 109227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38766 /* 109232 */ GIR_RootConstrainSelectedInstOperands,
38767 /* 109233 */ // GIR_Coverage, 18485,
38768 /* 109233 */ GIR_EraseRootFromParent_Done,
38769 /* 109234 */ // Label 2996: @109234
38770 /* 109234 */ GIM_Try, /*On fail goto*//*Label 2997*/ GIMT_Encode4(109313),
38771 /* 109239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38772 /* 109243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2998*/ GIMT_Encode4(109294), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21736 //
38773 /* 109250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38774 /* 109254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38775 /* 109258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38776 /* 109261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38777 /* 109265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38778 /* 109269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38779 /* 109271 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38780 /* 109278 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
38781 /* 109278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rm),
38782 /* 109281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38783 /* 109283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38784 /* 109287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38785 /* 109292 */ GIR_RootConstrainSelectedInstOperands,
38786 /* 109293 */ // GIR_Coverage, 21736,
38787 /* 109293 */ GIR_EraseRootFromParent_Done,
38788 /* 109294 */ // Label 2998: @109294
38789 /* 109294 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2999*/ GIMT_Encode4(109312), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12536 //
38790 /* 109301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38791 /* 109305 */ // (sext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
38792 /* 109305 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rr),
38793 /* 109310 */ GIR_RootConstrainSelectedInstOperands,
38794 /* 109311 */ // GIR_Coverage, 12536,
38795 /* 109311 */ GIR_Done,
38796 /* 109312 */ // Label 2999: @109312
38797 /* 109312 */ GIM_Reject,
38798 /* 109313 */ // Label 2997: @109313
38799 /* 109313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3000*/ GIMT_Encode4(109335), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18475 //
38800 /* 109320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38801 /* 109324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38802 /* 109328 */ // (sext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVSXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
38803 /* 109328 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrr),
38804 /* 109333 */ GIR_RootConstrainSelectedInstOperands,
38805 /* 109334 */ // GIR_Coverage, 18475,
38806 /* 109334 */ GIR_Done,
38807 /* 109335 */ // Label 3000: @109335
38808 /* 109335 */ GIM_Reject,
38809 /* 109336 */ // Label 2994: @109336
38810 /* 109336 */ GIM_Reject,
38811 /* 109337 */ // Label 2947: @109337
38812 /* 109337 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(10), GIMT_Encode2(18), /*)*//*default:*//*Label 3004*/ GIMT_Encode4(109563),
38813 /* 109348 */ /*GILLT_v16s1*//*Label 3001*/ GIMT_Encode4(109380), GIMT_Encode4(0), GIMT_Encode4(0),
38814 /* 109360 */ /*GILLT_v16s8*//*Label 3002*/ GIMT_Encode4(109403), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38815 /* 109376 */ /*GILLT_v16s16*//*Label 3003*/ GIMT_Encode4(109483),
38816 /* 109380 */ // Label 3001: @109380
38817 /* 109380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3005*/ GIMT_Encode4(109402), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 12590 //
38818 /* 109387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38819 /* 109391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38820 /* 109395 */ // (sext:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src)
38821 /* 109395 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
38822 /* 109400 */ GIR_RootConstrainSelectedInstOperands,
38823 /* 109401 */ // GIR_Coverage, 12590,
38824 /* 109401 */ GIR_Done,
38825 /* 109402 */ // Label 3005: @109402
38826 /* 109402 */ GIM_Reject,
38827 /* 109403 */ // Label 3002: @109403
38828 /* 109403 */ GIM_Try, /*On fail goto*//*Label 3006*/ GIMT_Encode4(109482),
38829 /* 109408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38830 /* 109412 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3007*/ GIMT_Encode4(109463), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21739 //
38831 /* 109419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38832 /* 109423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38833 /* 109427 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38834 /* 109430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38835 /* 109434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38836 /* 109438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38837 /* 109440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38838 /* 109447 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
38839 /* 109447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrm),
38840 /* 109450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38841 /* 109452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38842 /* 109456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38843 /* 109461 */ GIR_RootConstrainSelectedInstOperands,
38844 /* 109462 */ // GIR_Coverage, 21739,
38845 /* 109462 */ GIR_EraseRootFromParent_Done,
38846 /* 109463 */ // Label 3007: @109463
38847 /* 109463 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3008*/ GIMT_Encode4(109481), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12506 //
38848 /* 109470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38849 /* 109474 */ // (sext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
38850 /* 109474 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrr),
38851 /* 109479 */ GIR_RootConstrainSelectedInstOperands,
38852 /* 109480 */ // GIR_Coverage, 12506,
38853 /* 109480 */ GIR_Done,
38854 /* 109481 */ // Label 3008: @109481
38855 /* 109481 */ GIM_Reject,
38856 /* 109482 */ // Label 3006: @109482
38857 /* 109482 */ GIM_Reject,
38858 /* 109483 */ // Label 3003: @109483
38859 /* 109483 */ GIM_Try, /*On fail goto*//*Label 3009*/ GIMT_Encode4(109562),
38860 /* 109488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38861 /* 109492 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3010*/ GIMT_Encode4(109543), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21740 //
38862 /* 109499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38863 /* 109503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38864 /* 109507 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38865 /* 109510 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38866 /* 109514 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38867 /* 109518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38868 /* 109520 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38869 /* 109527 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
38870 /* 109527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrm),
38871 /* 109530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38872 /* 109532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38873 /* 109536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38874 /* 109541 */ GIR_RootConstrainSelectedInstOperands,
38875 /* 109542 */ // GIR_Coverage, 21740,
38876 /* 109542 */ GIR_EraseRootFromParent_Done,
38877 /* 109543 */ // Label 3010: @109543
38878 /* 109543 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3011*/ GIMT_Encode4(109561), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12542 //
38879 /* 109550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38880 /* 109554 */ // (sext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVSXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
38881 /* 109554 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrr),
38882 /* 109559 */ GIR_RootConstrainSelectedInstOperands,
38883 /* 109560 */ // GIR_Coverage, 12542,
38884 /* 109560 */ GIR_Done,
38885 /* 109561 */ // Label 3011: @109561
38886 /* 109561 */ GIM_Reject,
38887 /* 109562 */ // Label 3009: @109562
38888 /* 109562 */ GIM_Reject,
38889 /* 109563 */ // Label 3004: @109563
38890 /* 109563 */ GIM_Reject,
38891 /* 109564 */ // Label 2948: @109564
38892 /* 109564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3012*/ GIMT_Encode4(109589), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12595 //
38893 /* 109571 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
38894 /* 109574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38895 /* 109578 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
38896 /* 109582 */ // (sext:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src) => (VPMOVM2QZ128rk:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src)
38897 /* 109582 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ128rk),
38898 /* 109587 */ GIR_RootConstrainSelectedInstOperands,
38899 /* 109588 */ // GIR_Coverage, 12595,
38900 /* 109588 */ GIR_Done,
38901 /* 109589 */ // Label 3012: @109589
38902 /* 109589 */ GIM_Reject,
38903 /* 109590 */ // Label 2949: @109590
38904 /* 109590 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(8), GIMT_Encode2(20), /*)*//*default:*//*Label 3015*/ GIMT_Encode4(109829),
38905 /* 109601 */ /*GILLT_v4s1*//*Label 3013*/ GIMT_Encode4(109649), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38906 /* 109645 */ /*GILLT_v4s32*//*Label 3014*/ GIMT_Encode4(109672),
38907 /* 109649 */ // Label 3013: @109649
38908 /* 109649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3016*/ GIMT_Encode4(109671), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12594 //
38909 /* 109656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38910 /* 109660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
38911 /* 109664 */ // (sext:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2QZ256rk:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src)
38912 /* 109664 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ256rk),
38913 /* 109669 */ GIR_RootConstrainSelectedInstOperands,
38914 /* 109670 */ // GIR_Coverage, 12594,
38915 /* 109670 */ GIR_Done,
38916 /* 109671 */ // Label 3016: @109671
38917 /* 109671 */ GIM_Reject,
38918 /* 109672 */ // Label 3014: @109672
38919 /* 109672 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3017*/ GIMT_Encode4(109727), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18489 //
38920 /* 109679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38921 /* 109683 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38922 /* 109687 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38923 /* 109691 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38924 /* 109694 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38925 /* 109698 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38926 /* 109702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38927 /* 109704 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38928 /* 109711 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
38929 /* 109711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrm),
38930 /* 109714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38931 /* 109716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38932 /* 109720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38933 /* 109725 */ GIR_RootConstrainSelectedInstOperands,
38934 /* 109726 */ // GIR_Coverage, 18489,
38935 /* 109726 */ GIR_EraseRootFromParent_Done,
38936 /* 109727 */ // Label 3017: @109727
38937 /* 109727 */ GIM_Try, /*On fail goto*//*Label 3018*/ GIMT_Encode4(109806),
38938 /* 109732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38939 /* 109736 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3019*/ GIMT_Encode4(109787), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21737 //
38940 /* 109743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38941 /* 109747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38942 /* 109751 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38943 /* 109754 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38944 /* 109758 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38945 /* 109762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38946 /* 109764 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38947 /* 109771 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
38948 /* 109771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rm),
38949 /* 109774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38950 /* 109776 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38951 /* 109780 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38952 /* 109785 */ GIR_RootConstrainSelectedInstOperands,
38953 /* 109786 */ // GIR_Coverage, 21737,
38954 /* 109786 */ GIR_EraseRootFromParent_Done,
38955 /* 109787 */ // Label 3019: @109787
38956 /* 109787 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3020*/ GIMT_Encode4(109805), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12572 //
38957 /* 109794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38958 /* 109798 */ // (sext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVSXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
38959 /* 109798 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rr),
38960 /* 109803 */ GIR_RootConstrainSelectedInstOperands,
38961 /* 109804 */ // GIR_Coverage, 12572,
38962 /* 109804 */ GIR_Done,
38963 /* 109805 */ // Label 3020: @109805
38964 /* 109805 */ GIM_Reject,
38965 /* 109806 */ // Label 3018: @109806
38966 /* 109806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3021*/ GIMT_Encode4(109828), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18477 //
38967 /* 109813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38968 /* 109817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38969 /* 109821 */ // (sext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVSXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
38970 /* 109821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrr),
38971 /* 109826 */ GIR_RootConstrainSelectedInstOperands,
38972 /* 109827 */ // GIR_Coverage, 18477,
38973 /* 109827 */ GIR_Done,
38974 /* 109828 */ // Label 3021: @109828
38975 /* 109828 */ GIM_Reject,
38976 /* 109829 */ // Label 3015: @109829
38977 /* 109829 */ GIM_Reject,
38978 /* 109830 */ // Label 2950: @109830
38979 /* 109830 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(9), GIMT_Encode2(21), /*)*//*default:*//*Label 3025*/ GIMT_Encode4(110072),
38980 /* 109841 */ /*GILLT_v8s1*//*Label 3022*/ GIMT_Encode4(109889), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38981 /* 109869 */ /*GILLT_v8s16*//*Label 3023*/ GIMT_Encode4(109912), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38982 /* 109885 */ /*GILLT_v8s32*//*Label 3024*/ GIMT_Encode4(109992),
38983 /* 109889 */ // Label 3022: @109889
38984 /* 109889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3026*/ GIMT_Encode4(109911), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 12593 //
38985 /* 109896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38986 /* 109900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
38987 /* 109904 */ // (sext:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2QZrk:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src)
38988 /* 109904 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZrk),
38989 /* 109909 */ GIR_RootConstrainSelectedInstOperands,
38990 /* 109910 */ // GIR_Coverage, 12593,
38991 /* 109910 */ GIR_Done,
38992 /* 109911 */ // Label 3026: @109911
38993 /* 109911 */ GIM_Reject,
38994 /* 109912 */ // Label 3023: @109912
38995 /* 109912 */ GIM_Try, /*On fail goto*//*Label 3027*/ GIMT_Encode4(109991),
38996 /* 109917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38997 /* 109921 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3028*/ GIMT_Encode4(109972), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21741 //
38998 /* 109928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38999 /* 109932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39000 /* 109936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39001 /* 109939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39002 /* 109943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39003 /* 109947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39004 /* 109949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39005 /* 109956 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39006 /* 109956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrm),
39007 /* 109959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39008 /* 109961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39009 /* 109965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39010 /* 109970 */ GIR_RootConstrainSelectedInstOperands,
39011 /* 109971 */ // GIR_Coverage, 21741,
39012 /* 109971 */ GIR_EraseRootFromParent_Done,
39013 /* 109972 */ // Label 3028: @109972
39014 /* 109972 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3029*/ GIMT_Encode4(109990), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12560 //
39015 /* 109979 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39016 /* 109983 */ // (sext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
39017 /* 109983 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrr),
39018 /* 109988 */ GIR_RootConstrainSelectedInstOperands,
39019 /* 109989 */ // GIR_Coverage, 12560,
39020 /* 109989 */ GIR_Done,
39021 /* 109990 */ // Label 3029: @109990
39022 /* 109990 */ GIM_Reject,
39023 /* 109991 */ // Label 3027: @109991
39024 /* 109991 */ GIM_Reject,
39025 /* 109992 */ // Label 3024: @109992
39026 /* 109992 */ GIM_Try, /*On fail goto*//*Label 3030*/ GIMT_Encode4(110071),
39027 /* 109997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39028 /* 110001 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3031*/ GIMT_Encode4(110052), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21742 //
39029 /* 110008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39030 /* 110012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39031 /* 110016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39032 /* 110019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39033 /* 110023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39034 /* 110027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39035 /* 110029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39036 /* 110036 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39037 /* 110036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrm),
39038 /* 110039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39039 /* 110041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39040 /* 110045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39041 /* 110050 */ GIR_RootConstrainSelectedInstOperands,
39042 /* 110051 */ // GIR_Coverage, 21742,
39043 /* 110051 */ GIR_EraseRootFromParent_Done,
39044 /* 110052 */ // Label 3031: @110052
39045 /* 110052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3032*/ GIMT_Encode4(110070), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12578 //
39046 /* 110059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39047 /* 110063 */ // (sext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVSXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
39048 /* 110063 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrr),
39049 /* 110068 */ GIR_RootConstrainSelectedInstOperands,
39050 /* 110069 */ // GIR_Coverage, 12578,
39051 /* 110069 */ GIR_Done,
39052 /* 110070 */ // Label 3032: @110070
39053 /* 110070 */ GIM_Reject,
39054 /* 110071 */ // Label 3030: @110071
39055 /* 110071 */ GIM_Reject,
39056 /* 110072 */ // Label 3025: @110072
39057 /* 110072 */ GIM_Reject,
39058 /* 110073 */ // Label 2951: @110073
39059 /* 110073 */ GIM_Reject,
39060 /* 110074 */ // Label 27: @110074
39061 /* 110074 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 3035*/ GIMT_Encode4(110315),
39062 /* 110085 */ /*GILLT_s16*//*Label 3033*/ GIMT_Encode4(110093),
39063 /* 110089 */ /*GILLT_s32*//*Label 3034*/ GIMT_Encode4(110189),
39064 /* 110093 */ // Label 3033: @110093
39065 /* 110093 */ GIM_Try, /*On fail goto*//*Label 3036*/ GIMT_Encode4(110188), // Rule ID 22890 //
39066 /* 110098 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39067 /* 110101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39068 /* 110105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39069 /* 110109 */ // MIs[0] Operand 2
39070 /* 110109 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
39071 /* 110120 */ // (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] })
39072 /* 110120 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
39073 /* 110123 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39074 /* 110127 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39075 /* 110132 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39076 /* 110138 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39077 /* 110143 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39078 /* 110148 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39079 /* 110151 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39080 /* 110155 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39081 /* 110160 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39082 /* 110163 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39083 /* 110165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39084 /* 110168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39085 /* 110170 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39086 /* 110177 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39087 /* 110182 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39088 /* 110187 */ // GIR_Coverage, 22890,
39089 /* 110187 */ GIR_EraseRootFromParent_Done,
39090 /* 110188 */ // Label 3036: @110188
39091 /* 110188 */ GIM_Reject,
39092 /* 110189 */ // Label 3034: @110189
39093 /* 110189 */ GIM_Try, /*On fail goto*//*Label 3037*/ GIMT_Encode4(110314),
39094 /* 110194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39095 /* 110197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39096 /* 110201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39097 /* 110205 */ GIM_Try, /*On fail goto*//*Label 3038*/ GIMT_Encode4(110259), // Rule ID 22888 //
39098 /* 110210 */ // MIs[0] Operand 2
39099 /* 110210 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
39100 /* 110221 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i16:{ *:[Other] }) => (MOVSX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] }))
39101 /* 110221 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39102 /* 110224 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39103 /* 110228 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39104 /* 110233 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
39105 /* 110239 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39106 /* 110244 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39107 /* 110249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
39108 /* 110252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39109 /* 110254 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39110 /* 110257 */ GIR_RootConstrainSelectedInstOperands,
39111 /* 110258 */ // GIR_Coverage, 22888,
39112 /* 110258 */ GIR_EraseRootFromParent_Done,
39113 /* 110259 */ // Label 3038: @110259
39114 /* 110259 */ GIM_Try, /*On fail goto*//*Label 3039*/ GIMT_Encode4(110313), // Rule ID 22889 //
39115 /* 110264 */ // MIs[0] Operand 2
39116 /* 110264 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
39117 /* 110275 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i8:{ *:[Other] }) => (MOVSX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] }))
39118 /* 110275 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
39119 /* 110278 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39120 /* 110282 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39121 /* 110287 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39122 /* 110293 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39123 /* 110298 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39124 /* 110303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39125 /* 110306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39126 /* 110308 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39127 /* 110311 */ GIR_RootConstrainSelectedInstOperands,
39128 /* 110312 */ // GIR_Coverage, 22889,
39129 /* 110312 */ GIR_EraseRootFromParent_Done,
39130 /* 110313 */ // Label 3039: @110313
39131 /* 110313 */ GIM_Reject,
39132 /* 110314 */ // Label 3037: @110314
39133 /* 110314 */ GIM_Reject,
39134 /* 110315 */ // Label 3035: @110315
39135 /* 110315 */ GIM_Reject,
39136 /* 110316 */ // Label 28: @110316
39137 /* 110316 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 3049*/ GIMT_Encode4(112316),
39138 /* 110327 */ /*GILLT_s16*//*Label 3040*/ GIMT_Encode4(110419),
39139 /* 110331 */ /*GILLT_s32*//*Label 3041*/ GIMT_Encode4(110477),
39140 /* 110335 */ /*GILLT_s64*//*Label 3042*/ GIMT_Encode4(110827), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39141 /* 110387 */ /*GILLT_v16s16*//*Label 3043*/ GIMT_Encode4(111351),
39142 /* 110391 */ /*GILLT_v32s16*//*Label 3044*/ GIMT_Encode4(111517), GIMT_Encode4(0),
39143 /* 110399 */ /*GILLT_v8s32*//*Label 3045*/ GIMT_Encode4(111600),
39144 /* 110403 */ /*GILLT_v16s32*//*Label 3046*/ GIMT_Encode4(111766), GIMT_Encode4(0),
39145 /* 110411 */ /*GILLT_v4s64*//*Label 3047*/ GIMT_Encode4(111958),
39146 /* 110415 */ /*GILLT_v8s64*//*Label 3048*/ GIMT_Encode4(112124),
39147 /* 110419 */ // Label 3040: @110419
39148 /* 110419 */ GIM_Try, /*On fail goto*//*Label 3050*/ GIMT_Encode4(110476), // Rule ID 22896 //
39149 /* 110424 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39150 /* 110427 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39151 /* 110431 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39152 /* 110435 */ // (zext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
39153 /* 110435 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39154 /* 110438 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39155 /* 110442 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39156 /* 110447 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39157 /* 110451 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39158 /* 110453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39159 /* 110456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39160 /* 110458 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39161 /* 110465 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39162 /* 110470 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39163 /* 110475 */ // GIR_Coverage, 22896,
39164 /* 110475 */ GIR_EraseRootFromParent_Done,
39165 /* 110476 */ // Label 3050: @110476
39166 /* 110476 */ GIM_Reject,
39167 /* 110477 */ // Label 3041: @110477
39168 /* 110477 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 3053*/ GIMT_Encode4(110826),
39169 /* 110488 */ /*GILLT_s8*//*Label 3051*/ GIMT_Encode4(110496),
39170 /* 110492 */ /*GILLT_s16*//*Label 3052*/ GIMT_Encode4(110560),
39171 /* 110496 */ // Label 3051: @110496
39172 /* 110496 */ GIM_Try, /*On fail goto*//*Label 3054*/ GIMT_Encode4(110559),
39173 /* 110501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39174 /* 110505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3055*/ GIMT_Encode4(110542), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19538 //
39175 /* 110512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39176 /* 110516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39177 /* 110520 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
39178 /* 110524 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39179 /* 110529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39180 /* 110531 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src)
39181 /* 110531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
39182 /* 110534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39183 /* 110536 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
39184 /* 110540 */ GIR_RootConstrainSelectedInstOperands,
39185 /* 110541 */ // GIR_Coverage, 19538,
39186 /* 110541 */ GIR_EraseRootFromParent_Done,
39187 /* 110542 */ // Label 3055: @110542
39188 /* 110542 */ GIM_Try, /*On fail goto*//*Label 3056*/ GIMT_Encode4(110558), // Rule ID 593 //
39189 /* 110547 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39190 /* 110551 */ // (zext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
39191 /* 110551 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39192 /* 110556 */ GIR_RootConstrainSelectedInstOperands,
39193 /* 110557 */ // GIR_Coverage, 593,
39194 /* 110557 */ GIR_Done,
39195 /* 110558 */ // Label 3056: @110558
39196 /* 110558 */ GIM_Reject,
39197 /* 110559 */ // Label 3054: @110559
39198 /* 110559 */ GIM_Reject,
39199 /* 110560 */ // Label 3052: @110560
39200 /* 110560 */ GIM_Try, /*On fail goto*//*Label 3057*/ GIMT_Encode4(110766),
39201 /* 110565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39202 /* 110569 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3058*/ GIMT_Encode4(110681), GIMT_Encode2(GIFBS_HasZU), // Rule ID 23226 //
39203 /* 110576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39204 /* 110580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39205 /* 110584 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39206 /* 110588 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39207 /* 110592 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
39208 /* 110596 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
39209 /* 110600 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39210 /* 110603 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
39211 /* 110607 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
39212 /* 110611 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
39213 /* 110615 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39214 /* 110619 */ // MIs[3] Operand 1
39215 /* 110619 */ // No operand predicates
39216 /* 110619 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
39217 /* 110621 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39218 /* 110628 */ // (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] })
39219 /* 110628 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39220 /* 110631 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
39221 /* 110635 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39222 /* 110640 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
39223 /* 110644 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
39224 /* 110647 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39225 /* 110650 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
39226 /* 110657 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39227 /* 110659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39228 /* 110662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39229 /* 110664 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39230 /* 110667 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39231 /* 110670 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39232 /* 110675 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39233 /* 110680 */ // GIR_Coverage, 23226,
39234 /* 110680 */ GIR_EraseRootFromParent_Done,
39235 /* 110681 */ // Label 3058: @110681
39236 /* 110681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3059*/ GIMT_Encode4(110765), GIMT_Encode2(GIFBS_HasZU), // Rule ID 23225 //
39237 /* 110688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39238 /* 110692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39239 /* 110696 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39240 /* 110700 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39241 /* 110704 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39242 /* 110709 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
39243 /* 110713 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39244 /* 110717 */ // MIs[2] Operand 1
39245 /* 110717 */ // No operand predicates
39246 /* 110717 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
39247 /* 110719 */ // (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] })
39248 /* 110719 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39249 /* 110722 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
39250 /* 110726 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39251 /* 110731 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
39252 /* 110735 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
39253 /* 110738 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39254 /* 110741 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39255 /* 110743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39256 /* 110746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39257 /* 110748 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39258 /* 110751 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39259 /* 110754 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39260 /* 110759 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39261 /* 110764 */ // GIR_Coverage, 23225,
39262 /* 110764 */ GIR_EraseRootFromParent_Done,
39263 /* 110765 */ // Label 3059: @110765
39264 /* 110765 */ GIM_Reject,
39265 /* 110766 */ // Label 3057: @110766
39266 /* 110766 */ GIM_Try, /*On fail goto*//*Label 3060*/ GIMT_Encode4(110805), // Rule ID 19535 //
39267 /* 110771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39268 /* 110775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39269 /* 110779 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39270 /* 110783 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
39271 /* 110787 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39272 /* 110792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39273 /* 110794 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src)
39274 /* 110794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
39275 /* 110797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39276 /* 110799 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
39277 /* 110803 */ GIR_RootConstrainSelectedInstOperands,
39278 /* 110804 */ // GIR_Coverage, 19535,
39279 /* 110804 */ GIR_EraseRootFromParent_Done,
39280 /* 110805 */ // Label 3060: @110805
39281 /* 110805 */ GIM_Try, /*On fail goto*//*Label 3061*/ GIMT_Encode4(110825), // Rule ID 595 //
39282 /* 110810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39283 /* 110814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39284 /* 110818 */ // (zext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
39285 /* 110818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
39286 /* 110823 */ GIR_RootConstrainSelectedInstOperands,
39287 /* 110824 */ // GIR_Coverage, 595,
39288 /* 110824 */ GIR_Done,
39289 /* 110825 */ // Label 3061: @110825
39290 /* 110825 */ GIM_Reject,
39291 /* 110826 */ // Label 3053: @110826
39292 /* 110826 */ GIM_Reject,
39293 /* 110827 */ // Label 3042: @110827
39294 /* 110827 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(4), /*)*//*default:*//*Label 3065*/ GIMT_Encode4(111350),
39295 /* 110838 */ /*GILLT_s8*//*Label 3062*/ GIMT_Encode4(110850),
39296 /* 110842 */ /*GILLT_s16*//*Label 3063*/ GIMT_Encode4(110976),
39297 /* 110846 */ /*GILLT_s32*//*Label 3064*/ GIMT_Encode4(111296),
39298 /* 110850 */ // Label 3062: @110850
39299 /* 110850 */ GIM_Try, /*On fail goto*//*Label 3066*/ GIMT_Encode4(110975),
39300 /* 110855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39301 /* 110859 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3067*/ GIMT_Encode4(110925), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19539 //
39302 /* 110866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39303 /* 110870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39304 /* 110874 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
39305 /* 110878 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39306 /* 110883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39307 /* 110885 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src), sub_32bit:{ *:[i32] })
39308 /* 110885 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39309 /* 110888 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
39310 /* 110892 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39311 /* 110897 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
39312 /* 110901 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39313 /* 110903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39314 /* 110906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39315 /* 110908 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39316 /* 110911 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39317 /* 110914 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39318 /* 110919 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39319 /* 110924 */ // GIR_Coverage, 19539,
39320 /* 110924 */ GIR_EraseRootFromParent_Done,
39321 /* 110925 */ // Label 3067: @110925
39322 /* 110925 */ GIM_Try, /*On fail goto*//*Label 3068*/ GIMT_Encode4(110974), // Rule ID 17647 //
39323 /* 110930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39324 /* 110934 */ // (zext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
39325 /* 110934 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39326 /* 110937 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39327 /* 110941 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39328 /* 110946 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39329 /* 110950 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39330 /* 110952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39331 /* 110955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39332 /* 110957 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39333 /* 110960 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39334 /* 110963 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39335 /* 110968 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39336 /* 110973 */ // GIR_Coverage, 17647,
39337 /* 110973 */ GIR_EraseRootFromParent_Done,
39338 /* 110974 */ // Label 3068: @110974
39339 /* 110974 */ GIM_Reject,
39340 /* 110975 */ // Label 3066: @110975
39341 /* 110975 */ GIM_Reject,
39342 /* 110976 */ // Label 3063: @110976
39343 /* 110976 */ GIM_Try, /*On fail goto*//*Label 3069*/ GIMT_Encode4(111295),
39344 /* 110981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39345 /* 110985 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3070*/ GIMT_Encode4(111097), GIMT_Encode2(GIFBS_HasZU), // Rule ID 23228 //
39346 /* 110992 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39347 /* 110996 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39348 /* 111000 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39349 /* 111004 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39350 /* 111008 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
39351 /* 111012 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
39352 /* 111016 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39353 /* 111019 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
39354 /* 111023 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
39355 /* 111027 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
39356 /* 111031 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39357 /* 111035 */ // MIs[3] Operand 1
39358 /* 111035 */ // No operand predicates
39359 /* 111035 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
39360 /* 111037 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39361 /* 111044 */ // (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] })
39362 /* 111044 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39363 /* 111047 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
39364 /* 111051 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39365 /* 111056 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
39366 /* 111060 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
39367 /* 111063 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39368 /* 111066 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
39369 /* 111073 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39370 /* 111075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39371 /* 111078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39372 /* 111080 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39373 /* 111083 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39374 /* 111086 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39375 /* 111091 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39376 /* 111096 */ // GIR_Coverage, 23228,
39377 /* 111096 */ GIR_EraseRootFromParent_Done,
39378 /* 111097 */ // Label 3070: @111097
39379 /* 111097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3071*/ GIMT_Encode4(111181), GIMT_Encode2(GIFBS_HasZU), // Rule ID 23227 //
39380 /* 111104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39381 /* 111108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39382 /* 111112 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39383 /* 111116 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39384 /* 111120 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39385 /* 111125 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
39386 /* 111129 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39387 /* 111133 */ // MIs[2] Operand 1
39388 /* 111133 */ // No operand predicates
39389 /* 111133 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
39390 /* 111135 */ // (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] })
39391 /* 111135 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39392 /* 111138 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
39393 /* 111142 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39394 /* 111147 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
39395 /* 111151 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
39396 /* 111154 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39397 /* 111157 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39398 /* 111159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39399 /* 111162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39400 /* 111164 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39401 /* 111167 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39402 /* 111170 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39403 /* 111175 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39404 /* 111180 */ // GIR_Coverage, 23227,
39405 /* 111180 */ GIR_EraseRootFromParent_Done,
39406 /* 111181 */ // Label 3071: @111181
39407 /* 111181 */ GIM_Try, /*On fail goto*//*Label 3072*/ GIMT_Encode4(111245), // Rule ID 19536 //
39408 /* 111186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39409 /* 111190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39410 /* 111194 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
39411 /* 111198 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39412 /* 111203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39413 /* 111205 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src), sub_32bit:{ *:[i32] })
39414 /* 111205 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39415 /* 111208 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
39416 /* 111212 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39417 /* 111217 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
39418 /* 111221 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39419 /* 111223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39420 /* 111226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39421 /* 111228 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39422 /* 111231 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39423 /* 111234 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39424 /* 111239 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39425 /* 111244 */ // GIR_Coverage, 19536,
39426 /* 111244 */ GIR_EraseRootFromParent_Done,
39427 /* 111245 */ // Label 3072: @111245
39428 /* 111245 */ GIM_Try, /*On fail goto*//*Label 3073*/ GIMT_Encode4(111294), // Rule ID 17649 //
39429 /* 111250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39430 /* 111254 */ // (zext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
39431 /* 111254 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39432 /* 111257 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
39433 /* 111261 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39434 /* 111266 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39435 /* 111270 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39436 /* 111272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39437 /* 111275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39438 /* 111277 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39439 /* 111280 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39440 /* 111283 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39441 /* 111288 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39442 /* 111293 */ // GIR_Coverage, 17649,
39443 /* 111293 */ GIR_EraseRootFromParent_Done,
39444 /* 111294 */ // Label 3073: @111294
39445 /* 111294 */ GIM_Reject,
39446 /* 111295 */ // Label 3069: @111295
39447 /* 111295 */ GIM_Reject,
39448 /* 111296 */ // Label 3064: @111296
39449 /* 111296 */ GIM_Try, /*On fail goto*//*Label 3074*/ GIMT_Encode4(111349), // Rule ID 17651 //
39450 /* 111301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39451 /* 111305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39452 /* 111309 */ // (zext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src), sub_32bit:{ *:[i32] })
39453 /* 111309 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39454 /* 111312 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
39455 /* 111316 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39456 /* 111321 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39457 /* 111325 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39458 /* 111327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39459 /* 111330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39460 /* 111332 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39461 /* 111335 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39462 /* 111338 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39463 /* 111343 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39464 /* 111348 */ // GIR_Coverage, 17651,
39465 /* 111348 */ GIR_EraseRootFromParent_Done,
39466 /* 111349 */ // Label 3074: @111349
39467 /* 111349 */ GIM_Reject,
39468 /* 111350 */ // Label 3065: @111350
39469 /* 111350 */ GIM_Reject,
39470 /* 111351 */ // Label 3043: @111351
39471 /* 111351 */ GIM_Try, /*On fail goto*//*Label 3075*/ GIMT_Encode4(111516),
39472 /* 111356 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39473 /* 111359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3076*/ GIMT_Encode4(111414), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 18502 //
39474 /* 111366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39475 /* 111370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39476 /* 111374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39477 /* 111378 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39478 /* 111381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39479 /* 111385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39480 /* 111389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39481 /* 111391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39482 /* 111398 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
39483 /* 111398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrm),
39484 /* 111401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39485 /* 111403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39486 /* 111407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39487 /* 111412 */ GIR_RootConstrainSelectedInstOperands,
39488 /* 111413 */ // GIR_Coverage, 18502,
39489 /* 111413 */ GIR_EraseRootFromParent_Done,
39490 /* 111414 */ // Label 3076: @111414
39491 /* 111414 */ GIM_Try, /*On fail goto*//*Label 3077*/ GIMT_Encode4(111493),
39492 /* 111419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39493 /* 111423 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3078*/ GIMT_Encode4(111474), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 21768 //
39494 /* 111430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39495 /* 111434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39496 /* 111438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39497 /* 111441 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39498 /* 111445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39499 /* 111449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39500 /* 111451 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39501 /* 111458 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
39502 /* 111458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rm),
39503 /* 111461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39504 /* 111463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39505 /* 111467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39506 /* 111472 */ GIR_RootConstrainSelectedInstOperands,
39507 /* 111473 */ // GIR_Coverage, 21768,
39508 /* 111473 */ GIR_EraseRootFromParent_Done,
39509 /* 111474 */ // Label 3078: @111474
39510 /* 111474 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3079*/ GIMT_Encode4(111492), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12374 //
39511 /* 111481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39512 /* 111485 */ // (zext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
39513 /* 111485 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rr),
39514 /* 111490 */ GIR_RootConstrainSelectedInstOperands,
39515 /* 111491 */ // GIR_Coverage, 12374,
39516 /* 111491 */ GIR_Done,
39517 /* 111492 */ // Label 3079: @111492
39518 /* 111492 */ GIM_Reject,
39519 /* 111493 */ // Label 3077: @111493
39520 /* 111493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3080*/ GIMT_Encode4(111515), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 18495 //
39521 /* 111500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39522 /* 111504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39523 /* 111508 */ // (zext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVZXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
39524 /* 111508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrr),
39525 /* 111513 */ GIR_RootConstrainSelectedInstOperands,
39526 /* 111514 */ // GIR_Coverage, 18495,
39527 /* 111514 */ GIR_Done,
39528 /* 111515 */ // Label 3080: @111515
39529 /* 111515 */ GIM_Reject,
39530 /* 111516 */ // Label 3075: @111516
39531 /* 111516 */ GIM_Reject,
39532 /* 111517 */ // Label 3044: @111517
39533 /* 111517 */ GIM_Try, /*On fail goto*//*Label 3081*/ GIMT_Encode4(111599),
39534 /* 111522 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
39535 /* 111525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39536 /* 111529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3082*/ GIMT_Encode4(111580), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21771 //
39537 /* 111536 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39538 /* 111540 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39539 /* 111544 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39540 /* 111547 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39541 /* 111551 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39542 /* 111555 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39543 /* 111557 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39544 /* 111564 */ // (zext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
39545 /* 111564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrm),
39546 /* 111567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39547 /* 111569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39548 /* 111573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39549 /* 111578 */ GIR_RootConstrainSelectedInstOperands,
39550 /* 111579 */ // GIR_Coverage, 21771,
39551 /* 111579 */ GIR_EraseRootFromParent_Done,
39552 /* 111580 */ // Label 3082: @111580
39553 /* 111580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3083*/ GIMT_Encode4(111598), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12380 //
39554 /* 111587 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39555 /* 111591 */ // (zext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVZXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
39556 /* 111591 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrr),
39557 /* 111596 */ GIR_RootConstrainSelectedInstOperands,
39558 /* 111597 */ // GIR_Coverage, 12380,
39559 /* 111597 */ GIR_Done,
39560 /* 111598 */ // Label 3083: @111598
39561 /* 111598 */ GIM_Reject,
39562 /* 111599 */ // Label 3081: @111599
39563 /* 111599 */ GIM_Reject,
39564 /* 111600 */ // Label 3045: @111600
39565 /* 111600 */ GIM_Try, /*On fail goto*//*Label 3084*/ GIMT_Encode4(111765),
39566 /* 111605 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39567 /* 111608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3085*/ GIMT_Encode4(111663), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18508 //
39568 /* 111615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39569 /* 111619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39570 /* 111623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39571 /* 111627 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39572 /* 111630 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39573 /* 111634 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39574 /* 111638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39575 /* 111640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39576 /* 111647 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
39577 /* 111647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrm),
39578 /* 111650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39579 /* 111652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39580 /* 111656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39581 /* 111661 */ GIR_RootConstrainSelectedInstOperands,
39582 /* 111662 */ // GIR_Coverage, 18508,
39583 /* 111662 */ GIR_EraseRootFromParent_Done,
39584 /* 111663 */ // Label 3085: @111663
39585 /* 111663 */ GIM_Try, /*On fail goto*//*Label 3086*/ GIMT_Encode4(111742),
39586 /* 111668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39587 /* 111672 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3087*/ GIMT_Encode4(111723), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21769 //
39588 /* 111679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39589 /* 111683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39590 /* 111687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39591 /* 111690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39592 /* 111694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39593 /* 111698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39594 /* 111700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39595 /* 111707 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
39596 /* 111707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rm),
39597 /* 111710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39598 /* 111712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39599 /* 111716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39600 /* 111721 */ GIR_RootConstrainSelectedInstOperands,
39601 /* 111722 */ // GIR_Coverage, 21769,
39602 /* 111722 */ GIR_EraseRootFromParent_Done,
39603 /* 111723 */ // Label 3087: @111723
39604 /* 111723 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3088*/ GIMT_Encode4(111741), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12428 //
39605 /* 111730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39606 /* 111734 */ // (zext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
39607 /* 111734 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rr),
39608 /* 111739 */ GIR_RootConstrainSelectedInstOperands,
39609 /* 111740 */ // GIR_Coverage, 12428,
39610 /* 111740 */ GIR_Done,
39611 /* 111741 */ // Label 3088: @111741
39612 /* 111741 */ GIM_Reject,
39613 /* 111742 */ // Label 3086: @111742
39614 /* 111742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3089*/ GIMT_Encode4(111764), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18498 //
39615 /* 111749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39616 /* 111753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39617 /* 111757 */ // (zext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVZXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
39618 /* 111757 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrr),
39619 /* 111762 */ GIR_RootConstrainSelectedInstOperands,
39620 /* 111763 */ // GIR_Coverage, 18498,
39621 /* 111763 */ GIR_Done,
39622 /* 111764 */ // Label 3089: @111764
39623 /* 111764 */ GIM_Reject,
39624 /* 111765 */ // Label 3084: @111765
39625 /* 111765 */ GIM_Reject,
39626 /* 111766 */ // Label 3046: @111766
39627 /* 111766 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(13), GIMT_Encode2(18), /*)*//*default:*//*Label 3092*/ GIMT_Encode4(111957),
39628 /* 111777 */ /*GILLT_v16s8*//*Label 3090*/ GIMT_Encode4(111797), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39629 /* 111793 */ /*GILLT_v16s16*//*Label 3091*/ GIMT_Encode4(111877),
39630 /* 111797 */ // Label 3090: @111797
39631 /* 111797 */ GIM_Try, /*On fail goto*//*Label 3093*/ GIMT_Encode4(111876),
39632 /* 111802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39633 /* 111806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3094*/ GIMT_Encode4(111857), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21772 //
39634 /* 111813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39635 /* 111817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39636 /* 111821 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39637 /* 111824 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39638 /* 111828 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39639 /* 111832 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39640 /* 111834 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39641 /* 111841 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
39642 /* 111841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrm),
39643 /* 111844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39644 /* 111846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39645 /* 111850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39646 /* 111855 */ GIR_RootConstrainSelectedInstOperands,
39647 /* 111856 */ // GIR_Coverage, 21772,
39648 /* 111856 */ GIR_EraseRootFromParent_Done,
39649 /* 111857 */ // Label 3094: @111857
39650 /* 111857 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3095*/ GIMT_Encode4(111875), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12398 //
39651 /* 111864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39652 /* 111868 */ // (zext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
39653 /* 111868 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrr),
39654 /* 111873 */ GIR_RootConstrainSelectedInstOperands,
39655 /* 111874 */ // GIR_Coverage, 12398,
39656 /* 111874 */ GIR_Done,
39657 /* 111875 */ // Label 3095: @111875
39658 /* 111875 */ GIM_Reject,
39659 /* 111876 */ // Label 3093: @111876
39660 /* 111876 */ GIM_Reject,
39661 /* 111877 */ // Label 3091: @111877
39662 /* 111877 */ GIM_Try, /*On fail goto*//*Label 3096*/ GIMT_Encode4(111956),
39663 /* 111882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39664 /* 111886 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3097*/ GIMT_Encode4(111937), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21773 //
39665 /* 111893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39666 /* 111897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39667 /* 111901 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39668 /* 111904 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39669 /* 111908 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39670 /* 111912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39671 /* 111914 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39672 /* 111921 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
39673 /* 111921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
39674 /* 111924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39675 /* 111926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39676 /* 111930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39677 /* 111935 */ GIR_RootConstrainSelectedInstOperands,
39678 /* 111936 */ // GIR_Coverage, 21773,
39679 /* 111936 */ GIR_EraseRootFromParent_Done,
39680 /* 111937 */ // Label 3097: @111937
39681 /* 111937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3098*/ GIMT_Encode4(111955), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12434 //
39682 /* 111944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39683 /* 111948 */ // (zext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
39684 /* 111948 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
39685 /* 111953 */ GIR_RootConstrainSelectedInstOperands,
39686 /* 111954 */ // GIR_Coverage, 12434,
39687 /* 111954 */ GIR_Done,
39688 /* 111955 */ // Label 3098: @111955
39689 /* 111955 */ GIM_Reject,
39690 /* 111956 */ // Label 3096: @111956
39691 /* 111956 */ GIM_Reject,
39692 /* 111957 */ // Label 3092: @111957
39693 /* 111957 */ GIM_Reject,
39694 /* 111958 */ // Label 3047: @111958
39695 /* 111958 */ GIM_Try, /*On fail goto*//*Label 3099*/ GIMT_Encode4(112123),
39696 /* 111963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39697 /* 111966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3100*/ GIMT_Encode4(112021), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18512 //
39698 /* 111973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39699 /* 111977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39700 /* 111981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39701 /* 111985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39702 /* 111988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39703 /* 111992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39704 /* 111996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39705 /* 111998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39706 /* 112005 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
39707 /* 112005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrm),
39708 /* 112008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39709 /* 112010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39710 /* 112014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39711 /* 112019 */ GIR_RootConstrainSelectedInstOperands,
39712 /* 112020 */ // GIR_Coverage, 18512,
39713 /* 112020 */ GIR_EraseRootFromParent_Done,
39714 /* 112021 */ // Label 3100: @112021
39715 /* 112021 */ GIM_Try, /*On fail goto*//*Label 3101*/ GIMT_Encode4(112100),
39716 /* 112026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39717 /* 112030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3102*/ GIMT_Encode4(112081), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21770 //
39718 /* 112037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39719 /* 112041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39720 /* 112045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39721 /* 112048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39722 /* 112052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39723 /* 112056 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39724 /* 112058 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39725 /* 112065 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
39726 /* 112065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rm),
39727 /* 112068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39728 /* 112070 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39729 /* 112074 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39730 /* 112079 */ GIR_RootConstrainSelectedInstOperands,
39731 /* 112080 */ // GIR_Coverage, 21770,
39732 /* 112080 */ GIR_EraseRootFromParent_Done,
39733 /* 112081 */ // Label 3102: @112081
39734 /* 112081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3103*/ GIMT_Encode4(112099), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12464 //
39735 /* 112088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39736 /* 112092 */ // (zext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVZXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
39737 /* 112092 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rr),
39738 /* 112097 */ GIR_RootConstrainSelectedInstOperands,
39739 /* 112098 */ // GIR_Coverage, 12464,
39740 /* 112098 */ GIR_Done,
39741 /* 112099 */ // Label 3103: @112099
39742 /* 112099 */ GIM_Reject,
39743 /* 112100 */ // Label 3101: @112100
39744 /* 112100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3104*/ GIMT_Encode4(112122), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18500 //
39745 /* 112107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39746 /* 112111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39747 /* 112115 */ // (zext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVZXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
39748 /* 112115 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrr),
39749 /* 112120 */ GIR_RootConstrainSelectedInstOperands,
39750 /* 112121 */ // GIR_Coverage, 18500,
39751 /* 112121 */ GIR_Done,
39752 /* 112122 */ // Label 3104: @112122
39753 /* 112122 */ GIM_Reject,
39754 /* 112123 */ // Label 3099: @112123
39755 /* 112123 */ GIM_Reject,
39756 /* 112124 */ // Label 3048: @112124
39757 /* 112124 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(21), /*)*//*default:*//*Label 3107*/ GIMT_Encode4(112315),
39758 /* 112135 */ /*GILLT_v8s16*//*Label 3105*/ GIMT_Encode4(112155), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39759 /* 112151 */ /*GILLT_v8s32*//*Label 3106*/ GIMT_Encode4(112235),
39760 /* 112155 */ // Label 3105: @112155
39761 /* 112155 */ GIM_Try, /*On fail goto*//*Label 3108*/ GIMT_Encode4(112234),
39762 /* 112160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39763 /* 112164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3109*/ GIMT_Encode4(112215), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21774 //
39764 /* 112171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39765 /* 112175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39766 /* 112179 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39767 /* 112182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39768 /* 112186 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39769 /* 112190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39770 /* 112192 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39771 /* 112199 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39772 /* 112199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrm),
39773 /* 112202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39774 /* 112204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39775 /* 112208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39776 /* 112213 */ GIR_RootConstrainSelectedInstOperands,
39777 /* 112214 */ // GIR_Coverage, 21774,
39778 /* 112214 */ GIR_EraseRootFromParent_Done,
39779 /* 112215 */ // Label 3109: @112215
39780 /* 112215 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3110*/ GIMT_Encode4(112233), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12452 //
39781 /* 112222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39782 /* 112226 */ // (zext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
39783 /* 112226 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrr),
39784 /* 112231 */ GIR_RootConstrainSelectedInstOperands,
39785 /* 112232 */ // GIR_Coverage, 12452,
39786 /* 112232 */ GIR_Done,
39787 /* 112233 */ // Label 3110: @112233
39788 /* 112233 */ GIM_Reject,
39789 /* 112234 */ // Label 3108: @112234
39790 /* 112234 */ GIM_Reject,
39791 /* 112235 */ // Label 3106: @112235
39792 /* 112235 */ GIM_Try, /*On fail goto*//*Label 3111*/ GIMT_Encode4(112314),
39793 /* 112240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39794 /* 112244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3112*/ GIMT_Encode4(112295), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21775 //
39795 /* 112251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39796 /* 112255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39797 /* 112259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39798 /* 112262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39799 /* 112266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39800 /* 112270 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39801 /* 112272 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39802 /* 112279 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39803 /* 112279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrm),
39804 /* 112282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39805 /* 112284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39806 /* 112288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39807 /* 112293 */ GIR_RootConstrainSelectedInstOperands,
39808 /* 112294 */ // GIR_Coverage, 21775,
39809 /* 112294 */ GIR_EraseRootFromParent_Done,
39810 /* 112295 */ // Label 3112: @112295
39811 /* 112295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3113*/ GIMT_Encode4(112313), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12470 //
39812 /* 112302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39813 /* 112306 */ // (zext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVZXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
39814 /* 112306 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrr),
39815 /* 112311 */ GIR_RootConstrainSelectedInstOperands,
39816 /* 112312 */ // GIR_Coverage, 12470,
39817 /* 112312 */ GIR_Done,
39818 /* 112313 */ // Label 3113: @112313
39819 /* 112313 */ GIM_Reject,
39820 /* 112314 */ // Label 3111: @112314
39821 /* 112314 */ GIM_Reject,
39822 /* 112315 */ // Label 3107: @112315
39823 /* 112315 */ GIM_Reject,
39824 /* 112316 */ // Label 3049: @112316
39825 /* 112316 */ GIM_Reject,
39826 /* 112317 */ // Label 29: @112317
39827 /* 112317 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 3118*/ GIMT_Encode4(113948),
39828 /* 112328 */ /*GILLT_s8*//*Label 3114*/ GIMT_Encode4(112344),
39829 /* 112332 */ /*GILLT_s16*//*Label 3115*/ GIMT_Encode4(112557),
39830 /* 112336 */ /*GILLT_s32*//*Label 3116*/ GIMT_Encode4(112770),
39831 /* 112340 */ /*GILLT_s64*//*Label 3117*/ GIMT_Encode4(113359),
39832 /* 112344 */ // Label 3114: @112344
39833 /* 112344 */ GIM_Try, /*On fail goto*//*Label 3119*/ GIMT_Encode4(112556),
39834 /* 112349 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39835 /* 112352 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
39836 /* 112355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39837 /* 112359 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39838 /* 112363 */ GIM_Try, /*On fail goto*//*Label 3120*/ GIMT_Encode4(112415),
39839 /* 112368 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
39840 /* 112372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3121*/ GIMT_Encode4(112393), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22921 //
39841 /* 112379 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
39842 /* 112379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
39843 /* 112382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39844 /* 112384 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39845 /* 112386 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39846 /* 112388 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39847 /* 112391 */ GIR_RootConstrainSelectedInstOperands,
39848 /* 112392 */ // GIR_Coverage, 22921,
39849 /* 112392 */ GIR_EraseRootFromParent_Done,
39850 /* 112393 */ // Label 3121: @112393
39851 /* 112393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3122*/ GIMT_Encode4(112414), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22925 //
39852 /* 112400 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
39853 /* 112400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
39854 /* 112403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39855 /* 112405 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39856 /* 112407 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39857 /* 112409 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39858 /* 112412 */ GIR_RootConstrainSelectedInstOperands,
39859 /* 112413 */ // GIR_Coverage, 22925,
39860 /* 112413 */ GIR_EraseRootFromParent_Done,
39861 /* 112414 */ // Label 3122: @112414
39862 /* 112414 */ GIM_Reject,
39863 /* 112415 */ // Label 3120: @112415
39864 /* 112415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3123*/ GIMT_Encode4(112447), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 637 //
39865 /* 112422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
39866 /* 112426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39867 /* 112430 */ // MIs[1] Operand 1
39868 /* 112430 */ // No operand predicates
39869 /* 112430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39870 /* 112432 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
39871 /* 112432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri),
39872 /* 112435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39873 /* 112437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39874 /* 112439 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
39875 /* 112442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39876 /* 112445 */ GIR_RootConstrainSelectedInstOperands,
39877 /* 112446 */ // GIR_Coverage, 637,
39878 /* 112446 */ GIR_EraseRootFromParent_Done,
39879 /* 112447 */ // Label 3123: @112447
39880 /* 112447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3124*/ GIMT_Encode4(112479), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 641 //
39881 /* 112454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
39882 /* 112458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39883 /* 112462 */ // MIs[1] Operand 1
39884 /* 112462 */ // No operand predicates
39885 /* 112462 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39886 /* 112464 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
39887 /* 112464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri_ND),
39888 /* 112467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39889 /* 112469 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39890 /* 112471 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
39891 /* 112474 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39892 /* 112477 */ GIR_RootConstrainSelectedInstOperands,
39893 /* 112478 */ // GIR_Coverage, 641,
39894 /* 112478 */ GIR_EraseRootFromParent_Done,
39895 /* 112479 */ // Label 3124: @112479
39896 /* 112479 */ GIM_Try, /*On fail goto*//*Label 3125*/ GIMT_Encode4(112555),
39897 /* 112484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39898 /* 112488 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3126*/ GIMT_Encode4(112521), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 653 //
39899 /* 112495 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
39900 /* 112495 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39901 /* 112499 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39902 /* 112505 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
39903 /* 112509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL),
39904 /* 112512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39905 /* 112514 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39906 /* 112516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39907 /* 112519 */ GIR_RootConstrainSelectedInstOperands,
39908 /* 112520 */ // GIR_Coverage, 653,
39909 /* 112520 */ GIR_EraseRootFromParent_Done,
39910 /* 112521 */ // Label 3126: @112521
39911 /* 112521 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3127*/ GIMT_Encode4(112554), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 657 //
39912 /* 112528 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
39913 /* 112528 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39914 /* 112532 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39915 /* 112538 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
39916 /* 112542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL_ND),
39917 /* 112545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39918 /* 112547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39919 /* 112549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39920 /* 112552 */ GIR_RootConstrainSelectedInstOperands,
39921 /* 112553 */ // GIR_Coverage, 657,
39922 /* 112553 */ GIR_EraseRootFromParent_Done,
39923 /* 112554 */ // Label 3127: @112554
39924 /* 112554 */ GIM_Reject,
39925 /* 112555 */ // Label 3125: @112555
39926 /* 112555 */ GIM_Reject,
39927 /* 112556 */ // Label 3119: @112556
39928 /* 112556 */ GIM_Reject,
39929 /* 112557 */ // Label 3115: @112557
39930 /* 112557 */ GIM_Try, /*On fail goto*//*Label 3128*/ GIMT_Encode4(112769),
39931 /* 112562 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39932 /* 112565 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
39933 /* 112568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39934 /* 112572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39935 /* 112576 */ GIM_Try, /*On fail goto*//*Label 3129*/ GIMT_Encode4(112628),
39936 /* 112581 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
39937 /* 112585 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3130*/ GIMT_Encode4(112606), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22922 //
39938 /* 112592 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
39939 /* 112592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
39940 /* 112595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39941 /* 112597 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39942 /* 112599 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39943 /* 112601 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39944 /* 112604 */ GIR_RootConstrainSelectedInstOperands,
39945 /* 112605 */ // GIR_Coverage, 22922,
39946 /* 112605 */ GIR_EraseRootFromParent_Done,
39947 /* 112606 */ // Label 3130: @112606
39948 /* 112606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3131*/ GIMT_Encode4(112627), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22926 //
39949 /* 112613 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
39950 /* 112613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
39951 /* 112616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39952 /* 112618 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39953 /* 112620 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39954 /* 112622 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39955 /* 112625 */ GIR_RootConstrainSelectedInstOperands,
39956 /* 112626 */ // GIR_Coverage, 22926,
39957 /* 112626 */ GIR_EraseRootFromParent_Done,
39958 /* 112627 */ // Label 3131: @112627
39959 /* 112627 */ GIM_Reject,
39960 /* 112628 */ // Label 3129: @112628
39961 /* 112628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3132*/ GIMT_Encode4(112660), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 638 //
39962 /* 112635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
39963 /* 112639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39964 /* 112643 */ // MIs[1] Operand 1
39965 /* 112643 */ // No operand predicates
39966 /* 112643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39967 /* 112645 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
39968 /* 112645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri),
39969 /* 112648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39970 /* 112650 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39971 /* 112652 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
39972 /* 112655 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39973 /* 112658 */ GIR_RootConstrainSelectedInstOperands,
39974 /* 112659 */ // GIR_Coverage, 638,
39975 /* 112659 */ GIR_EraseRootFromParent_Done,
39976 /* 112660 */ // Label 3132: @112660
39977 /* 112660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3133*/ GIMT_Encode4(112692), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 642 //
39978 /* 112667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
39979 /* 112671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39980 /* 112675 */ // MIs[1] Operand 1
39981 /* 112675 */ // No operand predicates
39982 /* 112675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39983 /* 112677 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
39984 /* 112677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri_ND),
39985 /* 112680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39986 /* 112682 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39987 /* 112684 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
39988 /* 112687 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39989 /* 112690 */ GIR_RootConstrainSelectedInstOperands,
39990 /* 112691 */ // GIR_Coverage, 642,
39991 /* 112691 */ GIR_EraseRootFromParent_Done,
39992 /* 112692 */ // Label 3133: @112692
39993 /* 112692 */ GIM_Try, /*On fail goto*//*Label 3134*/ GIMT_Encode4(112768),
39994 /* 112697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39995 /* 112701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3135*/ GIMT_Encode4(112734), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 654 //
39996 /* 112708 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
39997 /* 112708 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39998 /* 112712 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39999 /* 112718 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40000 /* 112722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL),
40001 /* 112725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40002 /* 112727 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40003 /* 112729 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40004 /* 112732 */ GIR_RootConstrainSelectedInstOperands,
40005 /* 112733 */ // GIR_Coverage, 654,
40006 /* 112733 */ GIR_EraseRootFromParent_Done,
40007 /* 112734 */ // Label 3135: @112734
40008 /* 112734 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3136*/ GIMT_Encode4(112767), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 658 //
40009 /* 112741 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
40010 /* 112741 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40011 /* 112745 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40012 /* 112751 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40013 /* 112755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL_ND),
40014 /* 112758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40015 /* 112760 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40016 /* 112762 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40017 /* 112765 */ GIR_RootConstrainSelectedInstOperands,
40018 /* 112766 */ // GIR_Coverage, 658,
40019 /* 112766 */ GIR_EraseRootFromParent_Done,
40020 /* 112767 */ // Label 3136: @112767
40021 /* 112767 */ GIM_Reject,
40022 /* 112768 */ // Label 3134: @112768
40023 /* 112768 */ GIM_Reject,
40024 /* 112769 */ // Label 3128: @112769
40025 /* 112769 */ GIM_Reject,
40026 /* 112770 */ // Label 3116: @112770
40027 /* 112770 */ GIM_Try, /*On fail goto*//*Label 3137*/ GIMT_Encode4(113358),
40028 /* 112775 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40029 /* 112778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40030 /* 112781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40031 /* 112785 */ GIM_Try, /*On fail goto*//*Label 3138*/ GIMT_Encode4(113005),
40032 /* 112790 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40033 /* 112794 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3139*/ GIMT_Encode4(112899), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17729 //
40034 /* 112801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40035 /* 112805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40036 /* 112809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40037 /* 112812 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40038 /* 112816 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40039 /* 112820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40040 /* 112822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40041 /* 112829 */ // (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] }))
40042 /* 112829 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40043 /* 112832 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40044 /* 112836 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40045 /* 112841 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40046 /* 112843 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40047 /* 112846 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40048 /* 112850 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40049 /* 112855 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40050 /* 112858 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40051 /* 112862 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40052 /* 112865 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40053 /* 112870 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40054 /* 112875 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40055 /* 112880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm),
40056 /* 112883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40057 /* 112885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40058 /* 112889 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40059 /* 112892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40060 /* 112897 */ GIR_RootConstrainSelectedInstOperands,
40061 /* 112898 */ // GIR_Coverage, 17729,
40062 /* 112898 */ GIR_EraseRootFromParent_Done,
40063 /* 112899 */ // Label 3139: @112899
40064 /* 112899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3140*/ GIMT_Encode4(113004), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17761 //
40065 /* 112906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40066 /* 112910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40067 /* 112914 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40068 /* 112917 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40069 /* 112921 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40070 /* 112925 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40071 /* 112927 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40072 /* 112934 */ // (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] }))
40073 /* 112934 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40074 /* 112937 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40075 /* 112941 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40076 /* 112946 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40077 /* 112948 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40078 /* 112951 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40079 /* 112955 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40080 /* 112960 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40081 /* 112963 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40082 /* 112967 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40083 /* 112970 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40084 /* 112975 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40085 /* 112980 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40086 /* 112985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm_EVEX),
40087 /* 112988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40088 /* 112990 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40089 /* 112994 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40090 /* 112997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40091 /* 113002 */ GIR_RootConstrainSelectedInstOperands,
40092 /* 113003 */ // GIR_Coverage, 17761,
40093 /* 113003 */ GIR_EraseRootFromParent_Done,
40094 /* 113004 */ // Label 3140: @113004
40095 /* 113004 */ GIM_Reject,
40096 /* 113005 */ // Label 3138: @113005
40097 /* 113005 */ GIM_Try, /*On fail goto*//*Label 3141*/ GIMT_Encode4(113357),
40098 /* 113010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40099 /* 113014 */ GIM_Try, /*On fail goto*//*Label 3142*/ GIMT_Encode4(113066),
40100 /* 113019 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40101 /* 113023 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3143*/ GIMT_Encode4(113044), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22923 //
40102 /* 113030 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
40103 /* 113030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
40104 /* 113033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40105 /* 113035 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40106 /* 113037 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40107 /* 113039 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40108 /* 113042 */ GIR_RootConstrainSelectedInstOperands,
40109 /* 113043 */ // GIR_Coverage, 22923,
40110 /* 113043 */ GIR_EraseRootFromParent_Done,
40111 /* 113044 */ // Label 3143: @113044
40112 /* 113044 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3144*/ GIMT_Encode4(113065), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22927 //
40113 /* 113051 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
40114 /* 113051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
40115 /* 113054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40116 /* 113056 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40117 /* 113058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40118 /* 113060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40119 /* 113063 */ GIR_RootConstrainSelectedInstOperands,
40120 /* 113064 */ // GIR_Coverage, 22927,
40121 /* 113064 */ GIR_EraseRootFromParent_Done,
40122 /* 113065 */ // Label 3144: @113065
40123 /* 113065 */ GIM_Reject,
40124 /* 113066 */ // Label 3142: @113066
40125 /* 113066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3145*/ GIMT_Encode4(113098), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 639 //
40126 /* 113073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40127 /* 113077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40128 /* 113081 */ // MIs[1] Operand 1
40129 /* 113081 */ // No operand predicates
40130 /* 113081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40131 /* 113083 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40132 /* 113083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri),
40133 /* 113086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40134 /* 113088 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40135 /* 113090 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40136 /* 113093 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40137 /* 113096 */ GIR_RootConstrainSelectedInstOperands,
40138 /* 113097 */ // GIR_Coverage, 639,
40139 /* 113097 */ GIR_EraseRootFromParent_Done,
40140 /* 113098 */ // Label 3145: @113098
40141 /* 113098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3146*/ GIMT_Encode4(113130), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 643 //
40142 /* 113105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40143 /* 113109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40144 /* 113113 */ // MIs[1] Operand 1
40145 /* 113113 */ // No operand predicates
40146 /* 113113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40147 /* 113115 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40148 /* 113115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri_ND),
40149 /* 113118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40150 /* 113120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40151 /* 113122 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40152 /* 113125 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40153 /* 113128 */ GIR_RootConstrainSelectedInstOperands,
40154 /* 113129 */ // GIR_Coverage, 643,
40155 /* 113129 */ GIR_EraseRootFromParent_Done,
40156 /* 113130 */ // Label 3146: @113130
40157 /* 113130 */ GIM_Try, /*On fail goto*//*Label 3147*/ GIMT_Encode4(113280),
40158 /* 113135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40159 /* 113139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3148*/ GIMT_Encode4(113209), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17725 //
40160 /* 113146 */ // (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] }))
40161 /* 113146 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40162 /* 113149 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40163 /* 113153 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40164 /* 113158 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40165 /* 113160 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40166 /* 113163 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40167 /* 113167 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40168 /* 113172 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40169 /* 113175 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40170 /* 113179 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40171 /* 113182 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40172 /* 113187 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40173 /* 113192 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40174 /* 113197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr),
40175 /* 113200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40176 /* 113202 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40177 /* 113204 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40178 /* 113207 */ GIR_RootConstrainSelectedInstOperands,
40179 /* 113208 */ // GIR_Coverage, 17725,
40180 /* 113208 */ GIR_EraseRootFromParent_Done,
40181 /* 113209 */ // Label 3148: @113209
40182 /* 113209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3149*/ GIMT_Encode4(113279), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17757 //
40183 /* 113216 */ // (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] }))
40184 /* 113216 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40185 /* 113219 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40186 /* 113223 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40187 /* 113228 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40188 /* 113230 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40189 /* 113233 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40190 /* 113237 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40191 /* 113242 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40192 /* 113245 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40193 /* 113249 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40194 /* 113252 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40195 /* 113257 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40196 /* 113262 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40197 /* 113267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr_EVEX),
40198 /* 113270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40199 /* 113272 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40200 /* 113274 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40201 /* 113277 */ GIR_RootConstrainSelectedInstOperands,
40202 /* 113278 */ // GIR_Coverage, 17757,
40203 /* 113278 */ GIR_EraseRootFromParent_Done,
40204 /* 113279 */ // Label 3149: @113279
40205 /* 113279 */ GIM_Reject,
40206 /* 113280 */ // Label 3147: @113280
40207 /* 113280 */ GIM_Try, /*On fail goto*//*Label 3150*/ GIMT_Encode4(113356),
40208 /* 113285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40209 /* 113289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3151*/ GIMT_Encode4(113322), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 655 //
40210 /* 113296 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40211 /* 113296 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40212 /* 113300 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40213 /* 113306 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40214 /* 113310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL),
40215 /* 113313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40216 /* 113315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40217 /* 113317 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40218 /* 113320 */ GIR_RootConstrainSelectedInstOperands,
40219 /* 113321 */ // GIR_Coverage, 655,
40220 /* 113321 */ GIR_EraseRootFromParent_Done,
40221 /* 113322 */ // Label 3151: @113322
40222 /* 113322 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3152*/ GIMT_Encode4(113355), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 659 //
40223 /* 113329 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40224 /* 113329 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40225 /* 113333 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40226 /* 113339 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40227 /* 113343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL_ND),
40228 /* 113346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40229 /* 113348 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40230 /* 113350 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40231 /* 113353 */ GIR_RootConstrainSelectedInstOperands,
40232 /* 113354 */ // GIR_Coverage, 659,
40233 /* 113354 */ GIR_EraseRootFromParent_Done,
40234 /* 113355 */ // Label 3152: @113355
40235 /* 113355 */ GIM_Reject,
40236 /* 113356 */ // Label 3150: @113356
40237 /* 113356 */ GIM_Reject,
40238 /* 113357 */ // Label 3141: @113357
40239 /* 113357 */ GIM_Reject,
40240 /* 113358 */ // Label 3137: @113358
40241 /* 113358 */ GIM_Reject,
40242 /* 113359 */ // Label 3117: @113359
40243 /* 113359 */ GIM_Try, /*On fail goto*//*Label 3153*/ GIMT_Encode4(113947),
40244 /* 113364 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
40245 /* 113367 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40246 /* 113370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40247 /* 113374 */ GIM_Try, /*On fail goto*//*Label 3154*/ GIMT_Encode4(113594),
40248 /* 113379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40249 /* 113383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3155*/ GIMT_Encode4(113488), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17730 //
40250 /* 113390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40251 /* 113394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40252 /* 113398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40253 /* 113401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40254 /* 113405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40255 /* 113409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40256 /* 113411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40257 /* 113418 */ // (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] }))
40258 /* 113418 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40259 /* 113421 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40260 /* 113425 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40261 /* 113430 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40262 /* 113432 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40263 /* 113435 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40264 /* 113439 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40265 /* 113444 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40266 /* 113447 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40267 /* 113451 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40268 /* 113454 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40269 /* 113459 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40270 /* 113464 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40271 /* 113469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm),
40272 /* 113472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40273 /* 113474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40274 /* 113478 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40275 /* 113481 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40276 /* 113486 */ GIR_RootConstrainSelectedInstOperands,
40277 /* 113487 */ // GIR_Coverage, 17730,
40278 /* 113487 */ GIR_EraseRootFromParent_Done,
40279 /* 113488 */ // Label 3155: @113488
40280 /* 113488 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3156*/ GIMT_Encode4(113593), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17762 //
40281 /* 113495 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40282 /* 113499 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40283 /* 113503 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40284 /* 113506 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40285 /* 113510 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40286 /* 113514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40287 /* 113516 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40288 /* 113523 */ // (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] }))
40289 /* 113523 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40290 /* 113526 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40291 /* 113530 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40292 /* 113535 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40293 /* 113537 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40294 /* 113540 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40295 /* 113544 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40296 /* 113549 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40297 /* 113552 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40298 /* 113556 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40299 /* 113559 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40300 /* 113564 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40301 /* 113569 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40302 /* 113574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm_EVEX),
40303 /* 113577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40304 /* 113579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40305 /* 113583 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40306 /* 113586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40307 /* 113591 */ GIR_RootConstrainSelectedInstOperands,
40308 /* 113592 */ // GIR_Coverage, 17762,
40309 /* 113592 */ GIR_EraseRootFromParent_Done,
40310 /* 113593 */ // Label 3156: @113593
40311 /* 113593 */ GIM_Reject,
40312 /* 113594 */ // Label 3154: @113594
40313 /* 113594 */ GIM_Try, /*On fail goto*//*Label 3157*/ GIMT_Encode4(113946),
40314 /* 113599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40315 /* 113603 */ GIM_Try, /*On fail goto*//*Label 3158*/ GIMT_Encode4(113655),
40316 /* 113608 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40317 /* 113612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3159*/ GIMT_Encode4(113633), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22924 //
40318 /* 113619 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
40319 /* 113619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
40320 /* 113622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40321 /* 113624 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40322 /* 113626 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40323 /* 113628 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40324 /* 113631 */ GIR_RootConstrainSelectedInstOperands,
40325 /* 113632 */ // GIR_Coverage, 22924,
40326 /* 113632 */ GIR_EraseRootFromParent_Done,
40327 /* 113633 */ // Label 3159: @113633
40328 /* 113633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3160*/ GIMT_Encode4(113654), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22928 //
40329 /* 113640 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
40330 /* 113640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
40331 /* 113643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40332 /* 113645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40333 /* 113647 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40334 /* 113649 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40335 /* 113652 */ GIR_RootConstrainSelectedInstOperands,
40336 /* 113653 */ // GIR_Coverage, 22928,
40337 /* 113653 */ GIR_EraseRootFromParent_Done,
40338 /* 113654 */ // Label 3160: @113654
40339 /* 113654 */ GIM_Reject,
40340 /* 113655 */ // Label 3158: @113655
40341 /* 113655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3161*/ GIMT_Encode4(113687), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 640 //
40342 /* 113662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40343 /* 113666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40344 /* 113670 */ // MIs[1] Operand 1
40345 /* 113670 */ // No operand predicates
40346 /* 113670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40347 /* 113672 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40348 /* 113672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri),
40349 /* 113675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40350 /* 113677 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40351 /* 113679 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40352 /* 113682 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40353 /* 113685 */ GIR_RootConstrainSelectedInstOperands,
40354 /* 113686 */ // GIR_Coverage, 640,
40355 /* 113686 */ GIR_EraseRootFromParent_Done,
40356 /* 113687 */ // Label 3161: @113687
40357 /* 113687 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3162*/ GIMT_Encode4(113719), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 644 //
40358 /* 113694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40359 /* 113698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40360 /* 113702 */ // MIs[1] Operand 1
40361 /* 113702 */ // No operand predicates
40362 /* 113702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40363 /* 113704 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40364 /* 113704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri_ND),
40365 /* 113707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40366 /* 113709 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40367 /* 113711 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40368 /* 113714 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40369 /* 113717 */ GIR_RootConstrainSelectedInstOperands,
40370 /* 113718 */ // GIR_Coverage, 644,
40371 /* 113718 */ GIR_EraseRootFromParent_Done,
40372 /* 113719 */ // Label 3162: @113719
40373 /* 113719 */ GIM_Try, /*On fail goto*//*Label 3163*/ GIMT_Encode4(113869),
40374 /* 113724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40375 /* 113728 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3164*/ GIMT_Encode4(113798), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17726 //
40376 /* 113735 */ // (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] }))
40377 /* 113735 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40378 /* 113738 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40379 /* 113742 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40380 /* 113747 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40381 /* 113749 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40382 /* 113752 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40383 /* 113756 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40384 /* 113761 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40385 /* 113764 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40386 /* 113768 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40387 /* 113771 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40388 /* 113776 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40389 /* 113781 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40390 /* 113786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr),
40391 /* 113789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40392 /* 113791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40393 /* 113793 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40394 /* 113796 */ GIR_RootConstrainSelectedInstOperands,
40395 /* 113797 */ // GIR_Coverage, 17726,
40396 /* 113797 */ GIR_EraseRootFromParent_Done,
40397 /* 113798 */ // Label 3164: @113798
40398 /* 113798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3165*/ GIMT_Encode4(113868), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17758 //
40399 /* 113805 */ // (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] }))
40400 /* 113805 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40401 /* 113808 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40402 /* 113812 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40403 /* 113817 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40404 /* 113819 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40405 /* 113822 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40406 /* 113826 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40407 /* 113831 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40408 /* 113834 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40409 /* 113838 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40410 /* 113841 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40411 /* 113846 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40412 /* 113851 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40413 /* 113856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr_EVEX),
40414 /* 113859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40415 /* 113861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40416 /* 113863 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40417 /* 113866 */ GIR_RootConstrainSelectedInstOperands,
40418 /* 113867 */ // GIR_Coverage, 17758,
40419 /* 113867 */ GIR_EraseRootFromParent_Done,
40420 /* 113868 */ // Label 3165: @113868
40421 /* 113868 */ GIM_Reject,
40422 /* 113869 */ // Label 3163: @113869
40423 /* 113869 */ GIM_Try, /*On fail goto*//*Label 3166*/ GIMT_Encode4(113945),
40424 /* 113874 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40425 /* 113878 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3167*/ GIMT_Encode4(113911), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 656 //
40426 /* 113885 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
40427 /* 113885 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40428 /* 113889 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40429 /* 113895 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40430 /* 113899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL),
40431 /* 113902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40432 /* 113904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40433 /* 113906 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40434 /* 113909 */ GIR_RootConstrainSelectedInstOperands,
40435 /* 113910 */ // GIR_Coverage, 656,
40436 /* 113910 */ GIR_EraseRootFromParent_Done,
40437 /* 113911 */ // Label 3167: @113911
40438 /* 113911 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3168*/ GIMT_Encode4(113944), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 660 //
40439 /* 113918 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
40440 /* 113918 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40441 /* 113922 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40442 /* 113928 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40443 /* 113932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL_ND),
40444 /* 113935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40445 /* 113937 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40446 /* 113939 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40447 /* 113942 */ GIR_RootConstrainSelectedInstOperands,
40448 /* 113943 */ // GIR_Coverage, 660,
40449 /* 113943 */ GIR_EraseRootFromParent_Done,
40450 /* 113944 */ // Label 3168: @113944
40451 /* 113944 */ GIM_Reject,
40452 /* 113945 */ // Label 3166: @113945
40453 /* 113945 */ GIM_Reject,
40454 /* 113946 */ // Label 3157: @113946
40455 /* 113946 */ GIM_Reject,
40456 /* 113947 */ // Label 3153: @113947
40457 /* 113947 */ GIM_Reject,
40458 /* 113948 */ // Label 3118: @113948
40459 /* 113948 */ GIM_Reject,
40460 /* 113949 */ // Label 30: @113949
40461 /* 113949 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 3173*/ GIMT_Encode4(115372),
40462 /* 113960 */ /*GILLT_s8*//*Label 3169*/ GIMT_Encode4(113976),
40463 /* 113964 */ /*GILLT_s16*//*Label 3170*/ GIMT_Encode4(114137),
40464 /* 113968 */ /*GILLT_s32*//*Label 3171*/ GIMT_Encode4(114298),
40465 /* 113972 */ /*GILLT_s64*//*Label 3172*/ GIMT_Encode4(114835),
40466 /* 113976 */ // Label 3169: @113976
40467 /* 113976 */ GIM_Try, /*On fail goto*//*Label 3174*/ GIMT_Encode4(114136),
40468 /* 113981 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40469 /* 113984 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40470 /* 113987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40471 /* 113991 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40472 /* 113995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3175*/ GIMT_Encode4(114027), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 669 //
40473 /* 114002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40474 /* 114006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40475 /* 114010 */ // MIs[1] Operand 1
40476 /* 114010 */ // No operand predicates
40477 /* 114010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40478 /* 114012 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
40479 /* 114012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri),
40480 /* 114015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40481 /* 114017 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40482 /* 114019 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40483 /* 114022 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40484 /* 114025 */ GIR_RootConstrainSelectedInstOperands,
40485 /* 114026 */ // GIR_Coverage, 669,
40486 /* 114026 */ GIR_EraseRootFromParent_Done,
40487 /* 114027 */ // Label 3175: @114027
40488 /* 114027 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3176*/ GIMT_Encode4(114059), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 673 //
40489 /* 114034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40490 /* 114038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40491 /* 114042 */ // MIs[1] Operand 1
40492 /* 114042 */ // No operand predicates
40493 /* 114042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40494 /* 114044 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
40495 /* 114044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri_ND),
40496 /* 114047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40497 /* 114049 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40498 /* 114051 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40499 /* 114054 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40500 /* 114057 */ GIR_RootConstrainSelectedInstOperands,
40501 /* 114058 */ // GIR_Coverage, 673,
40502 /* 114058 */ GIR_EraseRootFromParent_Done,
40503 /* 114059 */ // Label 3176: @114059
40504 /* 114059 */ GIM_Try, /*On fail goto*//*Label 3177*/ GIMT_Encode4(114135),
40505 /* 114064 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40506 /* 114068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3178*/ GIMT_Encode4(114101), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 685 //
40507 /* 114075 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
40508 /* 114075 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40509 /* 114079 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40510 /* 114085 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40511 /* 114089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL),
40512 /* 114092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40513 /* 114094 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40514 /* 114096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40515 /* 114099 */ GIR_RootConstrainSelectedInstOperands,
40516 /* 114100 */ // GIR_Coverage, 685,
40517 /* 114100 */ GIR_EraseRootFromParent_Done,
40518 /* 114101 */ // Label 3178: @114101
40519 /* 114101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3179*/ GIMT_Encode4(114134), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 689 //
40520 /* 114108 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
40521 /* 114108 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40522 /* 114112 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40523 /* 114118 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40524 /* 114122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL_ND),
40525 /* 114125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40526 /* 114127 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40527 /* 114129 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40528 /* 114132 */ GIR_RootConstrainSelectedInstOperands,
40529 /* 114133 */ // GIR_Coverage, 689,
40530 /* 114133 */ GIR_EraseRootFromParent_Done,
40531 /* 114134 */ // Label 3179: @114134
40532 /* 114134 */ GIM_Reject,
40533 /* 114135 */ // Label 3177: @114135
40534 /* 114135 */ GIM_Reject,
40535 /* 114136 */ // Label 3174: @114136
40536 /* 114136 */ GIM_Reject,
40537 /* 114137 */ // Label 3170: @114137
40538 /* 114137 */ GIM_Try, /*On fail goto*//*Label 3180*/ GIMT_Encode4(114297),
40539 /* 114142 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40540 /* 114145 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40541 /* 114148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40542 /* 114152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40543 /* 114156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3181*/ GIMT_Encode4(114188), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 670 //
40544 /* 114163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40545 /* 114167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40546 /* 114171 */ // MIs[1] Operand 1
40547 /* 114171 */ // No operand predicates
40548 /* 114171 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40549 /* 114173 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
40550 /* 114173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri),
40551 /* 114176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40552 /* 114178 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40553 /* 114180 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40554 /* 114183 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40555 /* 114186 */ GIR_RootConstrainSelectedInstOperands,
40556 /* 114187 */ // GIR_Coverage, 670,
40557 /* 114187 */ GIR_EraseRootFromParent_Done,
40558 /* 114188 */ // Label 3181: @114188
40559 /* 114188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3182*/ GIMT_Encode4(114220), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 674 //
40560 /* 114195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40561 /* 114199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40562 /* 114203 */ // MIs[1] Operand 1
40563 /* 114203 */ // No operand predicates
40564 /* 114203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40565 /* 114205 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
40566 /* 114205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri_ND),
40567 /* 114208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40568 /* 114210 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40569 /* 114212 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40570 /* 114215 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40571 /* 114218 */ GIR_RootConstrainSelectedInstOperands,
40572 /* 114219 */ // GIR_Coverage, 674,
40573 /* 114219 */ GIR_EraseRootFromParent_Done,
40574 /* 114220 */ // Label 3182: @114220
40575 /* 114220 */ GIM_Try, /*On fail goto*//*Label 3183*/ GIMT_Encode4(114296),
40576 /* 114225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40577 /* 114229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3184*/ GIMT_Encode4(114262), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 686 //
40578 /* 114236 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
40579 /* 114236 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40580 /* 114240 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40581 /* 114246 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40582 /* 114250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL),
40583 /* 114253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40584 /* 114255 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40585 /* 114257 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40586 /* 114260 */ GIR_RootConstrainSelectedInstOperands,
40587 /* 114261 */ // GIR_Coverage, 686,
40588 /* 114261 */ GIR_EraseRootFromParent_Done,
40589 /* 114262 */ // Label 3184: @114262
40590 /* 114262 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3185*/ GIMT_Encode4(114295), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 690 //
40591 /* 114269 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
40592 /* 114269 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40593 /* 114273 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40594 /* 114279 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40595 /* 114283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL_ND),
40596 /* 114286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40597 /* 114288 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40598 /* 114290 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40599 /* 114293 */ GIR_RootConstrainSelectedInstOperands,
40600 /* 114294 */ // GIR_Coverage, 690,
40601 /* 114294 */ GIR_EraseRootFromParent_Done,
40602 /* 114295 */ // Label 3185: @114295
40603 /* 114295 */ GIM_Reject,
40604 /* 114296 */ // Label 3183: @114296
40605 /* 114296 */ GIM_Reject,
40606 /* 114297 */ // Label 3180: @114297
40607 /* 114297 */ GIM_Reject,
40608 /* 114298 */ // Label 3171: @114298
40609 /* 114298 */ GIM_Try, /*On fail goto*//*Label 3186*/ GIMT_Encode4(114834),
40610 /* 114303 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40611 /* 114306 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40612 /* 114309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40613 /* 114313 */ GIM_Try, /*On fail goto*//*Label 3187*/ GIMT_Encode4(114533),
40614 /* 114318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40615 /* 114322 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3188*/ GIMT_Encode4(114427), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17721 //
40616 /* 114329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40617 /* 114333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40618 /* 114337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40619 /* 114340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40620 /* 114344 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40621 /* 114348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40622 /* 114350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40623 /* 114357 */ // (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] }))
40624 /* 114357 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40625 /* 114360 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40626 /* 114364 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40627 /* 114369 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40628 /* 114371 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40629 /* 114374 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40630 /* 114378 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40631 /* 114383 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40632 /* 114386 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40633 /* 114390 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40634 /* 114393 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40635 /* 114398 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40636 /* 114403 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40637 /* 114408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm),
40638 /* 114411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40639 /* 114413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40640 /* 114417 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40641 /* 114420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40642 /* 114425 */ GIR_RootConstrainSelectedInstOperands,
40643 /* 114426 */ // GIR_Coverage, 17721,
40644 /* 114426 */ GIR_EraseRootFromParent_Done,
40645 /* 114427 */ // Label 3188: @114427
40646 /* 114427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3189*/ GIMT_Encode4(114532), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17753 //
40647 /* 114434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40648 /* 114438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40649 /* 114442 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40650 /* 114445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40651 /* 114449 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40652 /* 114453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40653 /* 114455 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40654 /* 114462 */ // (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] }))
40655 /* 114462 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40656 /* 114465 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40657 /* 114469 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40658 /* 114474 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40659 /* 114476 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40660 /* 114479 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40661 /* 114483 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40662 /* 114488 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40663 /* 114491 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40664 /* 114495 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40665 /* 114498 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40666 /* 114503 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40667 /* 114508 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40668 /* 114513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm_EVEX),
40669 /* 114516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40670 /* 114518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40671 /* 114522 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40672 /* 114525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40673 /* 114530 */ GIR_RootConstrainSelectedInstOperands,
40674 /* 114531 */ // GIR_Coverage, 17753,
40675 /* 114531 */ GIR_EraseRootFromParent_Done,
40676 /* 114532 */ // Label 3189: @114532
40677 /* 114532 */ GIM_Reject,
40678 /* 114533 */ // Label 3187: @114533
40679 /* 114533 */ GIM_Try, /*On fail goto*//*Label 3190*/ GIMT_Encode4(114833),
40680 /* 114538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40681 /* 114542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3191*/ GIMT_Encode4(114574), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 671 //
40682 /* 114549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40683 /* 114553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40684 /* 114557 */ // MIs[1] Operand 1
40685 /* 114557 */ // No operand predicates
40686 /* 114557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40687 /* 114559 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40688 /* 114559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri),
40689 /* 114562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40690 /* 114564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40691 /* 114566 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40692 /* 114569 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40693 /* 114572 */ GIR_RootConstrainSelectedInstOperands,
40694 /* 114573 */ // GIR_Coverage, 671,
40695 /* 114573 */ GIR_EraseRootFromParent_Done,
40696 /* 114574 */ // Label 3191: @114574
40697 /* 114574 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3192*/ GIMT_Encode4(114606), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 675 //
40698 /* 114581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40699 /* 114585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40700 /* 114589 */ // MIs[1] Operand 1
40701 /* 114589 */ // No operand predicates
40702 /* 114589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40703 /* 114591 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40704 /* 114591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri_ND),
40705 /* 114594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40706 /* 114596 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40707 /* 114598 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40708 /* 114601 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40709 /* 114604 */ GIR_RootConstrainSelectedInstOperands,
40710 /* 114605 */ // GIR_Coverage, 675,
40711 /* 114605 */ GIR_EraseRootFromParent_Done,
40712 /* 114606 */ // Label 3192: @114606
40713 /* 114606 */ GIM_Try, /*On fail goto*//*Label 3193*/ GIMT_Encode4(114756),
40714 /* 114611 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40715 /* 114615 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3194*/ GIMT_Encode4(114685), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17717 //
40716 /* 114622 */ // (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] }))
40717 /* 114622 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40718 /* 114625 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40719 /* 114629 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40720 /* 114634 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40721 /* 114636 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40722 /* 114639 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40723 /* 114643 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40724 /* 114648 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40725 /* 114651 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40726 /* 114655 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40727 /* 114658 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40728 /* 114663 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40729 /* 114668 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40730 /* 114673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr),
40731 /* 114676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40732 /* 114678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40733 /* 114680 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40734 /* 114683 */ GIR_RootConstrainSelectedInstOperands,
40735 /* 114684 */ // GIR_Coverage, 17717,
40736 /* 114684 */ GIR_EraseRootFromParent_Done,
40737 /* 114685 */ // Label 3194: @114685
40738 /* 114685 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3195*/ GIMT_Encode4(114755), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17749 //
40739 /* 114692 */ // (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] }))
40740 /* 114692 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40741 /* 114695 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40742 /* 114699 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40743 /* 114704 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40744 /* 114706 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40745 /* 114709 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40746 /* 114713 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40747 /* 114718 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40748 /* 114721 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40749 /* 114725 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40750 /* 114728 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40751 /* 114733 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40752 /* 114738 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40753 /* 114743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr_EVEX),
40754 /* 114746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40755 /* 114748 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40756 /* 114750 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40757 /* 114753 */ GIR_RootConstrainSelectedInstOperands,
40758 /* 114754 */ // GIR_Coverage, 17749,
40759 /* 114754 */ GIR_EraseRootFromParent_Done,
40760 /* 114755 */ // Label 3195: @114755
40761 /* 114755 */ GIM_Reject,
40762 /* 114756 */ // Label 3193: @114756
40763 /* 114756 */ GIM_Try, /*On fail goto*//*Label 3196*/ GIMT_Encode4(114832),
40764 /* 114761 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40765 /* 114765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3197*/ GIMT_Encode4(114798), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 687 //
40766 /* 114772 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40767 /* 114772 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40768 /* 114776 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40769 /* 114782 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40770 /* 114786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL),
40771 /* 114789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40772 /* 114791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40773 /* 114793 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40774 /* 114796 */ GIR_RootConstrainSelectedInstOperands,
40775 /* 114797 */ // GIR_Coverage, 687,
40776 /* 114797 */ GIR_EraseRootFromParent_Done,
40777 /* 114798 */ // Label 3197: @114798
40778 /* 114798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3198*/ GIMT_Encode4(114831), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 691 //
40779 /* 114805 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40780 /* 114805 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40781 /* 114809 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40782 /* 114815 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40783 /* 114819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL_ND),
40784 /* 114822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40785 /* 114824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40786 /* 114826 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40787 /* 114829 */ GIR_RootConstrainSelectedInstOperands,
40788 /* 114830 */ // GIR_Coverage, 691,
40789 /* 114830 */ GIR_EraseRootFromParent_Done,
40790 /* 114831 */ // Label 3198: @114831
40791 /* 114831 */ GIM_Reject,
40792 /* 114832 */ // Label 3196: @114832
40793 /* 114832 */ GIM_Reject,
40794 /* 114833 */ // Label 3190: @114833
40795 /* 114833 */ GIM_Reject,
40796 /* 114834 */ // Label 3186: @114834
40797 /* 114834 */ GIM_Reject,
40798 /* 114835 */ // Label 3172: @114835
40799 /* 114835 */ GIM_Try, /*On fail goto*//*Label 3199*/ GIMT_Encode4(115371),
40800 /* 114840 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
40801 /* 114843 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40802 /* 114846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40803 /* 114850 */ GIM_Try, /*On fail goto*//*Label 3200*/ GIMT_Encode4(115070),
40804 /* 114855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40805 /* 114859 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3201*/ GIMT_Encode4(114964), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17722 //
40806 /* 114866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40807 /* 114870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40808 /* 114874 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40809 /* 114877 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40810 /* 114881 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40811 /* 114885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40812 /* 114887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40813 /* 114894 */ // (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] }))
40814 /* 114894 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40815 /* 114897 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40816 /* 114901 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40817 /* 114906 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40818 /* 114908 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40819 /* 114911 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40820 /* 114915 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40821 /* 114920 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40822 /* 114923 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40823 /* 114927 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40824 /* 114930 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40825 /* 114935 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40826 /* 114940 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40827 /* 114945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm),
40828 /* 114948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40829 /* 114950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40830 /* 114954 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40831 /* 114957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40832 /* 114962 */ GIR_RootConstrainSelectedInstOperands,
40833 /* 114963 */ // GIR_Coverage, 17722,
40834 /* 114963 */ GIR_EraseRootFromParent_Done,
40835 /* 114964 */ // Label 3201: @114964
40836 /* 114964 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3202*/ GIMT_Encode4(115069), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17754 //
40837 /* 114971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40838 /* 114975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40839 /* 114979 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40840 /* 114982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40841 /* 114986 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40842 /* 114990 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40843 /* 114992 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40844 /* 114999 */ // (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] }))
40845 /* 114999 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40846 /* 115002 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40847 /* 115006 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40848 /* 115011 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40849 /* 115013 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40850 /* 115016 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40851 /* 115020 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40852 /* 115025 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40853 /* 115028 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40854 /* 115032 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40855 /* 115035 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40856 /* 115040 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40857 /* 115045 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40858 /* 115050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm_EVEX),
40859 /* 115053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40860 /* 115055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40861 /* 115059 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40862 /* 115062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40863 /* 115067 */ GIR_RootConstrainSelectedInstOperands,
40864 /* 115068 */ // GIR_Coverage, 17754,
40865 /* 115068 */ GIR_EraseRootFromParent_Done,
40866 /* 115069 */ // Label 3202: @115069
40867 /* 115069 */ GIM_Reject,
40868 /* 115070 */ // Label 3200: @115070
40869 /* 115070 */ GIM_Try, /*On fail goto*//*Label 3203*/ GIMT_Encode4(115370),
40870 /* 115075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40871 /* 115079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3204*/ GIMT_Encode4(115111), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 672 //
40872 /* 115086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40873 /* 115090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40874 /* 115094 */ // MIs[1] Operand 1
40875 /* 115094 */ // No operand predicates
40876 /* 115094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40877 /* 115096 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40878 /* 115096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri),
40879 /* 115099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40880 /* 115101 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40881 /* 115103 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40882 /* 115106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40883 /* 115109 */ GIR_RootConstrainSelectedInstOperands,
40884 /* 115110 */ // GIR_Coverage, 672,
40885 /* 115110 */ GIR_EraseRootFromParent_Done,
40886 /* 115111 */ // Label 3204: @115111
40887 /* 115111 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3205*/ GIMT_Encode4(115143), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 676 //
40888 /* 115118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40889 /* 115122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40890 /* 115126 */ // MIs[1] Operand 1
40891 /* 115126 */ // No operand predicates
40892 /* 115126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40893 /* 115128 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40894 /* 115128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri_ND),
40895 /* 115131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40896 /* 115133 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40897 /* 115135 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40898 /* 115138 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40899 /* 115141 */ GIR_RootConstrainSelectedInstOperands,
40900 /* 115142 */ // GIR_Coverage, 676,
40901 /* 115142 */ GIR_EraseRootFromParent_Done,
40902 /* 115143 */ // Label 3205: @115143
40903 /* 115143 */ GIM_Try, /*On fail goto*//*Label 3206*/ GIMT_Encode4(115293),
40904 /* 115148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40905 /* 115152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3207*/ GIMT_Encode4(115222), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17718 //
40906 /* 115159 */ // (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] }))
40907 /* 115159 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40908 /* 115162 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40909 /* 115166 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40910 /* 115171 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40911 /* 115173 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40912 /* 115176 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40913 /* 115180 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40914 /* 115185 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40915 /* 115188 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40916 /* 115192 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40917 /* 115195 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40918 /* 115200 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40919 /* 115205 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40920 /* 115210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr),
40921 /* 115213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40922 /* 115215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40923 /* 115217 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40924 /* 115220 */ GIR_RootConstrainSelectedInstOperands,
40925 /* 115221 */ // GIR_Coverage, 17718,
40926 /* 115221 */ GIR_EraseRootFromParent_Done,
40927 /* 115222 */ // Label 3207: @115222
40928 /* 115222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3208*/ GIMT_Encode4(115292), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17750 //
40929 /* 115229 */ // (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] }))
40930 /* 115229 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40931 /* 115232 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40932 /* 115236 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40933 /* 115241 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40934 /* 115243 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40935 /* 115246 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40936 /* 115250 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40937 /* 115255 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40938 /* 115258 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40939 /* 115262 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40940 /* 115265 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40941 /* 115270 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40942 /* 115275 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40943 /* 115280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr_EVEX),
40944 /* 115283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40945 /* 115285 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40946 /* 115287 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40947 /* 115290 */ GIR_RootConstrainSelectedInstOperands,
40948 /* 115291 */ // GIR_Coverage, 17750,
40949 /* 115291 */ GIR_EraseRootFromParent_Done,
40950 /* 115292 */ // Label 3208: @115292
40951 /* 115292 */ GIM_Reject,
40952 /* 115293 */ // Label 3206: @115293
40953 /* 115293 */ GIM_Try, /*On fail goto*//*Label 3209*/ GIMT_Encode4(115369),
40954 /* 115298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40955 /* 115302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3210*/ GIMT_Encode4(115335), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 688 //
40956 /* 115309 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
40957 /* 115309 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40958 /* 115313 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40959 /* 115319 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40960 /* 115323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL),
40961 /* 115326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40962 /* 115328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40963 /* 115330 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40964 /* 115333 */ GIR_RootConstrainSelectedInstOperands,
40965 /* 115334 */ // GIR_Coverage, 688,
40966 /* 115334 */ GIR_EraseRootFromParent_Done,
40967 /* 115335 */ // Label 3210: @115335
40968 /* 115335 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3211*/ GIMT_Encode4(115368), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 692 //
40969 /* 115342 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
40970 /* 115342 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40971 /* 115346 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40972 /* 115352 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40973 /* 115356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL_ND),
40974 /* 115359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40975 /* 115361 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40976 /* 115363 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40977 /* 115366 */ GIR_RootConstrainSelectedInstOperands,
40978 /* 115367 */ // GIR_Coverage, 692,
40979 /* 115367 */ GIR_EraseRootFromParent_Done,
40980 /* 115368 */ // Label 3211: @115368
40981 /* 115368 */ GIM_Reject,
40982 /* 115369 */ // Label 3209: @115369
40983 /* 115369 */ GIM_Reject,
40984 /* 115370 */ // Label 3203: @115370
40985 /* 115370 */ GIM_Reject,
40986 /* 115371 */ // Label 3199: @115371
40987 /* 115371 */ GIM_Reject,
40988 /* 115372 */ // Label 3173: @115372
40989 /* 115372 */ GIM_Reject,
40990 /* 115373 */ // Label 31: @115373
40991 /* 115373 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 3216*/ GIMT_Encode4(116796),
40992 /* 115384 */ /*GILLT_s8*//*Label 3212*/ GIMT_Encode4(115400),
40993 /* 115388 */ /*GILLT_s16*//*Label 3213*/ GIMT_Encode4(115561),
40994 /* 115392 */ /*GILLT_s32*//*Label 3214*/ GIMT_Encode4(115722),
40995 /* 115396 */ /*GILLT_s64*//*Label 3215*/ GIMT_Encode4(116259),
40996 /* 115400 */ // Label 3212: @115400
40997 /* 115400 */ GIM_Try, /*On fail goto*//*Label 3217*/ GIMT_Encode4(115560),
40998 /* 115405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40999 /* 115408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41000 /* 115411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41001 /* 115415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41002 /* 115419 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3218*/ GIMT_Encode4(115451), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 701 //
41003 /* 115426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41004 /* 115430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41005 /* 115434 */ // MIs[1] Operand 1
41006 /* 115434 */ // No operand predicates
41007 /* 115434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41008 /* 115436 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41009 /* 115436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri),
41010 /* 115439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41011 /* 115441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41012 /* 115443 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41013 /* 115446 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41014 /* 115449 */ GIR_RootConstrainSelectedInstOperands,
41015 /* 115450 */ // GIR_Coverage, 701,
41016 /* 115450 */ GIR_EraseRootFromParent_Done,
41017 /* 115451 */ // Label 3218: @115451
41018 /* 115451 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3219*/ GIMT_Encode4(115483), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 705 //
41019 /* 115458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41020 /* 115462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41021 /* 115466 */ // MIs[1] Operand 1
41022 /* 115466 */ // No operand predicates
41023 /* 115466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41024 /* 115468 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41025 /* 115468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri_ND),
41026 /* 115471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41027 /* 115473 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41028 /* 115475 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41029 /* 115478 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41030 /* 115481 */ GIR_RootConstrainSelectedInstOperands,
41031 /* 115482 */ // GIR_Coverage, 705,
41032 /* 115482 */ GIR_EraseRootFromParent_Done,
41033 /* 115483 */ // Label 3219: @115483
41034 /* 115483 */ GIM_Try, /*On fail goto*//*Label 3220*/ GIMT_Encode4(115559),
41035 /* 115488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41036 /* 115492 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3221*/ GIMT_Encode4(115525), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 717 //
41037 /* 115499 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41038 /* 115499 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41039 /* 115503 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41040 /* 115509 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41041 /* 115513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL),
41042 /* 115516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41043 /* 115518 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41044 /* 115520 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41045 /* 115523 */ GIR_RootConstrainSelectedInstOperands,
41046 /* 115524 */ // GIR_Coverage, 717,
41047 /* 115524 */ GIR_EraseRootFromParent_Done,
41048 /* 115525 */ // Label 3221: @115525
41049 /* 115525 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3222*/ GIMT_Encode4(115558), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 721 //
41050 /* 115532 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41051 /* 115532 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41052 /* 115536 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41053 /* 115542 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41054 /* 115546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL_ND),
41055 /* 115549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41056 /* 115551 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41057 /* 115553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41058 /* 115556 */ GIR_RootConstrainSelectedInstOperands,
41059 /* 115557 */ // GIR_Coverage, 721,
41060 /* 115557 */ GIR_EraseRootFromParent_Done,
41061 /* 115558 */ // Label 3222: @115558
41062 /* 115558 */ GIM_Reject,
41063 /* 115559 */ // Label 3220: @115559
41064 /* 115559 */ GIM_Reject,
41065 /* 115560 */ // Label 3217: @115560
41066 /* 115560 */ GIM_Reject,
41067 /* 115561 */ // Label 3213: @115561
41068 /* 115561 */ GIM_Try, /*On fail goto*//*Label 3223*/ GIMT_Encode4(115721),
41069 /* 115566 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
41070 /* 115569 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41071 /* 115572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41072 /* 115576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41073 /* 115580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3224*/ GIMT_Encode4(115612), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 702 //
41074 /* 115587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41075 /* 115591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41076 /* 115595 */ // MIs[1] Operand 1
41077 /* 115595 */ // No operand predicates
41078 /* 115595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41079 /* 115597 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41080 /* 115597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri),
41081 /* 115600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41082 /* 115602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41083 /* 115604 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41084 /* 115607 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41085 /* 115610 */ GIR_RootConstrainSelectedInstOperands,
41086 /* 115611 */ // GIR_Coverage, 702,
41087 /* 115611 */ GIR_EraseRootFromParent_Done,
41088 /* 115612 */ // Label 3224: @115612
41089 /* 115612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3225*/ GIMT_Encode4(115644), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 706 //
41090 /* 115619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41091 /* 115623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41092 /* 115627 */ // MIs[1] Operand 1
41093 /* 115627 */ // No operand predicates
41094 /* 115627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41095 /* 115629 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41096 /* 115629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri_ND),
41097 /* 115632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41098 /* 115634 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41099 /* 115636 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41100 /* 115639 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41101 /* 115642 */ GIR_RootConstrainSelectedInstOperands,
41102 /* 115643 */ // GIR_Coverage, 706,
41103 /* 115643 */ GIR_EraseRootFromParent_Done,
41104 /* 115644 */ // Label 3225: @115644
41105 /* 115644 */ GIM_Try, /*On fail goto*//*Label 3226*/ GIMT_Encode4(115720),
41106 /* 115649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41107 /* 115653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3227*/ GIMT_Encode4(115686), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 718 //
41108 /* 115660 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41109 /* 115660 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41110 /* 115664 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41111 /* 115670 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41112 /* 115674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL),
41113 /* 115677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41114 /* 115679 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41115 /* 115681 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41116 /* 115684 */ GIR_RootConstrainSelectedInstOperands,
41117 /* 115685 */ // GIR_Coverage, 718,
41118 /* 115685 */ GIR_EraseRootFromParent_Done,
41119 /* 115686 */ // Label 3227: @115686
41120 /* 115686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3228*/ GIMT_Encode4(115719), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 722 //
41121 /* 115693 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41122 /* 115693 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41123 /* 115697 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41124 /* 115703 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41125 /* 115707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL_ND),
41126 /* 115710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41127 /* 115712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41128 /* 115714 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41129 /* 115717 */ GIR_RootConstrainSelectedInstOperands,
41130 /* 115718 */ // GIR_Coverage, 722,
41131 /* 115718 */ GIR_EraseRootFromParent_Done,
41132 /* 115719 */ // Label 3228: @115719
41133 /* 115719 */ GIM_Reject,
41134 /* 115720 */ // Label 3226: @115720
41135 /* 115720 */ GIM_Reject,
41136 /* 115721 */ // Label 3223: @115721
41137 /* 115721 */ GIM_Reject,
41138 /* 115722 */ // Label 3214: @115722
41139 /* 115722 */ GIM_Try, /*On fail goto*//*Label 3229*/ GIMT_Encode4(116258),
41140 /* 115727 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41141 /* 115730 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41142 /* 115733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41143 /* 115737 */ GIM_Try, /*On fail goto*//*Label 3230*/ GIMT_Encode4(115957),
41144 /* 115742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41145 /* 115746 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3231*/ GIMT_Encode4(115851), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17713 //
41146 /* 115753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41147 /* 115757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41148 /* 115761 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41149 /* 115764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41150 /* 115768 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41151 /* 115772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41152 /* 115774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41153 /* 115781 */ // (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] }))
41154 /* 115781 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41155 /* 115784 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41156 /* 115788 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41157 /* 115793 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41158 /* 115795 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41159 /* 115798 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41160 /* 115802 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41161 /* 115807 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41162 /* 115810 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41163 /* 115814 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41164 /* 115817 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41165 /* 115822 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41166 /* 115827 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41167 /* 115832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm),
41168 /* 115835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41169 /* 115837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41170 /* 115841 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41171 /* 115844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41172 /* 115849 */ GIR_RootConstrainSelectedInstOperands,
41173 /* 115850 */ // GIR_Coverage, 17713,
41174 /* 115850 */ GIR_EraseRootFromParent_Done,
41175 /* 115851 */ // Label 3231: @115851
41176 /* 115851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3232*/ GIMT_Encode4(115956), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17745 //
41177 /* 115858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41178 /* 115862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41179 /* 115866 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41180 /* 115869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41181 /* 115873 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41182 /* 115877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41183 /* 115879 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41184 /* 115886 */ // (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] }))
41185 /* 115886 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41186 /* 115889 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41187 /* 115893 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41188 /* 115898 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41189 /* 115900 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41190 /* 115903 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41191 /* 115907 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41192 /* 115912 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41193 /* 115915 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41194 /* 115919 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41195 /* 115922 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41196 /* 115927 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41197 /* 115932 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41198 /* 115937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm_EVEX),
41199 /* 115940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41200 /* 115942 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41201 /* 115946 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41202 /* 115949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41203 /* 115954 */ GIR_RootConstrainSelectedInstOperands,
41204 /* 115955 */ // GIR_Coverage, 17745,
41205 /* 115955 */ GIR_EraseRootFromParent_Done,
41206 /* 115956 */ // Label 3232: @115956
41207 /* 115956 */ GIM_Reject,
41208 /* 115957 */ // Label 3230: @115957
41209 /* 115957 */ GIM_Try, /*On fail goto*//*Label 3233*/ GIMT_Encode4(116257),
41210 /* 115962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41211 /* 115966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3234*/ GIMT_Encode4(115998), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 703 //
41212 /* 115973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41213 /* 115977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41214 /* 115981 */ // MIs[1] Operand 1
41215 /* 115981 */ // No operand predicates
41216 /* 115981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41217 /* 115983 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41218 /* 115983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri),
41219 /* 115986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41220 /* 115988 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41221 /* 115990 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41222 /* 115993 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41223 /* 115996 */ GIR_RootConstrainSelectedInstOperands,
41224 /* 115997 */ // GIR_Coverage, 703,
41225 /* 115997 */ GIR_EraseRootFromParent_Done,
41226 /* 115998 */ // Label 3234: @115998
41227 /* 115998 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3235*/ GIMT_Encode4(116030), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 707 //
41228 /* 116005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41229 /* 116009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41230 /* 116013 */ // MIs[1] Operand 1
41231 /* 116013 */ // No operand predicates
41232 /* 116013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41233 /* 116015 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41234 /* 116015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri_ND),
41235 /* 116018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41236 /* 116020 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41237 /* 116022 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41238 /* 116025 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41239 /* 116028 */ GIR_RootConstrainSelectedInstOperands,
41240 /* 116029 */ // GIR_Coverage, 707,
41241 /* 116029 */ GIR_EraseRootFromParent_Done,
41242 /* 116030 */ // Label 3235: @116030
41243 /* 116030 */ GIM_Try, /*On fail goto*//*Label 3236*/ GIMT_Encode4(116180),
41244 /* 116035 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41245 /* 116039 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3237*/ GIMT_Encode4(116109), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17709 //
41246 /* 116046 */ // (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] }))
41247 /* 116046 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41248 /* 116049 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41249 /* 116053 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41250 /* 116058 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41251 /* 116060 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41252 /* 116063 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41253 /* 116067 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41254 /* 116072 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41255 /* 116075 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41256 /* 116079 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41257 /* 116082 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41258 /* 116087 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41259 /* 116092 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41260 /* 116097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr),
41261 /* 116100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41262 /* 116102 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41263 /* 116104 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41264 /* 116107 */ GIR_RootConstrainSelectedInstOperands,
41265 /* 116108 */ // GIR_Coverage, 17709,
41266 /* 116108 */ GIR_EraseRootFromParent_Done,
41267 /* 116109 */ // Label 3237: @116109
41268 /* 116109 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3238*/ GIMT_Encode4(116179), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17741 //
41269 /* 116116 */ // (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] }))
41270 /* 116116 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41271 /* 116119 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41272 /* 116123 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41273 /* 116128 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41274 /* 116130 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41275 /* 116133 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41276 /* 116137 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41277 /* 116142 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41278 /* 116145 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41279 /* 116149 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41280 /* 116152 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41281 /* 116157 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41282 /* 116162 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41283 /* 116167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr_EVEX),
41284 /* 116170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41285 /* 116172 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41286 /* 116174 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41287 /* 116177 */ GIR_RootConstrainSelectedInstOperands,
41288 /* 116178 */ // GIR_Coverage, 17741,
41289 /* 116178 */ GIR_EraseRootFromParent_Done,
41290 /* 116179 */ // Label 3238: @116179
41291 /* 116179 */ GIM_Reject,
41292 /* 116180 */ // Label 3236: @116180
41293 /* 116180 */ GIM_Try, /*On fail goto*//*Label 3239*/ GIMT_Encode4(116256),
41294 /* 116185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41295 /* 116189 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3240*/ GIMT_Encode4(116222), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 719 //
41296 /* 116196 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41297 /* 116196 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41298 /* 116200 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41299 /* 116206 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41300 /* 116210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL),
41301 /* 116213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41302 /* 116215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41303 /* 116217 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41304 /* 116220 */ GIR_RootConstrainSelectedInstOperands,
41305 /* 116221 */ // GIR_Coverage, 719,
41306 /* 116221 */ GIR_EraseRootFromParent_Done,
41307 /* 116222 */ // Label 3240: @116222
41308 /* 116222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3241*/ GIMT_Encode4(116255), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 723 //
41309 /* 116229 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41310 /* 116229 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41311 /* 116233 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41312 /* 116239 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41313 /* 116243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL_ND),
41314 /* 116246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41315 /* 116248 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41316 /* 116250 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41317 /* 116253 */ GIR_RootConstrainSelectedInstOperands,
41318 /* 116254 */ // GIR_Coverage, 723,
41319 /* 116254 */ GIR_EraseRootFromParent_Done,
41320 /* 116255 */ // Label 3241: @116255
41321 /* 116255 */ GIM_Reject,
41322 /* 116256 */ // Label 3239: @116256
41323 /* 116256 */ GIM_Reject,
41324 /* 116257 */ // Label 3233: @116257
41325 /* 116257 */ GIM_Reject,
41326 /* 116258 */ // Label 3229: @116258
41327 /* 116258 */ GIM_Reject,
41328 /* 116259 */ // Label 3215: @116259
41329 /* 116259 */ GIM_Try, /*On fail goto*//*Label 3242*/ GIMT_Encode4(116795),
41330 /* 116264 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
41331 /* 116267 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41332 /* 116270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41333 /* 116274 */ GIM_Try, /*On fail goto*//*Label 3243*/ GIMT_Encode4(116494),
41334 /* 116279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41335 /* 116283 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3244*/ GIMT_Encode4(116388), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17714 //
41336 /* 116290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41337 /* 116294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41338 /* 116298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41339 /* 116301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41340 /* 116305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41341 /* 116309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41342 /* 116311 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41343 /* 116318 */ // (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] }))
41344 /* 116318 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41345 /* 116321 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41346 /* 116325 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41347 /* 116330 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41348 /* 116332 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41349 /* 116335 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41350 /* 116339 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41351 /* 116344 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41352 /* 116347 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41353 /* 116351 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41354 /* 116354 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41355 /* 116359 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41356 /* 116364 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41357 /* 116369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm),
41358 /* 116372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41359 /* 116374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41360 /* 116378 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41361 /* 116381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41362 /* 116386 */ GIR_RootConstrainSelectedInstOperands,
41363 /* 116387 */ // GIR_Coverage, 17714,
41364 /* 116387 */ GIR_EraseRootFromParent_Done,
41365 /* 116388 */ // Label 3244: @116388
41366 /* 116388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3245*/ GIMT_Encode4(116493), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17746 //
41367 /* 116395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41368 /* 116399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41369 /* 116403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41370 /* 116406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41371 /* 116410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41372 /* 116414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41373 /* 116416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41374 /* 116423 */ // (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] }))
41375 /* 116423 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41376 /* 116426 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41377 /* 116430 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41378 /* 116435 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41379 /* 116437 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41380 /* 116440 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41381 /* 116444 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41382 /* 116449 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41383 /* 116452 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41384 /* 116456 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41385 /* 116459 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41386 /* 116464 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41387 /* 116469 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41388 /* 116474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm_EVEX),
41389 /* 116477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41390 /* 116479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41391 /* 116483 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41392 /* 116486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41393 /* 116491 */ GIR_RootConstrainSelectedInstOperands,
41394 /* 116492 */ // GIR_Coverage, 17746,
41395 /* 116492 */ GIR_EraseRootFromParent_Done,
41396 /* 116493 */ // Label 3245: @116493
41397 /* 116493 */ GIM_Reject,
41398 /* 116494 */ // Label 3243: @116494
41399 /* 116494 */ GIM_Try, /*On fail goto*//*Label 3246*/ GIMT_Encode4(116794),
41400 /* 116499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41401 /* 116503 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3247*/ GIMT_Encode4(116535), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 704 //
41402 /* 116510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41403 /* 116514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41404 /* 116518 */ // MIs[1] Operand 1
41405 /* 116518 */ // No operand predicates
41406 /* 116518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41407 /* 116520 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41408 /* 116520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri),
41409 /* 116523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41410 /* 116525 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41411 /* 116527 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41412 /* 116530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41413 /* 116533 */ GIR_RootConstrainSelectedInstOperands,
41414 /* 116534 */ // GIR_Coverage, 704,
41415 /* 116534 */ GIR_EraseRootFromParent_Done,
41416 /* 116535 */ // Label 3247: @116535
41417 /* 116535 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3248*/ GIMT_Encode4(116567), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 708 //
41418 /* 116542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41419 /* 116546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41420 /* 116550 */ // MIs[1] Operand 1
41421 /* 116550 */ // No operand predicates
41422 /* 116550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41423 /* 116552 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41424 /* 116552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri_ND),
41425 /* 116555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41426 /* 116557 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41427 /* 116559 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41428 /* 116562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41429 /* 116565 */ GIR_RootConstrainSelectedInstOperands,
41430 /* 116566 */ // GIR_Coverage, 708,
41431 /* 116566 */ GIR_EraseRootFromParent_Done,
41432 /* 116567 */ // Label 3248: @116567
41433 /* 116567 */ GIM_Try, /*On fail goto*//*Label 3249*/ GIMT_Encode4(116717),
41434 /* 116572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41435 /* 116576 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3250*/ GIMT_Encode4(116646), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17710 //
41436 /* 116583 */ // (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] }))
41437 /* 116583 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41438 /* 116586 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41439 /* 116590 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41440 /* 116595 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41441 /* 116597 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41442 /* 116600 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41443 /* 116604 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41444 /* 116609 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41445 /* 116612 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41446 /* 116616 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41447 /* 116619 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41448 /* 116624 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41449 /* 116629 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41450 /* 116634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr),
41451 /* 116637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41452 /* 116639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41453 /* 116641 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41454 /* 116644 */ GIR_RootConstrainSelectedInstOperands,
41455 /* 116645 */ // GIR_Coverage, 17710,
41456 /* 116645 */ GIR_EraseRootFromParent_Done,
41457 /* 116646 */ // Label 3250: @116646
41458 /* 116646 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3251*/ GIMT_Encode4(116716), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17742 //
41459 /* 116653 */ // (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] }))
41460 /* 116653 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41461 /* 116656 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41462 /* 116660 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41463 /* 116665 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41464 /* 116667 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41465 /* 116670 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41466 /* 116674 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41467 /* 116679 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41468 /* 116682 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41469 /* 116686 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41470 /* 116689 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41471 /* 116694 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41472 /* 116699 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41473 /* 116704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr_EVEX),
41474 /* 116707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41475 /* 116709 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41476 /* 116711 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41477 /* 116714 */ GIR_RootConstrainSelectedInstOperands,
41478 /* 116715 */ // GIR_Coverage, 17742,
41479 /* 116715 */ GIR_EraseRootFromParent_Done,
41480 /* 116716 */ // Label 3251: @116716
41481 /* 116716 */ GIM_Reject,
41482 /* 116717 */ // Label 3249: @116717
41483 /* 116717 */ GIM_Try, /*On fail goto*//*Label 3252*/ GIMT_Encode4(116793),
41484 /* 116722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41485 /* 116726 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3253*/ GIMT_Encode4(116759), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 720 //
41486 /* 116733 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41487 /* 116733 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41488 /* 116737 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41489 /* 116743 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41490 /* 116747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL),
41491 /* 116750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41492 /* 116752 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41493 /* 116754 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41494 /* 116757 */ GIR_RootConstrainSelectedInstOperands,
41495 /* 116758 */ // GIR_Coverage, 720,
41496 /* 116758 */ GIR_EraseRootFromParent_Done,
41497 /* 116759 */ // Label 3253: @116759
41498 /* 116759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3254*/ GIMT_Encode4(116792), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 724 //
41499 /* 116766 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41500 /* 116766 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41501 /* 116770 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41502 /* 116776 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41503 /* 116780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL_ND),
41504 /* 116783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41505 /* 116785 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41506 /* 116787 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41507 /* 116790 */ GIR_RootConstrainSelectedInstOperands,
41508 /* 116791 */ // GIR_Coverage, 724,
41509 /* 116791 */ GIR_EraseRootFromParent_Done,
41510 /* 116792 */ // Label 3254: @116792
41511 /* 116792 */ GIM_Reject,
41512 /* 116793 */ // Label 3252: @116793
41513 /* 116793 */ GIM_Reject,
41514 /* 116794 */ // Label 3246: @116794
41515 /* 116794 */ GIM_Reject,
41516 /* 116795 */ // Label 3242: @116795
41517 /* 116795 */ GIM_Reject,
41518 /* 116796 */ // Label 3216: @116796
41519 /* 116796 */ GIM_Reject,
41520 /* 116797 */ // Label 32: @116797
41521 /* 116797 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 3266*/ GIMT_Encode4(119477),
41522 /* 116808 */ /*GILLT_s32*//*Label 3255*/ GIMT_Encode4(116896),
41523 /* 116812 */ /*GILLT_s64*//*Label 3256*/ GIMT_Encode4(117072), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
41524 /* 116860 */ /*GILLT_v8s16*//*Label 3257*/ GIMT_Encode4(117248),
41525 /* 116864 */ /*GILLT_v16s16*//*Label 3258*/ GIMT_Encode4(117577),
41526 /* 116868 */ /*GILLT_v32s16*//*Label 3259*/ GIMT_Encode4(117890),
41527 /* 116872 */ /*GILLT_v4s32*//*Label 3260*/ GIMT_Encode4(117991),
41528 /* 116876 */ /*GILLT_v8s32*//*Label 3261*/ GIMT_Encode4(118320),
41529 /* 116880 */ /*GILLT_v16s32*//*Label 3262*/ GIMT_Encode4(118633),
41530 /* 116884 */ /*GILLT_v2s64*//*Label 3263*/ GIMT_Encode4(118734),
41531 /* 116888 */ /*GILLT_v4s64*//*Label 3264*/ GIMT_Encode4(119063),
41532 /* 116892 */ /*GILLT_v8s64*//*Label 3265*/ GIMT_Encode4(119376),
41533 /* 116896 */ // Label 3255: @116896
41534 /* 116896 */ GIM_Try, /*On fail goto*//*Label 3267*/ GIMT_Encode4(117071),
41535 /* 116901 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41536 /* 116904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
41537 /* 116907 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
41538 /* 116910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41539 /* 116914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41540 /* 116918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41541 /* 116922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3268*/ GIMT_Encode4(116956), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 798 //
41542 /* 116929 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41543 /* 116933 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41544 /* 116937 */ // MIs[1] Operand 1
41545 /* 116937 */ // No operand predicates
41546 /* 116937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41547 /* 116939 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
41548 /* 116939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8),
41549 /* 116942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41550 /* 116944 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41551 /* 116946 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41552 /* 116948 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
41553 /* 116951 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41554 /* 116954 */ GIR_RootConstrainSelectedInstOperands,
41555 /* 116955 */ // GIR_Coverage, 798,
41556 /* 116955 */ GIR_EraseRootFromParent_Done,
41557 /* 116956 */ // Label 3268: @116956
41558 /* 116956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3269*/ GIMT_Encode4(116990), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 804 //
41559 /* 116963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41560 /* 116967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41561 /* 116971 */ // MIs[1] Operand 1
41562 /* 116971 */ // No operand predicates
41563 /* 116971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41564 /* 116973 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
41565 /* 116973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8_ND),
41566 /* 116976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41567 /* 116978 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41568 /* 116980 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41569 /* 116982 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
41570 /* 116985 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41571 /* 116988 */ GIR_RootConstrainSelectedInstOperands,
41572 /* 116989 */ // GIR_Coverage, 804,
41573 /* 116989 */ GIR_EraseRootFromParent_Done,
41574 /* 116990 */ // Label 3269: @116990
41575 /* 116990 */ GIM_Try, /*On fail goto*//*Label 3270*/ GIMT_Encode4(117070),
41576 /* 116995 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41577 /* 116999 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3271*/ GIMT_Encode4(117034), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 801 //
41578 /* 117006 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
41579 /* 117006 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41580 /* 117010 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41581 /* 117016 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
41582 /* 117020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL),
41583 /* 117023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41584 /* 117025 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41585 /* 117027 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41586 /* 117029 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41587 /* 117032 */ GIR_RootConstrainSelectedInstOperands,
41588 /* 117033 */ // GIR_Coverage, 801,
41589 /* 117033 */ GIR_EraseRootFromParent_Done,
41590 /* 117034 */ // Label 3271: @117034
41591 /* 117034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3272*/ GIMT_Encode4(117069), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 807 //
41592 /* 117041 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
41593 /* 117041 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41594 /* 117045 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41595 /* 117051 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
41596 /* 117055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL_ND),
41597 /* 117058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41598 /* 117060 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41599 /* 117062 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41600 /* 117064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41601 /* 117067 */ GIR_RootConstrainSelectedInstOperands,
41602 /* 117068 */ // GIR_Coverage, 807,
41603 /* 117068 */ GIR_EraseRootFromParent_Done,
41604 /* 117069 */ // Label 3272: @117069
41605 /* 117069 */ GIM_Reject,
41606 /* 117070 */ // Label 3270: @117070
41607 /* 117070 */ GIM_Reject,
41608 /* 117071 */ // Label 3267: @117071
41609 /* 117071 */ GIM_Reject,
41610 /* 117072 */ // Label 3256: @117072
41611 /* 117072 */ GIM_Try, /*On fail goto*//*Label 3273*/ GIMT_Encode4(117247),
41612 /* 117077 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
41613 /* 117080 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
41614 /* 117083 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
41615 /* 117086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41616 /* 117090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41617 /* 117094 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41618 /* 117098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3274*/ GIMT_Encode4(117132), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 799 //
41619 /* 117105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41620 /* 117109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41621 /* 117113 */ // MIs[1] Operand 1
41622 /* 117113 */ // No operand predicates
41623 /* 117113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41624 /* 117115 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
41625 /* 117115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8),
41626 /* 117118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41627 /* 117120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41628 /* 117122 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41629 /* 117124 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
41630 /* 117127 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41631 /* 117130 */ GIR_RootConstrainSelectedInstOperands,
41632 /* 117131 */ // GIR_Coverage, 799,
41633 /* 117131 */ GIR_EraseRootFromParent_Done,
41634 /* 117132 */ // Label 3274: @117132
41635 /* 117132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3275*/ GIMT_Encode4(117166), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 805 //
41636 /* 117139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41637 /* 117143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41638 /* 117147 */ // MIs[1] Operand 1
41639 /* 117147 */ // No operand predicates
41640 /* 117147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41641 /* 117149 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
41642 /* 117149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8_ND),
41643 /* 117152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41644 /* 117154 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41645 /* 117156 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41646 /* 117158 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
41647 /* 117161 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41648 /* 117164 */ GIR_RootConstrainSelectedInstOperands,
41649 /* 117165 */ // GIR_Coverage, 805,
41650 /* 117165 */ GIR_EraseRootFromParent_Done,
41651 /* 117166 */ // Label 3275: @117166
41652 /* 117166 */ GIM_Try, /*On fail goto*//*Label 3276*/ GIMT_Encode4(117246),
41653 /* 117171 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41654 /* 117175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3277*/ GIMT_Encode4(117210), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 802 //
41655 /* 117182 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
41656 /* 117182 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41657 /* 117186 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41658 /* 117192 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
41659 /* 117196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL),
41660 /* 117199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41661 /* 117201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41662 /* 117203 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41663 /* 117205 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41664 /* 117208 */ GIR_RootConstrainSelectedInstOperands,
41665 /* 117209 */ // GIR_Coverage, 802,
41666 /* 117209 */ GIR_EraseRootFromParent_Done,
41667 /* 117210 */ // Label 3277: @117210
41668 /* 117210 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3278*/ GIMT_Encode4(117245), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 808 //
41669 /* 117217 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
41670 /* 117217 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41671 /* 117221 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41672 /* 117227 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
41673 /* 117231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL_ND),
41674 /* 117234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41675 /* 117236 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41676 /* 117238 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41677 /* 117240 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41678 /* 117243 */ GIR_RootConstrainSelectedInstOperands,
41679 /* 117244 */ // GIR_Coverage, 808,
41680 /* 117244 */ GIR_EraseRootFromParent_Done,
41681 /* 117245 */ // Label 3278: @117245
41682 /* 117245 */ GIM_Reject,
41683 /* 117246 */ // Label 3276: @117246
41684 /* 117246 */ GIM_Reject,
41685 /* 117247 */ // Label 3273: @117247
41686 /* 117247 */ GIM_Reject,
41687 /* 117248 */ // Label 3257: @117248
41688 /* 117248 */ GIM_Try, /*On fail goto*//*Label 3279*/ GIMT_Encode4(117576),
41689 /* 117253 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
41690 /* 117256 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
41691 /* 117259 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
41692 /* 117262 */ GIM_Try, /*On fail goto*//*Label 3280*/ GIMT_Encode4(117353),
41693 /* 117267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41694 /* 117271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41695 /* 117275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41696 /* 117279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3281*/ GIMT_Encode4(117334), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14108 //
41697 /* 117286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41698 /* 117290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41699 /* 117294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41700 /* 117297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41701 /* 117301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41702 /* 117305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41703 /* 117307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41704 /* 117314 */ // (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)
41705 /* 117314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128m),
41706 /* 117317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41707 /* 117319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41708 /* 117321 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41709 /* 117323 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
41710 /* 117327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41711 /* 117332 */ GIR_RootConstrainSelectedInstOperands,
41712 /* 117333 */ // GIR_Coverage, 14108,
41713 /* 117333 */ GIR_EraseRootFromParent_Done,
41714 /* 117334 */ // Label 3281: @117334
41715 /* 117334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3282*/ GIMT_Encode4(117352), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14105 //
41716 /* 117341 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41717 /* 117345 */ // (fshl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3) => (VPSHLDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
41718 /* 117345 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128r),
41719 /* 117350 */ GIR_RootConstrainSelectedInstOperands,
41720 /* 117351 */ // GIR_Coverage, 14105,
41721 /* 117351 */ GIR_Done,
41722 /* 117352 */ // Label 3282: @117352
41723 /* 117352 */ GIM_Reject,
41724 /* 117353 */ // Label 3280: @117353
41725 /* 117353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3283*/ GIMT_Encode4(117575), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22309 //
41726 /* 117360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
41727 /* 117364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41728 /* 117368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41729 /* 117372 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41730 /* 117376 */ // (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] })
41731 /* 117376 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
41732 /* 117379 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41733 /* 117383 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41734 /* 117388 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
41735 /* 117390 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
41736 /* 117393 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41737 /* 117397 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41738 /* 117402 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
41739 /* 117405 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
41740 /* 117409 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
41741 /* 117412 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41742 /* 117417 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41743 /* 117422 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41744 /* 117427 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
41745 /* 117430 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41746 /* 117434 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41747 /* 117439 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
41748 /* 117441 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
41749 /* 117444 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41750 /* 117448 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41751 /* 117453 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
41752 /* 117456 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
41753 /* 117460 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
41754 /* 117463 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41755 /* 117468 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41756 /* 117473 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41757 /* 117478 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
41758 /* 117481 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41759 /* 117485 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41760 /* 117490 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
41761 /* 117492 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
41762 /* 117495 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41763 /* 117499 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41764 /* 117504 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
41765 /* 117507 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
41766 /* 117511 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
41767 /* 117514 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41768 /* 117519 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41769 /* 117524 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41770 /* 117529 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
41771 /* 117532 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
41772 /* 117536 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41773 /* 117541 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41774 /* 117544 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
41775 /* 117547 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
41776 /* 117550 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
41777 /* 117552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41778 /* 117555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41779 /* 117557 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
41780 /* 117564 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
41781 /* 117569 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41782 /* 117574 */ // GIR_Coverage, 22309,
41783 /* 117574 */ GIR_EraseRootFromParent_Done,
41784 /* 117575 */ // Label 3283: @117575
41785 /* 117575 */ GIM_Reject,
41786 /* 117576 */ // Label 3279: @117576
41787 /* 117576 */ GIM_Reject,
41788 /* 117577 */ // Label 3258: @117577
41789 /* 117577 */ GIM_Try, /*On fail goto*//*Label 3284*/ GIMT_Encode4(117889),
41790 /* 117582 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
41791 /* 117585 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
41792 /* 117588 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
41793 /* 117591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41794 /* 117595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41795 /* 117599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41796 /* 117603 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3285*/ GIMT_Encode4(117658), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14102 //
41797 /* 117610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41798 /* 117614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41799 /* 117618 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41800 /* 117621 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41801 /* 117625 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41802 /* 117629 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41803 /* 117631 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41804 /* 117638 */ // (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)
41805 /* 117638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256m),
41806 /* 117641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41807 /* 117643 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41808 /* 117645 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41809 /* 117647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
41810 /* 117651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41811 /* 117656 */ GIR_RootConstrainSelectedInstOperands,
41812 /* 117657 */ // GIR_Coverage, 14102,
41813 /* 117657 */ GIR_EraseRootFromParent_Done,
41814 /* 117658 */ // Label 3285: @117658
41815 /* 117658 */ GIM_Try, /*On fail goto*//*Label 3286*/ GIMT_Encode4(117888),
41816 /* 117663 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41817 /* 117667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3287*/ GIMT_Encode4(117681), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14099 //
41818 /* 117674 */ // (fshl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3) => (VPSHLDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
41819 /* 117674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256r),
41820 /* 117679 */ GIR_RootConstrainSelectedInstOperands,
41821 /* 117680 */ // GIR_Coverage, 14099,
41822 /* 117680 */ GIR_Done,
41823 /* 117681 */ // Label 3287: @117681
41824 /* 117681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3288*/ GIMT_Encode4(117887), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22305 //
41825 /* 117688 */ // (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] })
41826 /* 117688 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
41827 /* 117691 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41828 /* 117695 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41829 /* 117700 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
41830 /* 117702 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
41831 /* 117705 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41832 /* 117709 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41833 /* 117714 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
41834 /* 117717 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
41835 /* 117721 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
41836 /* 117724 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41837 /* 117729 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41838 /* 117734 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
41839 /* 117739 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
41840 /* 117742 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41841 /* 117746 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41842 /* 117751 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
41843 /* 117753 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
41844 /* 117756 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41845 /* 117760 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41846 /* 117765 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
41847 /* 117768 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
41848 /* 117772 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
41849 /* 117775 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41850 /* 117780 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41851 /* 117785 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
41852 /* 117790 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
41853 /* 117793 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41854 /* 117797 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41855 /* 117802 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
41856 /* 117804 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
41857 /* 117807 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41858 /* 117811 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41859 /* 117816 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
41860 /* 117819 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
41861 /* 117823 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
41862 /* 117826 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41863 /* 117831 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41864 /* 117836 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
41865 /* 117841 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
41866 /* 117844 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
41867 /* 117848 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41868 /* 117853 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41869 /* 117856 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
41870 /* 117859 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
41871 /* 117862 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
41872 /* 117864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41873 /* 117867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41874 /* 117869 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
41875 /* 117876 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
41876 /* 117881 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41877 /* 117886 */ // GIR_Coverage, 22305,
41878 /* 117886 */ GIR_EraseRootFromParent_Done,
41879 /* 117887 */ // Label 3288: @117887
41880 /* 117887 */ GIM_Reject,
41881 /* 117888 */ // Label 3286: @117888
41882 /* 117888 */ GIM_Reject,
41883 /* 117889 */ // Label 3284: @117889
41884 /* 117889 */ GIM_Reject,
41885 /* 117890 */ // Label 3259: @117890
41886 /* 117890 */ GIM_Try, /*On fail goto*//*Label 3289*/ GIMT_Encode4(117990),
41887 /* 117895 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
41888 /* 117898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
41889 /* 117901 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
41890 /* 117904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41891 /* 117908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41892 /* 117912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41893 /* 117916 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3290*/ GIMT_Encode4(117971), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14096 //
41894 /* 117923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41895 /* 117927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41896 /* 117931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41897 /* 117934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41898 /* 117938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41899 /* 117942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41900 /* 117944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41901 /* 117951 */ // (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)
41902 /* 117951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZm),
41903 /* 117954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41904 /* 117956 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41905 /* 117958 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41906 /* 117960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
41907 /* 117964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41908 /* 117969 */ GIR_RootConstrainSelectedInstOperands,
41909 /* 117970 */ // GIR_Coverage, 14096,
41910 /* 117970 */ GIR_EraseRootFromParent_Done,
41911 /* 117971 */ // Label 3290: @117971
41912 /* 117971 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3291*/ GIMT_Encode4(117989), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14093 //
41913 /* 117978 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41914 /* 117982 */ // (fshl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3) => (VPSHLDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
41915 /* 117982 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
41916 /* 117987 */ GIR_RootConstrainSelectedInstOperands,
41917 /* 117988 */ // GIR_Coverage, 14093,
41918 /* 117988 */ GIR_Done,
41919 /* 117989 */ // Label 3291: @117989
41920 /* 117989 */ GIM_Reject,
41921 /* 117990 */ // Label 3289: @117990
41922 /* 117990 */ GIM_Reject,
41923 /* 117991 */ // Label 3260: @117991
41924 /* 117991 */ GIM_Try, /*On fail goto*//*Label 3292*/ GIMT_Encode4(118319),
41925 /* 117996 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
41926 /* 117999 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
41927 /* 118002 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
41928 /* 118005 */ GIM_Try, /*On fail goto*//*Label 3293*/ GIMT_Encode4(118096),
41929 /* 118010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41930 /* 118014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41931 /* 118018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41932 /* 118022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3294*/ GIMT_Encode4(118077), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14132 //
41933 /* 118029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41934 /* 118033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41935 /* 118037 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41936 /* 118040 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41937 /* 118044 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41938 /* 118048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41939 /* 118050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41940 /* 118057 */ // (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)
41941 /* 118057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128m),
41942 /* 118060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41943 /* 118062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41944 /* 118064 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41945 /* 118066 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
41946 /* 118070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41947 /* 118075 */ GIR_RootConstrainSelectedInstOperands,
41948 /* 118076 */ // GIR_Coverage, 14132,
41949 /* 118076 */ GIR_EraseRootFromParent_Done,
41950 /* 118077 */ // Label 3294: @118077
41951 /* 118077 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3295*/ GIMT_Encode4(118095), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14129 //
41952 /* 118084 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41953 /* 118088 */ // (fshl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3) => (VPSHLDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
41954 /* 118088 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128r),
41955 /* 118093 */ GIR_RootConstrainSelectedInstOperands,
41956 /* 118094 */ // GIR_Coverage, 14129,
41957 /* 118094 */ GIR_Done,
41958 /* 118095 */ // Label 3295: @118095
41959 /* 118095 */ GIM_Reject,
41960 /* 118096 */ // Label 3293: @118096
41961 /* 118096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3296*/ GIMT_Encode4(118318), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22301 //
41962 /* 118103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
41963 /* 118107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41964 /* 118111 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41965 /* 118115 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41966 /* 118119 */ // (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] })
41967 /* 118119 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
41968 /* 118122 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41969 /* 118126 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41970 /* 118131 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
41971 /* 118133 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
41972 /* 118136 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41973 /* 118140 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41974 /* 118145 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
41975 /* 118148 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
41976 /* 118152 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
41977 /* 118155 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41978 /* 118160 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41979 /* 118165 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41980 /* 118170 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
41981 /* 118173 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41982 /* 118177 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41983 /* 118182 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
41984 /* 118184 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
41985 /* 118187 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41986 /* 118191 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41987 /* 118196 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
41988 /* 118199 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
41989 /* 118203 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
41990 /* 118206 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41991 /* 118211 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41992 /* 118216 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41993 /* 118221 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
41994 /* 118224 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41995 /* 118228 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41996 /* 118233 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
41997 /* 118235 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
41998 /* 118238 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41999 /* 118242 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42000 /* 118247 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42001 /* 118250 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42002 /* 118254 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42003 /* 118257 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42004 /* 118262 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42005 /* 118267 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42006 /* 118272 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42007 /* 118275 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42008 /* 118279 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42009 /* 118284 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42010 /* 118287 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42011 /* 118290 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42012 /* 118293 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42013 /* 118295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42014 /* 118298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42015 /* 118300 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42016 /* 118307 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42017 /* 118312 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42018 /* 118317 */ // GIR_Coverage, 22301,
42019 /* 118317 */ GIR_EraseRootFromParent_Done,
42020 /* 118318 */ // Label 3296: @118318
42021 /* 118318 */ GIM_Reject,
42022 /* 118319 */ // Label 3292: @118319
42023 /* 118319 */ GIM_Reject,
42024 /* 118320 */ // Label 3261: @118320
42025 /* 118320 */ GIM_Try, /*On fail goto*//*Label 3297*/ GIMT_Encode4(118632),
42026 /* 118325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
42027 /* 118328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
42028 /* 118331 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
42029 /* 118334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42030 /* 118338 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42031 /* 118342 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42032 /* 118346 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3298*/ GIMT_Encode4(118401), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14123 //
42033 /* 118353 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42034 /* 118357 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42035 /* 118361 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42036 /* 118364 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42037 /* 118368 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42038 /* 118372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42039 /* 118374 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42040 /* 118381 */ // (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)
42041 /* 118381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256m),
42042 /* 118384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42043 /* 118386 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42044 /* 118388 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42045 /* 118390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42046 /* 118394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42047 /* 118399 */ GIR_RootConstrainSelectedInstOperands,
42048 /* 118400 */ // GIR_Coverage, 14123,
42049 /* 118400 */ GIR_EraseRootFromParent_Done,
42050 /* 118401 */ // Label 3298: @118401
42051 /* 118401 */ GIM_Try, /*On fail goto*//*Label 3299*/ GIMT_Encode4(118631),
42052 /* 118406 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42053 /* 118410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3300*/ GIMT_Encode4(118424), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14120 //
42054 /* 118417 */ // (fshl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3) => (VPSHLDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
42055 /* 118417 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256r),
42056 /* 118422 */ GIR_RootConstrainSelectedInstOperands,
42057 /* 118423 */ // GIR_Coverage, 14120,
42058 /* 118423 */ GIR_Done,
42059 /* 118424 */ // Label 3300: @118424
42060 /* 118424 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3301*/ GIMT_Encode4(118630), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22297 //
42061 /* 118431 */ // (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] })
42062 /* 118431 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42063 /* 118434 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42064 /* 118438 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42065 /* 118443 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42066 /* 118445 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42067 /* 118448 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42068 /* 118452 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42069 /* 118457 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42070 /* 118460 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42071 /* 118464 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42072 /* 118467 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42073 /* 118472 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42074 /* 118477 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42075 /* 118482 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42076 /* 118485 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42077 /* 118489 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42078 /* 118494 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42079 /* 118496 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42080 /* 118499 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42081 /* 118503 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42082 /* 118508 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42083 /* 118511 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42084 /* 118515 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42085 /* 118518 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42086 /* 118523 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42087 /* 118528 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42088 /* 118533 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42089 /* 118536 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42090 /* 118540 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42091 /* 118545 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42092 /* 118547 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42093 /* 118550 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42094 /* 118554 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42095 /* 118559 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42096 /* 118562 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42097 /* 118566 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42098 /* 118569 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42099 /* 118574 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42100 /* 118579 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42101 /* 118584 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42102 /* 118587 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42103 /* 118591 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42104 /* 118596 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42105 /* 118599 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42106 /* 118602 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42107 /* 118605 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42108 /* 118607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42109 /* 118610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42110 /* 118612 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42111 /* 118619 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42112 /* 118624 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42113 /* 118629 */ // GIR_Coverage, 22297,
42114 /* 118629 */ GIR_EraseRootFromParent_Done,
42115 /* 118630 */ // Label 3301: @118630
42116 /* 118630 */ GIM_Reject,
42117 /* 118631 */ // Label 3299: @118631
42118 /* 118631 */ GIM_Reject,
42119 /* 118632 */ // Label 3297: @118632
42120 /* 118632 */ GIM_Reject,
42121 /* 118633 */ // Label 3262: @118633
42122 /* 118633 */ GIM_Try, /*On fail goto*//*Label 3302*/ GIMT_Encode4(118733),
42123 /* 118638 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
42124 /* 118641 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
42125 /* 118644 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
42126 /* 118647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42127 /* 118651 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42128 /* 118655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42129 /* 118659 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3303*/ GIMT_Encode4(118714), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14114 //
42130 /* 118666 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42131 /* 118670 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42132 /* 118674 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42133 /* 118677 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42134 /* 118681 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42135 /* 118685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42136 /* 118687 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42137 /* 118694 */ // (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)
42138 /* 118694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZm),
42139 /* 118697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42140 /* 118699 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42141 /* 118701 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42142 /* 118703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42143 /* 118707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42144 /* 118712 */ GIR_RootConstrainSelectedInstOperands,
42145 /* 118713 */ // GIR_Coverage, 14114,
42146 /* 118713 */ GIR_EraseRootFromParent_Done,
42147 /* 118714 */ // Label 3303: @118714
42148 /* 118714 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3304*/ GIMT_Encode4(118732), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14111 //
42149 /* 118721 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42150 /* 118725 */ // (fshl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3) => (VPSHLDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
42151 /* 118725 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42152 /* 118730 */ GIR_RootConstrainSelectedInstOperands,
42153 /* 118731 */ // GIR_Coverage, 14111,
42154 /* 118731 */ GIR_Done,
42155 /* 118732 */ // Label 3304: @118732
42156 /* 118732 */ GIM_Reject,
42157 /* 118733 */ // Label 3302: @118733
42158 /* 118733 */ GIM_Reject,
42159 /* 118734 */ // Label 3263: @118734
42160 /* 118734 */ GIM_Try, /*On fail goto*//*Label 3305*/ GIMT_Encode4(119062),
42161 /* 118739 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
42162 /* 118742 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
42163 /* 118745 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
42164 /* 118748 */ GIM_Try, /*On fail goto*//*Label 3306*/ GIMT_Encode4(118839),
42165 /* 118753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42166 /* 118757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42167 /* 118761 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42168 /* 118765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3307*/ GIMT_Encode4(118820), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14159 //
42169 /* 118772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42170 /* 118776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42171 /* 118780 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42172 /* 118783 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42173 /* 118787 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42174 /* 118791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42175 /* 118793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42176 /* 118800 */ // (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)
42177 /* 118800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128m),
42178 /* 118803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42179 /* 118805 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42180 /* 118807 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42181 /* 118809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42182 /* 118813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42183 /* 118818 */ GIR_RootConstrainSelectedInstOperands,
42184 /* 118819 */ // GIR_Coverage, 14159,
42185 /* 118819 */ GIR_EraseRootFromParent_Done,
42186 /* 118820 */ // Label 3307: @118820
42187 /* 118820 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3308*/ GIMT_Encode4(118838), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14156 //
42188 /* 118827 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42189 /* 118831 */ // (fshl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3) => (VPSHLDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
42190 /* 118831 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128r),
42191 /* 118836 */ GIR_RootConstrainSelectedInstOperands,
42192 /* 118837 */ // GIR_Coverage, 14156,
42193 /* 118837 */ GIR_Done,
42194 /* 118838 */ // Label 3308: @118838
42195 /* 118838 */ GIM_Reject,
42196 /* 118839 */ // Label 3306: @118839
42197 /* 118839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3309*/ GIMT_Encode4(119061), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22293 //
42198 /* 118846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42199 /* 118850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42200 /* 118854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42201 /* 118858 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42202 /* 118862 */ // (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] })
42203 /* 118862 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
42204 /* 118865 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42205 /* 118869 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42206 /* 118874 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42207 /* 118876 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
42208 /* 118879 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42209 /* 118883 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42210 /* 118888 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42211 /* 118891 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42212 /* 118895 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42213 /* 118898 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42214 /* 118903 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42215 /* 118908 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42216 /* 118913 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
42217 /* 118916 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42218 /* 118920 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42219 /* 118925 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42220 /* 118927 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
42221 /* 118930 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42222 /* 118934 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42223 /* 118939 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42224 /* 118942 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42225 /* 118946 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42226 /* 118949 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42227 /* 118954 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42228 /* 118959 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42229 /* 118964 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
42230 /* 118967 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42231 /* 118971 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42232 /* 118976 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42233 /* 118978 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
42234 /* 118981 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42235 /* 118985 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42236 /* 118990 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42237 /* 118993 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42238 /* 118997 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42239 /* 119000 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42240 /* 119005 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42241 /* 119010 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42242 /* 119015 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42243 /* 119018 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
42244 /* 119022 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42245 /* 119027 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42246 /* 119030 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42247 /* 119033 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42248 /* 119036 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42249 /* 119038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42250 /* 119041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42251 /* 119043 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42252 /* 119050 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42253 /* 119055 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42254 /* 119060 */ // GIR_Coverage, 22293,
42255 /* 119060 */ GIR_EraseRootFromParent_Done,
42256 /* 119061 */ // Label 3309: @119061
42257 /* 119061 */ GIM_Reject,
42258 /* 119062 */ // Label 3305: @119062
42259 /* 119062 */ GIM_Reject,
42260 /* 119063 */ // Label 3264: @119063
42261 /* 119063 */ GIM_Try, /*On fail goto*//*Label 3310*/ GIMT_Encode4(119375),
42262 /* 119068 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
42263 /* 119071 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
42264 /* 119074 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
42265 /* 119077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42266 /* 119081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42267 /* 119085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42268 /* 119089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3311*/ GIMT_Encode4(119144), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14150 //
42269 /* 119096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42270 /* 119100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42271 /* 119104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42272 /* 119107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42273 /* 119111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42274 /* 119115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42275 /* 119117 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42276 /* 119124 */ // (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)
42277 /* 119124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256m),
42278 /* 119127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42279 /* 119129 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42280 /* 119131 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42281 /* 119133 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42282 /* 119137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42283 /* 119142 */ GIR_RootConstrainSelectedInstOperands,
42284 /* 119143 */ // GIR_Coverage, 14150,
42285 /* 119143 */ GIR_EraseRootFromParent_Done,
42286 /* 119144 */ // Label 3311: @119144
42287 /* 119144 */ GIM_Try, /*On fail goto*//*Label 3312*/ GIMT_Encode4(119374),
42288 /* 119149 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42289 /* 119153 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3313*/ GIMT_Encode4(119167), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14147 //
42290 /* 119160 */ // (fshl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3) => (VPSHLDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
42291 /* 119160 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256r),
42292 /* 119165 */ GIR_RootConstrainSelectedInstOperands,
42293 /* 119166 */ // GIR_Coverage, 14147,
42294 /* 119166 */ GIR_Done,
42295 /* 119167 */ // Label 3313: @119167
42296 /* 119167 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3314*/ GIMT_Encode4(119373), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22289 //
42297 /* 119174 */ // (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] })
42298 /* 119174 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
42299 /* 119177 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42300 /* 119181 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42301 /* 119186 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42302 /* 119188 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
42303 /* 119191 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42304 /* 119195 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42305 /* 119200 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42306 /* 119203 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42307 /* 119207 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42308 /* 119210 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42309 /* 119215 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42310 /* 119220 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42311 /* 119225 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
42312 /* 119228 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42313 /* 119232 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42314 /* 119237 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42315 /* 119239 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
42316 /* 119242 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42317 /* 119246 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42318 /* 119251 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42319 /* 119254 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42320 /* 119258 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42321 /* 119261 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42322 /* 119266 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42323 /* 119271 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42324 /* 119276 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
42325 /* 119279 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42326 /* 119283 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42327 /* 119288 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42328 /* 119290 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
42329 /* 119293 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42330 /* 119297 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42331 /* 119302 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42332 /* 119305 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42333 /* 119309 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42334 /* 119312 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42335 /* 119317 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42336 /* 119322 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42337 /* 119327 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42338 /* 119330 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
42339 /* 119334 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42340 /* 119339 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42341 /* 119342 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42342 /* 119345 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42343 /* 119348 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42344 /* 119350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42345 /* 119353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42346 /* 119355 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42347 /* 119362 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42348 /* 119367 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42349 /* 119372 */ // GIR_Coverage, 22289,
42350 /* 119372 */ GIR_EraseRootFromParent_Done,
42351 /* 119373 */ // Label 3314: @119373
42352 /* 119373 */ GIM_Reject,
42353 /* 119374 */ // Label 3312: @119374
42354 /* 119374 */ GIM_Reject,
42355 /* 119375 */ // Label 3310: @119375
42356 /* 119375 */ GIM_Reject,
42357 /* 119376 */ // Label 3265: @119376
42358 /* 119376 */ GIM_Try, /*On fail goto*//*Label 3315*/ GIMT_Encode4(119476),
42359 /* 119381 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
42360 /* 119384 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
42361 /* 119387 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
42362 /* 119390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42363 /* 119394 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42364 /* 119398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42365 /* 119402 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3316*/ GIMT_Encode4(119457), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14141 //
42366 /* 119409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42367 /* 119413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42368 /* 119417 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42369 /* 119420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42370 /* 119424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42371 /* 119428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42372 /* 119430 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42373 /* 119437 */ // (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)
42374 /* 119437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZm),
42375 /* 119440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42376 /* 119442 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42377 /* 119444 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42378 /* 119446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42379 /* 119450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42380 /* 119455 */ GIR_RootConstrainSelectedInstOperands,
42381 /* 119456 */ // GIR_Coverage, 14141,
42382 /* 119456 */ GIR_EraseRootFromParent_Done,
42383 /* 119457 */ // Label 3316: @119457
42384 /* 119457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3317*/ GIMT_Encode4(119475), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14138 //
42385 /* 119464 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42386 /* 119468 */ // (fshl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3) => (VPSHLDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
42387 /* 119468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
42388 /* 119473 */ GIR_RootConstrainSelectedInstOperands,
42389 /* 119474 */ // GIR_Coverage, 14138,
42390 /* 119474 */ GIR_Done,
42391 /* 119475 */ // Label 3317: @119475
42392 /* 119475 */ GIM_Reject,
42393 /* 119476 */ // Label 3315: @119476
42394 /* 119476 */ GIM_Reject,
42395 /* 119477 */ // Label 3266: @119477
42396 /* 119477 */ GIM_Reject,
42397 /* 119478 */ // Label 33: @119478
42398 /* 119478 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 3329*/ GIMT_Encode4(122212),
42399 /* 119489 */ /*GILLT_s32*//*Label 3318*/ GIMT_Encode4(119577),
42400 /* 119493 */ /*GILLT_s64*//*Label 3319*/ GIMT_Encode4(119753), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
42401 /* 119541 */ /*GILLT_v8s16*//*Label 3320*/ GIMT_Encode4(119929),
42402 /* 119545 */ /*GILLT_v16s16*//*Label 3321*/ GIMT_Encode4(120264),
42403 /* 119549 */ /*GILLT_v32s16*//*Label 3322*/ GIMT_Encode4(120583),
42404 /* 119553 */ /*GILLT_v4s32*//*Label 3323*/ GIMT_Encode4(120690),
42405 /* 119557 */ /*GILLT_v8s32*//*Label 3324*/ GIMT_Encode4(121025),
42406 /* 119561 */ /*GILLT_v16s32*//*Label 3325*/ GIMT_Encode4(121344),
42407 /* 119565 */ /*GILLT_v2s64*//*Label 3326*/ GIMT_Encode4(121451),
42408 /* 119569 */ /*GILLT_v4s64*//*Label 3327*/ GIMT_Encode4(121786),
42409 /* 119573 */ /*GILLT_v8s64*//*Label 3328*/ GIMT_Encode4(122105),
42410 /* 119577 */ // Label 3318: @119577
42411 /* 119577 */ GIM_Try, /*On fail goto*//*Label 3330*/ GIMT_Encode4(119752),
42412 /* 119582 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
42413 /* 119585 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
42414 /* 119588 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
42415 /* 119591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42416 /* 119595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42417 /* 119599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42418 /* 119603 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3331*/ GIMT_Encode4(119637), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 822 //
42419 /* 119610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42420 /* 119614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42421 /* 119618 */ // MIs[1] Operand 1
42422 /* 119618 */ // No operand predicates
42423 /* 119618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42424 /* 119620 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
42425 /* 119620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8),
42426 /* 119623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42427 /* 119625 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42428 /* 119627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42429 /* 119629 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42430 /* 119632 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42431 /* 119635 */ GIR_RootConstrainSelectedInstOperands,
42432 /* 119636 */ // GIR_Coverage, 822,
42433 /* 119636 */ GIR_EraseRootFromParent_Done,
42434 /* 119637 */ // Label 3331: @119637
42435 /* 119637 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3332*/ GIMT_Encode4(119671), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 828 //
42436 /* 119644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42437 /* 119648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42438 /* 119652 */ // MIs[1] Operand 1
42439 /* 119652 */ // No operand predicates
42440 /* 119652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42441 /* 119654 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
42442 /* 119654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8_ND),
42443 /* 119657 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42444 /* 119659 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42445 /* 119661 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42446 /* 119663 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42447 /* 119666 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42448 /* 119669 */ GIR_RootConstrainSelectedInstOperands,
42449 /* 119670 */ // GIR_Coverage, 828,
42450 /* 119670 */ GIR_EraseRootFromParent_Done,
42451 /* 119671 */ // Label 3332: @119671
42452 /* 119671 */ GIM_Try, /*On fail goto*//*Label 3333*/ GIMT_Encode4(119751),
42453 /* 119676 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42454 /* 119680 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3334*/ GIMT_Encode4(119715), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 825 //
42455 /* 119687 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
42456 /* 119687 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42457 /* 119691 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42458 /* 119697 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42459 /* 119701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL),
42460 /* 119704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42461 /* 119706 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42462 /* 119708 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42463 /* 119710 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42464 /* 119713 */ GIR_RootConstrainSelectedInstOperands,
42465 /* 119714 */ // GIR_Coverage, 825,
42466 /* 119714 */ GIR_EraseRootFromParent_Done,
42467 /* 119715 */ // Label 3334: @119715
42468 /* 119715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3335*/ GIMT_Encode4(119750), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 831 //
42469 /* 119722 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
42470 /* 119722 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42471 /* 119726 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42472 /* 119732 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42473 /* 119736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL_ND),
42474 /* 119739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42475 /* 119741 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42476 /* 119743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42477 /* 119745 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42478 /* 119748 */ GIR_RootConstrainSelectedInstOperands,
42479 /* 119749 */ // GIR_Coverage, 831,
42480 /* 119749 */ GIR_EraseRootFromParent_Done,
42481 /* 119750 */ // Label 3335: @119750
42482 /* 119750 */ GIM_Reject,
42483 /* 119751 */ // Label 3333: @119751
42484 /* 119751 */ GIM_Reject,
42485 /* 119752 */ // Label 3330: @119752
42486 /* 119752 */ GIM_Reject,
42487 /* 119753 */ // Label 3319: @119753
42488 /* 119753 */ GIM_Try, /*On fail goto*//*Label 3336*/ GIMT_Encode4(119928),
42489 /* 119758 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
42490 /* 119761 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
42491 /* 119764 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
42492 /* 119767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42493 /* 119771 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42494 /* 119775 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42495 /* 119779 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3337*/ GIMT_Encode4(119813), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 823 //
42496 /* 119786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42497 /* 119790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42498 /* 119794 */ // MIs[1] Operand 1
42499 /* 119794 */ // No operand predicates
42500 /* 119794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42501 /* 119796 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
42502 /* 119796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8),
42503 /* 119799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42504 /* 119801 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42505 /* 119803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42506 /* 119805 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42507 /* 119808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42508 /* 119811 */ GIR_RootConstrainSelectedInstOperands,
42509 /* 119812 */ // GIR_Coverage, 823,
42510 /* 119812 */ GIR_EraseRootFromParent_Done,
42511 /* 119813 */ // Label 3337: @119813
42512 /* 119813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3338*/ GIMT_Encode4(119847), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 829 //
42513 /* 119820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42514 /* 119824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42515 /* 119828 */ // MIs[1] Operand 1
42516 /* 119828 */ // No operand predicates
42517 /* 119828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42518 /* 119830 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
42519 /* 119830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8_ND),
42520 /* 119833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42521 /* 119835 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42522 /* 119837 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42523 /* 119839 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42524 /* 119842 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42525 /* 119845 */ GIR_RootConstrainSelectedInstOperands,
42526 /* 119846 */ // GIR_Coverage, 829,
42527 /* 119846 */ GIR_EraseRootFromParent_Done,
42528 /* 119847 */ // Label 3338: @119847
42529 /* 119847 */ GIM_Try, /*On fail goto*//*Label 3339*/ GIMT_Encode4(119927),
42530 /* 119852 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42531 /* 119856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3340*/ GIMT_Encode4(119891), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 826 //
42532 /* 119863 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
42533 /* 119863 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42534 /* 119867 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42535 /* 119873 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42536 /* 119877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL),
42537 /* 119880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42538 /* 119882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42539 /* 119884 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42540 /* 119886 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42541 /* 119889 */ GIR_RootConstrainSelectedInstOperands,
42542 /* 119890 */ // GIR_Coverage, 826,
42543 /* 119890 */ GIR_EraseRootFromParent_Done,
42544 /* 119891 */ // Label 3340: @119891
42545 /* 119891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3341*/ GIMT_Encode4(119926), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 832 //
42546 /* 119898 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
42547 /* 119898 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42548 /* 119902 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42549 /* 119908 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42550 /* 119912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL_ND),
42551 /* 119915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42552 /* 119917 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42553 /* 119919 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42554 /* 119921 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42555 /* 119924 */ GIR_RootConstrainSelectedInstOperands,
42556 /* 119925 */ // GIR_Coverage, 832,
42557 /* 119925 */ GIR_EraseRootFromParent_Done,
42558 /* 119926 */ // Label 3341: @119926
42559 /* 119926 */ GIM_Reject,
42560 /* 119927 */ // Label 3339: @119927
42561 /* 119927 */ GIM_Reject,
42562 /* 119928 */ // Label 3336: @119928
42563 /* 119928 */ GIM_Reject,
42564 /* 119929 */ // Label 3320: @119929
42565 /* 119929 */ GIM_Try, /*On fail goto*//*Label 3342*/ GIMT_Encode4(120263),
42566 /* 119934 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
42567 /* 119937 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
42568 /* 119940 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
42569 /* 119943 */ GIM_Try, /*On fail goto*//*Label 3343*/ GIMT_Encode4(120040),
42570 /* 119948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42571 /* 119952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42572 /* 119956 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42573 /* 119960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3344*/ GIMT_Encode4(120015), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14180 //
42574 /* 119967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42575 /* 119971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42576 /* 119975 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42577 /* 119978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42578 /* 119982 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42579 /* 119986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42580 /* 119988 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42581 /* 119995 */ // (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)
42582 /* 119995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128m),
42583 /* 119998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42584 /* 120000 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42585 /* 120002 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42586 /* 120004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42587 /* 120008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42588 /* 120013 */ GIR_RootConstrainSelectedInstOperands,
42589 /* 120014 */ // GIR_Coverage, 14180,
42590 /* 120014 */ GIR_EraseRootFromParent_Done,
42591 /* 120015 */ // Label 3344: @120015
42592 /* 120015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3345*/ GIMT_Encode4(120039), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14177 //
42593 /* 120022 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42594 /* 120026 */ // (fshr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src3) => (VPSHRDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
42595 /* 120026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128r),
42596 /* 120029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42597 /* 120031 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42598 /* 120033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42599 /* 120035 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42600 /* 120037 */ GIR_RootConstrainSelectedInstOperands,
42601 /* 120038 */ // GIR_Coverage, 14177,
42602 /* 120038 */ GIR_EraseRootFromParent_Done,
42603 /* 120039 */ // Label 3345: @120039
42604 /* 120039 */ GIM_Reject,
42605 /* 120040 */ // Label 3343: @120040
42606 /* 120040 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3346*/ GIMT_Encode4(120262), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22311 //
42607 /* 120047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42608 /* 120051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42609 /* 120055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42610 /* 120059 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42611 /* 120063 */ // (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] })
42612 /* 120063 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
42613 /* 120066 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42614 /* 120070 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42615 /* 120075 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42616 /* 120077 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
42617 /* 120080 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42618 /* 120084 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42619 /* 120089 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42620 /* 120092 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42621 /* 120096 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42622 /* 120099 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42623 /* 120104 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42624 /* 120109 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42625 /* 120114 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
42626 /* 120117 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42627 /* 120121 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42628 /* 120126 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42629 /* 120128 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
42630 /* 120131 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42631 /* 120135 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42632 /* 120140 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42633 /* 120143 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
42634 /* 120147 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42635 /* 120150 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42636 /* 120155 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42637 /* 120160 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42638 /* 120165 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
42639 /* 120168 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42640 /* 120172 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42641 /* 120177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42642 /* 120179 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
42643 /* 120182 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42644 /* 120186 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42645 /* 120191 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42646 /* 120194 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
42647 /* 120198 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42648 /* 120201 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42649 /* 120206 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42650 /* 120211 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42651 /* 120216 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42652 /* 120219 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
42653 /* 120223 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42654 /* 120228 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42655 /* 120231 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42656 /* 120234 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42657 /* 120237 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42658 /* 120239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42659 /* 120242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42660 /* 120244 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42661 /* 120251 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42662 /* 120256 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42663 /* 120261 */ // GIR_Coverage, 22311,
42664 /* 120261 */ GIR_EraseRootFromParent_Done,
42665 /* 120262 */ // Label 3346: @120262
42666 /* 120262 */ GIM_Reject,
42667 /* 120263 */ // Label 3342: @120263
42668 /* 120263 */ GIM_Reject,
42669 /* 120264 */ // Label 3321: @120264
42670 /* 120264 */ GIM_Try, /*On fail goto*//*Label 3347*/ GIMT_Encode4(120582),
42671 /* 120269 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
42672 /* 120272 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
42673 /* 120275 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
42674 /* 120278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42675 /* 120282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42676 /* 120286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42677 /* 120290 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3348*/ GIMT_Encode4(120345), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14174 //
42678 /* 120297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42679 /* 120301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42680 /* 120305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42681 /* 120308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42682 /* 120312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42683 /* 120316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42684 /* 120318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42685 /* 120325 */ // (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)
42686 /* 120325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256m),
42687 /* 120328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42688 /* 120330 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42689 /* 120332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42690 /* 120334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42691 /* 120338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42692 /* 120343 */ GIR_RootConstrainSelectedInstOperands,
42693 /* 120344 */ // GIR_Coverage, 14174,
42694 /* 120344 */ GIR_EraseRootFromParent_Done,
42695 /* 120345 */ // Label 3348: @120345
42696 /* 120345 */ GIM_Try, /*On fail goto*//*Label 3349*/ GIMT_Encode4(120581),
42697 /* 120350 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42698 /* 120354 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3350*/ GIMT_Encode4(120374), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14171 //
42699 /* 120361 */ // (fshr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src3) => (VPSHRDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
42700 /* 120361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256r),
42701 /* 120364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42702 /* 120366 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42703 /* 120368 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42704 /* 120370 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42705 /* 120372 */ GIR_RootConstrainSelectedInstOperands,
42706 /* 120373 */ // GIR_Coverage, 14171,
42707 /* 120373 */ GIR_EraseRootFromParent_Done,
42708 /* 120374 */ // Label 3350: @120374
42709 /* 120374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3351*/ GIMT_Encode4(120580), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22307 //
42710 /* 120381 */ // (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] })
42711 /* 120381 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
42712 /* 120384 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42713 /* 120388 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42714 /* 120393 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42715 /* 120395 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
42716 /* 120398 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42717 /* 120402 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42718 /* 120407 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42719 /* 120410 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42720 /* 120414 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42721 /* 120417 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42722 /* 120422 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42723 /* 120427 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42724 /* 120432 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
42725 /* 120435 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42726 /* 120439 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42727 /* 120444 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42728 /* 120446 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
42729 /* 120449 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42730 /* 120453 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42731 /* 120458 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42732 /* 120461 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
42733 /* 120465 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42734 /* 120468 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42735 /* 120473 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42736 /* 120478 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42737 /* 120483 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
42738 /* 120486 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42739 /* 120490 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42740 /* 120495 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42741 /* 120497 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
42742 /* 120500 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42743 /* 120504 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42744 /* 120509 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42745 /* 120512 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
42746 /* 120516 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42747 /* 120519 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42748 /* 120524 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42749 /* 120529 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42750 /* 120534 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42751 /* 120537 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
42752 /* 120541 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42753 /* 120546 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42754 /* 120549 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42755 /* 120552 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42756 /* 120555 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42757 /* 120557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42758 /* 120560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42759 /* 120562 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42760 /* 120569 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42761 /* 120574 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42762 /* 120579 */ // GIR_Coverage, 22307,
42763 /* 120579 */ GIR_EraseRootFromParent_Done,
42764 /* 120580 */ // Label 3351: @120580
42765 /* 120580 */ GIM_Reject,
42766 /* 120581 */ // Label 3349: @120581
42767 /* 120581 */ GIM_Reject,
42768 /* 120582 */ // Label 3347: @120582
42769 /* 120582 */ GIM_Reject,
42770 /* 120583 */ // Label 3322: @120583
42771 /* 120583 */ GIM_Try, /*On fail goto*//*Label 3352*/ GIMT_Encode4(120689),
42772 /* 120588 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
42773 /* 120591 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
42774 /* 120594 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
42775 /* 120597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42776 /* 120601 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42777 /* 120605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42778 /* 120609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3353*/ GIMT_Encode4(120664), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14168 //
42779 /* 120616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42780 /* 120620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42781 /* 120624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42782 /* 120627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42783 /* 120631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42784 /* 120635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42785 /* 120637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42786 /* 120644 */ // (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)
42787 /* 120644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZm),
42788 /* 120647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42789 /* 120649 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42790 /* 120651 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42791 /* 120653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42792 /* 120657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42793 /* 120662 */ GIR_RootConstrainSelectedInstOperands,
42794 /* 120663 */ // GIR_Coverage, 14168,
42795 /* 120663 */ GIR_EraseRootFromParent_Done,
42796 /* 120664 */ // Label 3353: @120664
42797 /* 120664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3354*/ GIMT_Encode4(120688), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14165 //
42798 /* 120671 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42799 /* 120675 */ // (fshr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src3) => (VPSHRDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
42800 /* 120675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
42801 /* 120678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42802 /* 120680 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42803 /* 120682 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42804 /* 120684 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42805 /* 120686 */ GIR_RootConstrainSelectedInstOperands,
42806 /* 120687 */ // GIR_Coverage, 14165,
42807 /* 120687 */ GIR_EraseRootFromParent_Done,
42808 /* 120688 */ // Label 3354: @120688
42809 /* 120688 */ GIM_Reject,
42810 /* 120689 */ // Label 3352: @120689
42811 /* 120689 */ GIM_Reject,
42812 /* 120690 */ // Label 3323: @120690
42813 /* 120690 */ GIM_Try, /*On fail goto*//*Label 3355*/ GIMT_Encode4(121024),
42814 /* 120695 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
42815 /* 120698 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
42816 /* 120701 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
42817 /* 120704 */ GIM_Try, /*On fail goto*//*Label 3356*/ GIMT_Encode4(120801),
42818 /* 120709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42819 /* 120713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42820 /* 120717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42821 /* 120721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3357*/ GIMT_Encode4(120776), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14204 //
42822 /* 120728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42823 /* 120732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42824 /* 120736 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42825 /* 120739 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42826 /* 120743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42827 /* 120747 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42828 /* 120749 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42829 /* 120756 */ // (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)
42830 /* 120756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128m),
42831 /* 120759 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42832 /* 120761 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42833 /* 120763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42834 /* 120765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42835 /* 120769 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42836 /* 120774 */ GIR_RootConstrainSelectedInstOperands,
42837 /* 120775 */ // GIR_Coverage, 14204,
42838 /* 120775 */ GIR_EraseRootFromParent_Done,
42839 /* 120776 */ // Label 3357: @120776
42840 /* 120776 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3358*/ GIMT_Encode4(120800), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14201 //
42841 /* 120783 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42842 /* 120787 */ // (fshr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src3) => (VPSHRDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
42843 /* 120787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128r),
42844 /* 120790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42845 /* 120792 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42846 /* 120794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42847 /* 120796 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42848 /* 120798 */ GIR_RootConstrainSelectedInstOperands,
42849 /* 120799 */ // GIR_Coverage, 14201,
42850 /* 120799 */ GIR_EraseRootFromParent_Done,
42851 /* 120800 */ // Label 3358: @120800
42852 /* 120800 */ GIM_Reject,
42853 /* 120801 */ // Label 3356: @120801
42854 /* 120801 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3359*/ GIMT_Encode4(121023), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22303 //
42855 /* 120808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42856 /* 120812 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42857 /* 120816 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42858 /* 120820 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42859 /* 120824 */ // (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] })
42860 /* 120824 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42861 /* 120827 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42862 /* 120831 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42863 /* 120836 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42864 /* 120838 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42865 /* 120841 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42866 /* 120845 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42867 /* 120850 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42868 /* 120853 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42869 /* 120857 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42870 /* 120860 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42871 /* 120865 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42872 /* 120870 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42873 /* 120875 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42874 /* 120878 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42875 /* 120882 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42876 /* 120887 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42877 /* 120889 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42878 /* 120892 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42879 /* 120896 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42880 /* 120901 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42881 /* 120904 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
42882 /* 120908 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42883 /* 120911 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42884 /* 120916 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42885 /* 120921 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42886 /* 120926 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42887 /* 120929 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42888 /* 120933 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42889 /* 120938 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42890 /* 120940 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42891 /* 120943 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42892 /* 120947 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42893 /* 120952 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42894 /* 120955 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
42895 /* 120959 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42896 /* 120962 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42897 /* 120967 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42898 /* 120972 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42899 /* 120977 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42900 /* 120980 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
42901 /* 120984 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42902 /* 120989 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42903 /* 120992 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42904 /* 120995 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42905 /* 120998 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42906 /* 121000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42907 /* 121003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42908 /* 121005 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42909 /* 121012 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42910 /* 121017 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42911 /* 121022 */ // GIR_Coverage, 22303,
42912 /* 121022 */ GIR_EraseRootFromParent_Done,
42913 /* 121023 */ // Label 3359: @121023
42914 /* 121023 */ GIM_Reject,
42915 /* 121024 */ // Label 3355: @121024
42916 /* 121024 */ GIM_Reject,
42917 /* 121025 */ // Label 3324: @121025
42918 /* 121025 */ GIM_Try, /*On fail goto*//*Label 3360*/ GIMT_Encode4(121343),
42919 /* 121030 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
42920 /* 121033 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
42921 /* 121036 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
42922 /* 121039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42923 /* 121043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42924 /* 121047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42925 /* 121051 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3361*/ GIMT_Encode4(121106), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14195 //
42926 /* 121058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42927 /* 121062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42928 /* 121066 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42929 /* 121069 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42930 /* 121073 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42931 /* 121077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42932 /* 121079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42933 /* 121086 */ // (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)
42934 /* 121086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256m),
42935 /* 121089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42936 /* 121091 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42937 /* 121093 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42938 /* 121095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42939 /* 121099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42940 /* 121104 */ GIR_RootConstrainSelectedInstOperands,
42941 /* 121105 */ // GIR_Coverage, 14195,
42942 /* 121105 */ GIR_EraseRootFromParent_Done,
42943 /* 121106 */ // Label 3361: @121106
42944 /* 121106 */ GIM_Try, /*On fail goto*//*Label 3362*/ GIMT_Encode4(121342),
42945 /* 121111 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42946 /* 121115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3363*/ GIMT_Encode4(121135), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14192 //
42947 /* 121122 */ // (fshr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src3) => (VPSHRDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
42948 /* 121122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256r),
42949 /* 121125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42950 /* 121127 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42951 /* 121129 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42952 /* 121131 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42953 /* 121133 */ GIR_RootConstrainSelectedInstOperands,
42954 /* 121134 */ // GIR_Coverage, 14192,
42955 /* 121134 */ GIR_EraseRootFromParent_Done,
42956 /* 121135 */ // Label 3363: @121135
42957 /* 121135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3364*/ GIMT_Encode4(121341), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22299 //
42958 /* 121142 */ // (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] })
42959 /* 121142 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42960 /* 121145 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42961 /* 121149 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42962 /* 121154 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42963 /* 121156 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42964 /* 121159 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42965 /* 121163 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42966 /* 121168 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42967 /* 121171 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42968 /* 121175 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42969 /* 121178 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42970 /* 121183 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42971 /* 121188 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42972 /* 121193 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42973 /* 121196 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42974 /* 121200 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42975 /* 121205 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42976 /* 121207 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42977 /* 121210 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42978 /* 121214 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42979 /* 121219 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42980 /* 121222 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
42981 /* 121226 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42982 /* 121229 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42983 /* 121234 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42984 /* 121239 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42985 /* 121244 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42986 /* 121247 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42987 /* 121251 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42988 /* 121256 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42989 /* 121258 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42990 /* 121261 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42991 /* 121265 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42992 /* 121270 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42993 /* 121273 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
42994 /* 121277 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42995 /* 121280 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42996 /* 121285 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42997 /* 121290 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42998 /* 121295 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42999 /* 121298 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
43000 /* 121302 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43001 /* 121307 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43002 /* 121310 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43003 /* 121313 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43004 /* 121316 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43005 /* 121318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43006 /* 121321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43007 /* 121323 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
43008 /* 121330 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
43009 /* 121335 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43010 /* 121340 */ // GIR_Coverage, 22299,
43011 /* 121340 */ GIR_EraseRootFromParent_Done,
43012 /* 121341 */ // Label 3364: @121341
43013 /* 121341 */ GIM_Reject,
43014 /* 121342 */ // Label 3362: @121342
43015 /* 121342 */ GIM_Reject,
43016 /* 121343 */ // Label 3360: @121343
43017 /* 121343 */ GIM_Reject,
43018 /* 121344 */ // Label 3325: @121344
43019 /* 121344 */ GIM_Try, /*On fail goto*//*Label 3365*/ GIMT_Encode4(121450),
43020 /* 121349 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
43021 /* 121352 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
43022 /* 121355 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
43023 /* 121358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43024 /* 121362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43025 /* 121366 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43026 /* 121370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3366*/ GIMT_Encode4(121425), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14186 //
43027 /* 121377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43028 /* 121381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43029 /* 121385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43030 /* 121388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43031 /* 121392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43032 /* 121396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43033 /* 121398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43034 /* 121405 */ // (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)
43035 /* 121405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZm),
43036 /* 121408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43037 /* 121410 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43038 /* 121412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43039 /* 121414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43040 /* 121418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43041 /* 121423 */ GIR_RootConstrainSelectedInstOperands,
43042 /* 121424 */ // GIR_Coverage, 14186,
43043 /* 121424 */ GIR_EraseRootFromParent_Done,
43044 /* 121425 */ // Label 3366: @121425
43045 /* 121425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3367*/ GIMT_Encode4(121449), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14183 //
43046 /* 121432 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43047 /* 121436 */ // (fshr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src3) => (VPSHRDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
43048 /* 121436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
43049 /* 121439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43050 /* 121441 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43051 /* 121443 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43052 /* 121445 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43053 /* 121447 */ GIR_RootConstrainSelectedInstOperands,
43054 /* 121448 */ // GIR_Coverage, 14183,
43055 /* 121448 */ GIR_EraseRootFromParent_Done,
43056 /* 121449 */ // Label 3367: @121449
43057 /* 121449 */ GIM_Reject,
43058 /* 121450 */ // Label 3365: @121450
43059 /* 121450 */ GIM_Reject,
43060 /* 121451 */ // Label 3326: @121451
43061 /* 121451 */ GIM_Try, /*On fail goto*//*Label 3368*/ GIMT_Encode4(121785),
43062 /* 121456 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
43063 /* 121459 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
43064 /* 121462 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
43065 /* 121465 */ GIM_Try, /*On fail goto*//*Label 3369*/ GIMT_Encode4(121562),
43066 /* 121470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43067 /* 121474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43068 /* 121478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43069 /* 121482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3370*/ GIMT_Encode4(121537), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14231 //
43070 /* 121489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43071 /* 121493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43072 /* 121497 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43073 /* 121500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43074 /* 121504 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43075 /* 121508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43076 /* 121510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43077 /* 121517 */ // (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)
43078 /* 121517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128m),
43079 /* 121520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43080 /* 121522 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43081 /* 121524 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43082 /* 121526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43083 /* 121530 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43084 /* 121535 */ GIR_RootConstrainSelectedInstOperands,
43085 /* 121536 */ // GIR_Coverage, 14231,
43086 /* 121536 */ GIR_EraseRootFromParent_Done,
43087 /* 121537 */ // Label 3370: @121537
43088 /* 121537 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3371*/ GIMT_Encode4(121561), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14228 //
43089 /* 121544 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43090 /* 121548 */ // (fshr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src3) => (VPSHRDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
43091 /* 121548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128r),
43092 /* 121551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43093 /* 121553 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43094 /* 121555 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43095 /* 121557 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43096 /* 121559 */ GIR_RootConstrainSelectedInstOperands,
43097 /* 121560 */ // GIR_Coverage, 14228,
43098 /* 121560 */ GIR_EraseRootFromParent_Done,
43099 /* 121561 */ // Label 3371: @121561
43100 /* 121561 */ GIM_Reject,
43101 /* 121562 */ // Label 3369: @121562
43102 /* 121562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3372*/ GIMT_Encode4(121784), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22295 //
43103 /* 121569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43104 /* 121573 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43105 /* 121577 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43106 /* 121581 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43107 /* 121585 */ // (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] })
43108 /* 121585 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
43109 /* 121588 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43110 /* 121592 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43111 /* 121597 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43112 /* 121599 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
43113 /* 121602 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43114 /* 121606 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43115 /* 121611 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43116 /* 121614 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43117 /* 121618 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43118 /* 121621 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43119 /* 121626 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43120 /* 121631 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43121 /* 121636 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
43122 /* 121639 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43123 /* 121643 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43124 /* 121648 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43125 /* 121650 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
43126 /* 121653 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43127 /* 121657 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43128 /* 121662 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43129 /* 121665 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43130 /* 121669 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43131 /* 121672 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43132 /* 121677 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43133 /* 121682 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43134 /* 121687 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
43135 /* 121690 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43136 /* 121694 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43137 /* 121699 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43138 /* 121701 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
43139 /* 121704 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43140 /* 121708 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43141 /* 121713 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43142 /* 121716 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43143 /* 121720 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43144 /* 121723 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43145 /* 121728 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43146 /* 121733 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43147 /* 121738 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43148 /* 121741 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
43149 /* 121745 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43150 /* 121750 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43151 /* 121753 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43152 /* 121756 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43153 /* 121759 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43154 /* 121761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43155 /* 121764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43156 /* 121766 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43157 /* 121773 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43158 /* 121778 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43159 /* 121783 */ // GIR_Coverage, 22295,
43160 /* 121783 */ GIR_EraseRootFromParent_Done,
43161 /* 121784 */ // Label 3372: @121784
43162 /* 121784 */ GIM_Reject,
43163 /* 121785 */ // Label 3368: @121785
43164 /* 121785 */ GIM_Reject,
43165 /* 121786 */ // Label 3327: @121786
43166 /* 121786 */ GIM_Try, /*On fail goto*//*Label 3373*/ GIMT_Encode4(122104),
43167 /* 121791 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
43168 /* 121794 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
43169 /* 121797 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
43170 /* 121800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43171 /* 121804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43172 /* 121808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43173 /* 121812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3374*/ GIMT_Encode4(121867), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14222 //
43174 /* 121819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43175 /* 121823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43176 /* 121827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43177 /* 121830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43178 /* 121834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43179 /* 121838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43180 /* 121840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43181 /* 121847 */ // (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)
43182 /* 121847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256m),
43183 /* 121850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43184 /* 121852 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43185 /* 121854 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43186 /* 121856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43187 /* 121860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43188 /* 121865 */ GIR_RootConstrainSelectedInstOperands,
43189 /* 121866 */ // GIR_Coverage, 14222,
43190 /* 121866 */ GIR_EraseRootFromParent_Done,
43191 /* 121867 */ // Label 3374: @121867
43192 /* 121867 */ GIM_Try, /*On fail goto*//*Label 3375*/ GIMT_Encode4(122103),
43193 /* 121872 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43194 /* 121876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3376*/ GIMT_Encode4(121896), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14219 //
43195 /* 121883 */ // (fshr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src3) => (VPSHRDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
43196 /* 121883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256r),
43197 /* 121886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43198 /* 121888 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43199 /* 121890 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43200 /* 121892 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43201 /* 121894 */ GIR_RootConstrainSelectedInstOperands,
43202 /* 121895 */ // GIR_Coverage, 14219,
43203 /* 121895 */ GIR_EraseRootFromParent_Done,
43204 /* 121896 */ // Label 3376: @121896
43205 /* 121896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3377*/ GIMT_Encode4(122102), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22291 //
43206 /* 121903 */ // (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] })
43207 /* 121903 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
43208 /* 121906 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43209 /* 121910 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43210 /* 121915 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43211 /* 121917 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
43212 /* 121920 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43213 /* 121924 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43214 /* 121929 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43215 /* 121932 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43216 /* 121936 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
43217 /* 121939 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43218 /* 121944 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43219 /* 121949 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43220 /* 121954 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
43221 /* 121957 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43222 /* 121961 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43223 /* 121966 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43224 /* 121968 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
43225 /* 121971 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43226 /* 121975 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43227 /* 121980 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43228 /* 121983 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43229 /* 121987 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
43230 /* 121990 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43231 /* 121995 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43232 /* 122000 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43233 /* 122005 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
43234 /* 122008 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43235 /* 122012 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43236 /* 122017 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43237 /* 122019 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
43238 /* 122022 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43239 /* 122026 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43240 /* 122031 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43241 /* 122034 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43242 /* 122038 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
43243 /* 122041 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43244 /* 122046 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43245 /* 122051 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43246 /* 122056 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43247 /* 122059 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
43248 /* 122063 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43249 /* 122068 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43250 /* 122071 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43251 /* 122074 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43252 /* 122077 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43253 /* 122079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43254 /* 122082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43255 /* 122084 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
43256 /* 122091 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
43257 /* 122096 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43258 /* 122101 */ // GIR_Coverage, 22291,
43259 /* 122101 */ GIR_EraseRootFromParent_Done,
43260 /* 122102 */ // Label 3377: @122102
43261 /* 122102 */ GIM_Reject,
43262 /* 122103 */ // Label 3375: @122103
43263 /* 122103 */ GIM_Reject,
43264 /* 122104 */ // Label 3373: @122104
43265 /* 122104 */ GIM_Reject,
43266 /* 122105 */ // Label 3328: @122105
43267 /* 122105 */ GIM_Try, /*On fail goto*//*Label 3378*/ GIMT_Encode4(122211),
43268 /* 122110 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
43269 /* 122113 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
43270 /* 122116 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
43271 /* 122119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43272 /* 122123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43273 /* 122127 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43274 /* 122131 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3379*/ GIMT_Encode4(122186), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14213 //
43275 /* 122138 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43276 /* 122142 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43277 /* 122146 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43278 /* 122149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43279 /* 122153 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43280 /* 122157 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43281 /* 122159 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43282 /* 122166 */ // (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)
43283 /* 122166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZm),
43284 /* 122169 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43285 /* 122171 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43286 /* 122173 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43287 /* 122175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43288 /* 122179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43289 /* 122184 */ GIR_RootConstrainSelectedInstOperands,
43290 /* 122185 */ // GIR_Coverage, 14213,
43291 /* 122185 */ GIR_EraseRootFromParent_Done,
43292 /* 122186 */ // Label 3379: @122186
43293 /* 122186 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3380*/ GIMT_Encode4(122210), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14210 //
43294 /* 122193 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43295 /* 122197 */ // (fshr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src3) => (VPSHRDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
43296 /* 122197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
43297 /* 122200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43298 /* 122202 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43299 /* 122204 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43300 /* 122206 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43301 /* 122208 */ GIR_RootConstrainSelectedInstOperands,
43302 /* 122209 */ // GIR_Coverage, 14210,
43303 /* 122209 */ GIR_EraseRootFromParent_Done,
43304 /* 122210 */ // Label 3380: @122210
43305 /* 122210 */ GIM_Reject,
43306 /* 122211 */ // Label 3378: @122211
43307 /* 122211 */ GIM_Reject,
43308 /* 122212 */ // Label 3329: @122212
43309 /* 122212 */ GIM_Reject,
43310 /* 122213 */ // Label 34: @122213
43311 /* 122213 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 3394*/ GIMT_Encode4(125361),
43312 /* 122224 */ /*GILLT_s8*//*Label 3381*/ GIMT_Encode4(122320),
43313 /* 122228 */ /*GILLT_s16*//*Label 3382*/ GIMT_Encode4(122529),
43314 /* 122232 */ /*GILLT_s32*//*Label 3383*/ GIMT_Encode4(122738),
43315 /* 122236 */ /*GILLT_s64*//*Label 3384*/ GIMT_Encode4(123169), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
43316 /* 122284 */ /*GILLT_v8s16*//*Label 3385*/ GIMT_Encode4(123600),
43317 /* 122288 */ /*GILLT_v16s16*//*Label 3386*/ GIMT_Encode4(123863),
43318 /* 122292 */ /*GILLT_v32s16*//*Label 3387*/ GIMT_Encode4(124114),
43319 /* 122296 */ /*GILLT_v4s32*//*Label 3388*/ GIMT_Encode4(124153),
43320 /* 122300 */ /*GILLT_v8s32*//*Label 3389*/ GIMT_Encode4(124415),
43321 /* 122304 */ /*GILLT_v16s32*//*Label 3390*/ GIMT_Encode4(124665),
43322 /* 122308 */ /*GILLT_v2s64*//*Label 3391*/ GIMT_Encode4(124757),
43323 /* 122312 */ /*GILLT_v4s64*//*Label 3392*/ GIMT_Encode4(125019),
43324 /* 122316 */ /*GILLT_v8s64*//*Label 3393*/ GIMT_Encode4(125269),
43325 /* 122320 */ // Label 3381: @122320
43326 /* 122320 */ GIM_Try, /*On fail goto*//*Label 3395*/ GIMT_Encode4(122528),
43327 /* 122325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
43328 /* 122328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43329 /* 122331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43330 /* 122335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43331 /* 122339 */ GIM_Try, /*On fail goto*//*Label 3396*/ GIMT_Encode4(122387),
43332 /* 122344 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
43333 /* 122348 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3397*/ GIMT_Encode4(122367), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17657 //
43334 /* 122355 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43335 /* 122355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1),
43336 /* 122358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43337 /* 122360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43338 /* 122362 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43339 /* 122365 */ GIR_RootConstrainSelectedInstOperands,
43340 /* 122366 */ // GIR_Coverage, 17657,
43341 /* 122366 */ GIR_EraseRootFromParent_Done,
43342 /* 122367 */ // Label 3397: @122367
43343 /* 122367 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3398*/ GIMT_Encode4(122386), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17665 //
43344 /* 122374 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43345 /* 122374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1_ND),
43346 /* 122377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43347 /* 122379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43348 /* 122381 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43349 /* 122384 */ GIR_RootConstrainSelectedInstOperands,
43350 /* 122385 */ // GIR_Coverage, 17665,
43351 /* 122385 */ GIR_EraseRootFromParent_Done,
43352 /* 122386 */ // Label 3398: @122386
43353 /* 122386 */ GIM_Reject,
43354 /* 122387 */ // Label 3396: @122387
43355 /* 122387 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3399*/ GIMT_Encode4(122419), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 765 //
43356 /* 122394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43357 /* 122398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43358 /* 122402 */ // MIs[1] Operand 1
43359 /* 122402 */ // No operand predicates
43360 /* 122402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43361 /* 122404 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
43362 /* 122404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri),
43363 /* 122407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43364 /* 122409 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43365 /* 122411 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43366 /* 122414 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43367 /* 122417 */ GIR_RootConstrainSelectedInstOperands,
43368 /* 122418 */ // GIR_Coverage, 765,
43369 /* 122418 */ GIR_EraseRootFromParent_Done,
43370 /* 122419 */ // Label 3399: @122419
43371 /* 122419 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3400*/ GIMT_Encode4(122451), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 769 //
43372 /* 122426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43373 /* 122430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43374 /* 122434 */ // MIs[1] Operand 1
43375 /* 122434 */ // No operand predicates
43376 /* 122434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43377 /* 122436 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
43378 /* 122436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri_ND),
43379 /* 122439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43380 /* 122441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43381 /* 122443 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43382 /* 122446 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43383 /* 122449 */ GIR_RootConstrainSelectedInstOperands,
43384 /* 122450 */ // GIR_Coverage, 769,
43385 /* 122450 */ GIR_EraseRootFromParent_Done,
43386 /* 122451 */ // Label 3400: @122451
43387 /* 122451 */ GIM_Try, /*On fail goto*//*Label 3401*/ GIMT_Encode4(122527),
43388 /* 122456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43389 /* 122460 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3402*/ GIMT_Encode4(122493), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 781 //
43390 /* 122467 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43391 /* 122467 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43392 /* 122471 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43393 /* 122477 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43394 /* 122481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL),
43395 /* 122484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43396 /* 122486 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43397 /* 122488 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43398 /* 122491 */ GIR_RootConstrainSelectedInstOperands,
43399 /* 122492 */ // GIR_Coverage, 781,
43400 /* 122492 */ GIR_EraseRootFromParent_Done,
43401 /* 122493 */ // Label 3402: @122493
43402 /* 122493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3403*/ GIMT_Encode4(122526), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 785 //
43403 /* 122500 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43404 /* 122500 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43405 /* 122504 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43406 /* 122510 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43407 /* 122514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL_ND),
43408 /* 122517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43409 /* 122519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43410 /* 122521 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43411 /* 122524 */ GIR_RootConstrainSelectedInstOperands,
43412 /* 122525 */ // GIR_Coverage, 785,
43413 /* 122525 */ GIR_EraseRootFromParent_Done,
43414 /* 122526 */ // Label 3403: @122526
43415 /* 122526 */ GIM_Reject,
43416 /* 122527 */ // Label 3401: @122527
43417 /* 122527 */ GIM_Reject,
43418 /* 122528 */ // Label 3395: @122528
43419 /* 122528 */ GIM_Reject,
43420 /* 122529 */ // Label 3382: @122529
43421 /* 122529 */ GIM_Try, /*On fail goto*//*Label 3404*/ GIMT_Encode4(122737),
43422 /* 122534 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
43423 /* 122537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43424 /* 122540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43425 /* 122544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43426 /* 122548 */ GIM_Try, /*On fail goto*//*Label 3405*/ GIMT_Encode4(122596),
43427 /* 122553 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
43428 /* 122557 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3406*/ GIMT_Encode4(122576), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17658 //
43429 /* 122564 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43430 /* 122564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1),
43431 /* 122567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43432 /* 122569 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43433 /* 122571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43434 /* 122574 */ GIR_RootConstrainSelectedInstOperands,
43435 /* 122575 */ // GIR_Coverage, 17658,
43436 /* 122575 */ GIR_EraseRootFromParent_Done,
43437 /* 122576 */ // Label 3406: @122576
43438 /* 122576 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3407*/ GIMT_Encode4(122595), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17666 //
43439 /* 122583 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43440 /* 122583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1_ND),
43441 /* 122586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43442 /* 122588 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43443 /* 122590 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43444 /* 122593 */ GIR_RootConstrainSelectedInstOperands,
43445 /* 122594 */ // GIR_Coverage, 17666,
43446 /* 122594 */ GIR_EraseRootFromParent_Done,
43447 /* 122595 */ // Label 3407: @122595
43448 /* 122595 */ GIM_Reject,
43449 /* 122596 */ // Label 3405: @122596
43450 /* 122596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3408*/ GIMT_Encode4(122628), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 766 //
43451 /* 122603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43452 /* 122607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43453 /* 122611 */ // MIs[1] Operand 1
43454 /* 122611 */ // No operand predicates
43455 /* 122611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43456 /* 122613 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
43457 /* 122613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri),
43458 /* 122616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43459 /* 122618 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43460 /* 122620 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43461 /* 122623 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43462 /* 122626 */ GIR_RootConstrainSelectedInstOperands,
43463 /* 122627 */ // GIR_Coverage, 766,
43464 /* 122627 */ GIR_EraseRootFromParent_Done,
43465 /* 122628 */ // Label 3408: @122628
43466 /* 122628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3409*/ GIMT_Encode4(122660), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 770 //
43467 /* 122635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43468 /* 122639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43469 /* 122643 */ // MIs[1] Operand 1
43470 /* 122643 */ // No operand predicates
43471 /* 122643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43472 /* 122645 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
43473 /* 122645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri_ND),
43474 /* 122648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43475 /* 122650 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43476 /* 122652 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43477 /* 122655 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43478 /* 122658 */ GIR_RootConstrainSelectedInstOperands,
43479 /* 122659 */ // GIR_Coverage, 770,
43480 /* 122659 */ GIR_EraseRootFromParent_Done,
43481 /* 122660 */ // Label 3409: @122660
43482 /* 122660 */ GIM_Try, /*On fail goto*//*Label 3410*/ GIMT_Encode4(122736),
43483 /* 122665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43484 /* 122669 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3411*/ GIMT_Encode4(122702), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 782 //
43485 /* 122676 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43486 /* 122676 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43487 /* 122680 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43488 /* 122686 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43489 /* 122690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL),
43490 /* 122693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43491 /* 122695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43492 /* 122697 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43493 /* 122700 */ GIR_RootConstrainSelectedInstOperands,
43494 /* 122701 */ // GIR_Coverage, 782,
43495 /* 122701 */ GIR_EraseRootFromParent_Done,
43496 /* 122702 */ // Label 3411: @122702
43497 /* 122702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3412*/ GIMT_Encode4(122735), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 786 //
43498 /* 122709 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43499 /* 122709 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43500 /* 122713 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43501 /* 122719 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43502 /* 122723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL_ND),
43503 /* 122726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43504 /* 122728 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43505 /* 122730 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43506 /* 122733 */ GIR_RootConstrainSelectedInstOperands,
43507 /* 122734 */ // GIR_Coverage, 786,
43508 /* 122734 */ GIR_EraseRootFromParent_Done,
43509 /* 122735 */ // Label 3412: @122735
43510 /* 122735 */ GIM_Reject,
43511 /* 122736 */ // Label 3410: @122736
43512 /* 122736 */ GIM_Reject,
43513 /* 122737 */ // Label 3404: @122737
43514 /* 122737 */ GIM_Reject,
43515 /* 122738 */ // Label 3383: @122738
43516 /* 122738 */ GIM_Try, /*On fail goto*//*Label 3413*/ GIMT_Encode4(123168),
43517 /* 122743 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
43518 /* 122746 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43519 /* 122749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43520 /* 122753 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3414*/ GIMT_Encode4(122816), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17705 //
43521 /* 122760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43522 /* 122764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43523 /* 122768 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43524 /* 122771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43525 /* 122775 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43526 /* 122779 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43527 /* 122783 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43528 /* 122787 */ // MIs[2] Operand 1
43529 /* 122787 */ // No operand predicates
43530 /* 122787 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43531 /* 122789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43532 /* 122796 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$shamt) => (RORX32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
43533 /* 122796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi),
43534 /* 122799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43535 /* 122801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
43536 /* 122805 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
43537 /* 122808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43538 /* 122814 */ GIR_RootConstrainSelectedInstOperands,
43539 /* 122815 */ // GIR_Coverage, 17705,
43540 /* 122815 */ GIR_EraseRootFromParent_Done,
43541 /* 122816 */ // Label 3414: @122816
43542 /* 122816 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3415*/ GIMT_Encode4(122879), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17737 //
43543 /* 122823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43544 /* 122827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43545 /* 122831 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43546 /* 122834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43547 /* 122838 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43548 /* 122842 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43549 /* 122846 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43550 /* 122850 */ // MIs[2] Operand 1
43551 /* 122850 */ // No operand predicates
43552 /* 122850 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43553 /* 122852 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43554 /* 122859 */ // (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)
43555 /* 122859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi_EVEX),
43556 /* 122862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43557 /* 122864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
43558 /* 122868 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
43559 /* 122871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43560 /* 122877 */ GIR_RootConstrainSelectedInstOperands,
43561 /* 122878 */ // GIR_Coverage, 17737,
43562 /* 122878 */ GIR_EraseRootFromParent_Done,
43563 /* 122879 */ // Label 3415: @122879
43564 /* 122879 */ GIM_Try, /*On fail goto*//*Label 3416*/ GIMT_Encode4(123167),
43565 /* 122884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43566 /* 122888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3417*/ GIMT_Encode4(122917), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17701 //
43567 /* 122895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43568 /* 122899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43569 /* 122903 */ // MIs[1] Operand 1
43570 /* 122903 */ // No operand predicates
43571 /* 122903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43572 /* 122905 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
43573 /* 122905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri),
43574 /* 122908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43575 /* 122910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
43576 /* 122912 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43577 /* 122915 */ GIR_RootConstrainSelectedInstOperands,
43578 /* 122916 */ // GIR_Coverage, 17701,
43579 /* 122916 */ GIR_EraseRootFromParent_Done,
43580 /* 122917 */ // Label 3417: @122917
43581 /* 122917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3418*/ GIMT_Encode4(122946), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17733 //
43582 /* 122924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43583 /* 122928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43584 /* 122932 */ // MIs[1] Operand 1
43585 /* 122932 */ // No operand predicates
43586 /* 122932 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43587 /* 122934 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
43588 /* 122934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri_EVEX),
43589 /* 122937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43590 /* 122939 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
43591 /* 122941 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43592 /* 122944 */ GIR_RootConstrainSelectedInstOperands,
43593 /* 122945 */ // GIR_Coverage, 17733,
43594 /* 122945 */ GIR_EraseRootFromParent_Done,
43595 /* 122946 */ // Label 3418: @122946
43596 /* 122946 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3419*/ GIMT_Encode4(122978), GIMT_Encode2(GIFBS_HasFastSHLDRotate), // Rule ID 847 //
43597 /* 122953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43598 /* 122957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43599 /* 122961 */ // MIs[1] Operand 1
43600 /* 122961 */ // No operand predicates
43601 /* 122961 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43602 /* 122963 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
43603 /* 122963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT32ri),
43604 /* 122966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43605 /* 122968 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43606 /* 122970 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43607 /* 122973 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43608 /* 122976 */ GIR_RootConstrainSelectedInstOperands,
43609 /* 122977 */ // GIR_Coverage, 847,
43610 /* 122977 */ GIR_EraseRootFromParent_Done,
43611 /* 122978 */ // Label 3419: @122978
43612 /* 122978 */ GIM_Try, /*On fail goto*//*Label 3420*/ GIMT_Encode4(123026),
43613 /* 122983 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
43614 /* 122987 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3421*/ GIMT_Encode4(123006), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17659 //
43615 /* 122994 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43616 /* 122994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1),
43617 /* 122997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43618 /* 122999 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43619 /* 123001 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43620 /* 123004 */ GIR_RootConstrainSelectedInstOperands,
43621 /* 123005 */ // GIR_Coverage, 17659,
43622 /* 123005 */ GIR_EraseRootFromParent_Done,
43623 /* 123006 */ // Label 3421: @123006
43624 /* 123006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3422*/ GIMT_Encode4(123025), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17667 //
43625 /* 123013 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43626 /* 123013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1_ND),
43627 /* 123016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43628 /* 123018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43629 /* 123020 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43630 /* 123023 */ GIR_RootConstrainSelectedInstOperands,
43631 /* 123024 */ // GIR_Coverage, 17667,
43632 /* 123024 */ GIR_EraseRootFromParent_Done,
43633 /* 123025 */ // Label 3422: @123025
43634 /* 123025 */ GIM_Reject,
43635 /* 123026 */ // Label 3420: @123026
43636 /* 123026 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3423*/ GIMT_Encode4(123058), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 767 //
43637 /* 123033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43638 /* 123037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43639 /* 123041 */ // MIs[1] Operand 1
43640 /* 123041 */ // No operand predicates
43641 /* 123041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43642 /* 123043 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
43643 /* 123043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri),
43644 /* 123046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43645 /* 123048 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43646 /* 123050 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43647 /* 123053 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43648 /* 123056 */ GIR_RootConstrainSelectedInstOperands,
43649 /* 123057 */ // GIR_Coverage, 767,
43650 /* 123057 */ GIR_EraseRootFromParent_Done,
43651 /* 123058 */ // Label 3423: @123058
43652 /* 123058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3424*/ GIMT_Encode4(123090), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 771 //
43653 /* 123065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43654 /* 123069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43655 /* 123073 */ // MIs[1] Operand 1
43656 /* 123073 */ // No operand predicates
43657 /* 123073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43658 /* 123075 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
43659 /* 123075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri_ND),
43660 /* 123078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43661 /* 123080 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43662 /* 123082 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43663 /* 123085 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43664 /* 123088 */ GIR_RootConstrainSelectedInstOperands,
43665 /* 123089 */ // GIR_Coverage, 771,
43666 /* 123089 */ GIR_EraseRootFromParent_Done,
43667 /* 123090 */ // Label 3424: @123090
43668 /* 123090 */ GIM_Try, /*On fail goto*//*Label 3425*/ GIMT_Encode4(123166),
43669 /* 123095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43670 /* 123099 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3426*/ GIMT_Encode4(123132), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 783 //
43671 /* 123106 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43672 /* 123106 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43673 /* 123110 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43674 /* 123116 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43675 /* 123120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL),
43676 /* 123123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43677 /* 123125 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43678 /* 123127 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43679 /* 123130 */ GIR_RootConstrainSelectedInstOperands,
43680 /* 123131 */ // GIR_Coverage, 783,
43681 /* 123131 */ GIR_EraseRootFromParent_Done,
43682 /* 123132 */ // Label 3426: @123132
43683 /* 123132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3427*/ GIMT_Encode4(123165), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 787 //
43684 /* 123139 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43685 /* 123139 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43686 /* 123143 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43687 /* 123149 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43688 /* 123153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL_ND),
43689 /* 123156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43690 /* 123158 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43691 /* 123160 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43692 /* 123163 */ GIR_RootConstrainSelectedInstOperands,
43693 /* 123164 */ // GIR_Coverage, 787,
43694 /* 123164 */ GIR_EraseRootFromParent_Done,
43695 /* 123165 */ // Label 3427: @123165
43696 /* 123165 */ GIM_Reject,
43697 /* 123166 */ // Label 3425: @123166
43698 /* 123166 */ GIM_Reject,
43699 /* 123167 */ // Label 3416: @123167
43700 /* 123167 */ GIM_Reject,
43701 /* 123168 */ // Label 3413: @123168
43702 /* 123168 */ GIM_Reject,
43703 /* 123169 */ // Label 3384: @123169
43704 /* 123169 */ GIM_Try, /*On fail goto*//*Label 3428*/ GIMT_Encode4(123599),
43705 /* 123174 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
43706 /* 123177 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43707 /* 123180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43708 /* 123184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3429*/ GIMT_Encode4(123247), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17706 //
43709 /* 123191 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43710 /* 123195 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43711 /* 123199 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43712 /* 123202 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43713 /* 123206 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43714 /* 123210 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43715 /* 123214 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43716 /* 123218 */ // MIs[2] Operand 1
43717 /* 123218 */ // No operand predicates
43718 /* 123218 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43719 /* 123220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43720 /* 123227 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$shamt) => (RORX64mi:{ *:[i64] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
43721 /* 123227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi),
43722 /* 123230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43723 /* 123232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
43724 /* 123236 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
43725 /* 123239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43726 /* 123245 */ GIR_RootConstrainSelectedInstOperands,
43727 /* 123246 */ // GIR_Coverage, 17706,
43728 /* 123246 */ GIR_EraseRootFromParent_Done,
43729 /* 123247 */ // Label 3429: @123247
43730 /* 123247 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3430*/ GIMT_Encode4(123310), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17738 //
43731 /* 123254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43732 /* 123258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43733 /* 123262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43734 /* 123265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43735 /* 123269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43736 /* 123273 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43737 /* 123277 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43738 /* 123281 */ // MIs[2] Operand 1
43739 /* 123281 */ // No operand predicates
43740 /* 123281 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43741 /* 123283 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43742 /* 123290 */ // (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)
43743 /* 123290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi_EVEX),
43744 /* 123293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43745 /* 123295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
43746 /* 123299 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
43747 /* 123302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43748 /* 123308 */ GIR_RootConstrainSelectedInstOperands,
43749 /* 123309 */ // GIR_Coverage, 17738,
43750 /* 123309 */ GIR_EraseRootFromParent_Done,
43751 /* 123310 */ // Label 3430: @123310
43752 /* 123310 */ GIM_Try, /*On fail goto*//*Label 3431*/ GIMT_Encode4(123598),
43753 /* 123315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43754 /* 123319 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3432*/ GIMT_Encode4(123348), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17702 //
43755 /* 123326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43756 /* 123330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43757 /* 123334 */ // MIs[1] Operand 1
43758 /* 123334 */ // No operand predicates
43759 /* 123334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43760 /* 123336 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
43761 /* 123336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri),
43762 /* 123339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43763 /* 123341 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
43764 /* 123343 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43765 /* 123346 */ GIR_RootConstrainSelectedInstOperands,
43766 /* 123347 */ // GIR_Coverage, 17702,
43767 /* 123347 */ GIR_EraseRootFromParent_Done,
43768 /* 123348 */ // Label 3432: @123348
43769 /* 123348 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3433*/ GIMT_Encode4(123377), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17734 //
43770 /* 123355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43771 /* 123359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43772 /* 123363 */ // MIs[1] Operand 1
43773 /* 123363 */ // No operand predicates
43774 /* 123363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43775 /* 123365 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
43776 /* 123365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri_EVEX),
43777 /* 123368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43778 /* 123370 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
43779 /* 123372 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43780 /* 123375 */ GIR_RootConstrainSelectedInstOperands,
43781 /* 123376 */ // GIR_Coverage, 17734,
43782 /* 123376 */ GIR_EraseRootFromParent_Done,
43783 /* 123377 */ // Label 3433: @123377
43784 /* 123377 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3434*/ GIMT_Encode4(123409), GIMT_Encode2(GIFBS_HasFastSHLDRotate), // Rule ID 848 //
43785 /* 123384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43786 /* 123388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43787 /* 123392 */ // MIs[1] Operand 1
43788 /* 123392 */ // No operand predicates
43789 /* 123392 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43790 /* 123394 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
43791 /* 123394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT64ri),
43792 /* 123397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43793 /* 123399 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43794 /* 123401 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43795 /* 123404 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43796 /* 123407 */ GIR_RootConstrainSelectedInstOperands,
43797 /* 123408 */ // GIR_Coverage, 848,
43798 /* 123408 */ GIR_EraseRootFromParent_Done,
43799 /* 123409 */ // Label 3434: @123409
43800 /* 123409 */ GIM_Try, /*On fail goto*//*Label 3435*/ GIMT_Encode4(123457),
43801 /* 123414 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
43802 /* 123418 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3436*/ GIMT_Encode4(123437), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17660 //
43803 /* 123425 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43804 /* 123425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1),
43805 /* 123428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43806 /* 123430 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43807 /* 123432 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43808 /* 123435 */ GIR_RootConstrainSelectedInstOperands,
43809 /* 123436 */ // GIR_Coverage, 17660,
43810 /* 123436 */ GIR_EraseRootFromParent_Done,
43811 /* 123437 */ // Label 3436: @123437
43812 /* 123437 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3437*/ GIMT_Encode4(123456), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17668 //
43813 /* 123444 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43814 /* 123444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1_ND),
43815 /* 123447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43816 /* 123449 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43817 /* 123451 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43818 /* 123454 */ GIR_RootConstrainSelectedInstOperands,
43819 /* 123455 */ // GIR_Coverage, 17668,
43820 /* 123455 */ GIR_EraseRootFromParent_Done,
43821 /* 123456 */ // Label 3437: @123456
43822 /* 123456 */ GIM_Reject,
43823 /* 123457 */ // Label 3435: @123457
43824 /* 123457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3438*/ GIMT_Encode4(123489), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 768 //
43825 /* 123464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43826 /* 123468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43827 /* 123472 */ // MIs[1] Operand 1
43828 /* 123472 */ // No operand predicates
43829 /* 123472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43830 /* 123474 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
43831 /* 123474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri),
43832 /* 123477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43833 /* 123479 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43834 /* 123481 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43835 /* 123484 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43836 /* 123487 */ GIR_RootConstrainSelectedInstOperands,
43837 /* 123488 */ // GIR_Coverage, 768,
43838 /* 123488 */ GIR_EraseRootFromParent_Done,
43839 /* 123489 */ // Label 3438: @123489
43840 /* 123489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3439*/ GIMT_Encode4(123521), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 772 //
43841 /* 123496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43842 /* 123500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43843 /* 123504 */ // MIs[1] Operand 1
43844 /* 123504 */ // No operand predicates
43845 /* 123504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43846 /* 123506 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
43847 /* 123506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri_ND),
43848 /* 123509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43849 /* 123511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43850 /* 123513 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43851 /* 123516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43852 /* 123519 */ GIR_RootConstrainSelectedInstOperands,
43853 /* 123520 */ // GIR_Coverage, 772,
43854 /* 123520 */ GIR_EraseRootFromParent_Done,
43855 /* 123521 */ // Label 3439: @123521
43856 /* 123521 */ GIM_Try, /*On fail goto*//*Label 3440*/ GIMT_Encode4(123597),
43857 /* 123526 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43858 /* 123530 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3441*/ GIMT_Encode4(123563), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 784 //
43859 /* 123537 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43860 /* 123537 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43861 /* 123541 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43862 /* 123547 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43863 /* 123551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL),
43864 /* 123554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43865 /* 123556 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43866 /* 123558 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43867 /* 123561 */ GIR_RootConstrainSelectedInstOperands,
43868 /* 123562 */ // GIR_Coverage, 784,
43869 /* 123562 */ GIR_EraseRootFromParent_Done,
43870 /* 123563 */ // Label 3441: @123563
43871 /* 123563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3442*/ GIMT_Encode4(123596), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 788 //
43872 /* 123570 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43873 /* 123570 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43874 /* 123574 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43875 /* 123580 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43876 /* 123584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL_ND),
43877 /* 123587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43878 /* 123589 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43879 /* 123591 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43880 /* 123594 */ GIR_RootConstrainSelectedInstOperands,
43881 /* 123595 */ // GIR_Coverage, 788,
43882 /* 123595 */ GIR_EraseRootFromParent_Done,
43883 /* 123596 */ // Label 3442: @123596
43884 /* 123596 */ GIM_Reject,
43885 /* 123597 */ // Label 3440: @123597
43886 /* 123597 */ GIM_Reject,
43887 /* 123598 */ // Label 3431: @123598
43888 /* 123598 */ GIM_Reject,
43889 /* 123599 */ // Label 3428: @123599
43890 /* 123599 */ GIM_Reject,
43891 /* 123600 */ // Label 3385: @123600
43892 /* 123600 */ GIM_Try, /*On fail goto*//*Label 3443*/ GIMT_Encode4(123862),
43893 /* 123605 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
43894 /* 123608 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
43895 /* 123611 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3444*/ GIMT_Encode4(123643), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22323 //
43896 /* 123618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43897 /* 123622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43898 /* 123626 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43899 /* 123630 */ // (rotr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSHRDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
43900 /* 123630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128r),
43901 /* 123633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43902 /* 123635 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43903 /* 123637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43904 /* 123639 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43905 /* 123641 */ GIR_RootConstrainSelectedInstOperands,
43906 /* 123642 */ // GIR_Coverage, 22323,
43907 /* 123642 */ GIR_EraseRootFromParent_Done,
43908 /* 123643 */ // Label 3444: @123643
43909 /* 123643 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3445*/ GIMT_Encode4(123861), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22331 //
43910 /* 123650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43911 /* 123654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43912 /* 123658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43913 /* 123662 */ // (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] })
43914 /* 123662 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
43915 /* 123665 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43916 /* 123669 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43917 /* 123674 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43918 /* 123676 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
43919 /* 123679 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43920 /* 123683 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43921 /* 123688 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43922 /* 123691 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
43923 /* 123695 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43924 /* 123698 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43925 /* 123703 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43926 /* 123708 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43927 /* 123713 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
43928 /* 123716 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43929 /* 123720 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43930 /* 123725 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43931 /* 123727 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
43932 /* 123730 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43933 /* 123734 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43934 /* 123739 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43935 /* 123742 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43936 /* 123746 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43937 /* 123749 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43938 /* 123754 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43939 /* 123759 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43940 /* 123764 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
43941 /* 123767 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43942 /* 123771 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43943 /* 123776 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43944 /* 123778 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
43945 /* 123781 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43946 /* 123785 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43947 /* 123790 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43948 /* 123793 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
43949 /* 123797 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43950 /* 123800 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43951 /* 123805 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43952 /* 123810 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43953 /* 123815 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43954 /* 123818 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
43955 /* 123822 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43956 /* 123827 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43957 /* 123830 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43958 /* 123833 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43959 /* 123836 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43960 /* 123838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43961 /* 123841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43962 /* 123843 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43963 /* 123850 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43964 /* 123855 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43965 /* 123860 */ // GIR_Coverage, 22331,
43966 /* 123860 */ GIR_EraseRootFromParent_Done,
43967 /* 123861 */ // Label 3445: @123861
43968 /* 123861 */ GIM_Reject,
43969 /* 123862 */ // Label 3443: @123862
43970 /* 123862 */ GIM_Reject,
43971 /* 123863 */ // Label 3386: @123863
43972 /* 123863 */ GIM_Try, /*On fail goto*//*Label 3446*/ GIMT_Encode4(124113),
43973 /* 123868 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
43974 /* 123871 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
43975 /* 123874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43976 /* 123878 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43977 /* 123882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43978 /* 123886 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3447*/ GIMT_Encode4(123906), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22319 //
43979 /* 123893 */ // (rotr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSHRDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
43980 /* 123893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256r),
43981 /* 123896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43982 /* 123898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43983 /* 123900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43984 /* 123902 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43985 /* 123904 */ GIR_RootConstrainSelectedInstOperands,
43986 /* 123905 */ // GIR_Coverage, 22319,
43987 /* 123905 */ GIR_EraseRootFromParent_Done,
43988 /* 123906 */ // Label 3447: @123906
43989 /* 123906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3448*/ GIMT_Encode4(124112), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22327 //
43990 /* 123913 */ // (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] })
43991 /* 123913 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
43992 /* 123916 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43993 /* 123920 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43994 /* 123925 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43995 /* 123927 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
43996 /* 123930 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43997 /* 123934 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43998 /* 123939 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43999 /* 123942 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
44000 /* 123946 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
44001 /* 123949 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44002 /* 123954 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44003 /* 123959 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44004 /* 123964 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
44005 /* 123967 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44006 /* 123971 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44007 /* 123976 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44008 /* 123978 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
44009 /* 123981 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44010 /* 123985 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44011 /* 123990 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44012 /* 123993 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
44013 /* 123997 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
44014 /* 124000 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44015 /* 124005 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44016 /* 124010 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44017 /* 124015 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
44018 /* 124018 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44019 /* 124022 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44020 /* 124027 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44021 /* 124029 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
44022 /* 124032 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44023 /* 124036 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44024 /* 124041 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44025 /* 124044 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44026 /* 124048 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44027 /* 124051 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44028 /* 124056 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44029 /* 124061 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44030 /* 124066 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
44031 /* 124069 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
44032 /* 124073 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44033 /* 124078 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44034 /* 124081 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44035 /* 124084 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
44036 /* 124087 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44037 /* 124089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44038 /* 124092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44039 /* 124094 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44040 /* 124101 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44041 /* 124106 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44042 /* 124111 */ // GIR_Coverage, 22327,
44043 /* 124111 */ GIR_EraseRootFromParent_Done,
44044 /* 124112 */ // Label 3448: @124112
44045 /* 124112 */ GIM_Reject,
44046 /* 124113 */ // Label 3446: @124113
44047 /* 124113 */ GIM_Reject,
44048 /* 124114 */ // Label 3387: @124114
44049 /* 124114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3449*/ GIMT_Encode4(124152), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22315 //
44050 /* 124121 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
44051 /* 124124 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
44052 /* 124127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44053 /* 124131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44054 /* 124135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44055 /* 124139 */ // (rotr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSHRDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
44056 /* 124139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
44057 /* 124142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44058 /* 124144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44059 /* 124146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44060 /* 124148 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44061 /* 124150 */ GIR_RootConstrainSelectedInstOperands,
44062 /* 124151 */ // GIR_Coverage, 22315,
44063 /* 124151 */ GIR_EraseRootFromParent_Done,
44064 /* 124152 */ // Label 3449: @124152
44065 /* 124152 */ GIM_Reject,
44066 /* 124153 */ // Label 3388: @124153
44067 /* 124153 */ GIM_Try, /*On fail goto*//*Label 3450*/ GIMT_Encode4(124414),
44068 /* 124158 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
44069 /* 124161 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
44070 /* 124164 */ GIM_Try, /*On fail goto*//*Label 3451*/ GIMT_Encode4(124249),
44071 /* 124169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44072 /* 124173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44073 /* 124177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3452*/ GIMT_Encode4(124230), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7979 //
44074 /* 124184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44075 /* 124188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44076 /* 124192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44077 /* 124195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44078 /* 124199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44079 /* 124203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44080 /* 124205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44081 /* 124212 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
44082 /* 124212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rm),
44083 /* 124215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44084 /* 124217 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44085 /* 124219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44086 /* 124223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44087 /* 124228 */ GIR_RootConstrainSelectedInstOperands,
44088 /* 124229 */ // GIR_Coverage, 7979,
44089 /* 124229 */ GIR_EraseRootFromParent_Done,
44090 /* 124230 */ // Label 3452: @124230
44091 /* 124230 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3453*/ GIMT_Encode4(124248), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7976 //
44092 /* 124237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44093 /* 124241 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPRORVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
44094 /* 124241 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rr),
44095 /* 124246 */ GIR_RootConstrainSelectedInstOperands,
44096 /* 124247 */ // GIR_Coverage, 7976,
44097 /* 124247 */ GIR_Done,
44098 /* 124248 */ // Label 3453: @124248
44099 /* 124248 */ GIM_Reject,
44100 /* 124249 */ // Label 3451: @124249
44101 /* 124249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3454*/ GIMT_Encode4(124413), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20943 //
44102 /* 124256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
44103 /* 124260 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44104 /* 124264 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44105 /* 124268 */ // (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] })
44106 /* 124268 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
44107 /* 124271 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44108 /* 124275 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44109 /* 124280 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44110 /* 124282 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
44111 /* 124285 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44112 /* 124289 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44113 /* 124294 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44114 /* 124297 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44115 /* 124301 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
44116 /* 124304 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44117 /* 124309 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44118 /* 124314 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44119 /* 124319 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
44120 /* 124322 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44121 /* 124326 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44122 /* 124331 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44123 /* 124333 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
44124 /* 124336 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44125 /* 124340 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44126 /* 124345 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44127 /* 124348 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44128 /* 124352 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
44129 /* 124355 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44130 /* 124360 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44131 /* 124365 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44132 /* 124370 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
44133 /* 124373 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
44134 /* 124377 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44135 /* 124382 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44136 /* 124385 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44137 /* 124388 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44138 /* 124390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44139 /* 124393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44140 /* 124395 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
44141 /* 124402 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
44142 /* 124407 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44143 /* 124412 */ // GIR_Coverage, 20943,
44144 /* 124412 */ GIR_EraseRootFromParent_Done,
44145 /* 124413 */ // Label 3454: @124413
44146 /* 124413 */ GIM_Reject,
44147 /* 124414 */ // Label 3450: @124414
44148 /* 124414 */ GIM_Reject,
44149 /* 124415 */ // Label 3389: @124415
44150 /* 124415 */ GIM_Try, /*On fail goto*//*Label 3455*/ GIMT_Encode4(124664),
44151 /* 124420 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
44152 /* 124423 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
44153 /* 124426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44154 /* 124430 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44155 /* 124434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3456*/ GIMT_Encode4(124487), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7970 //
44156 /* 124441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44157 /* 124445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44158 /* 124449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44159 /* 124452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44160 /* 124456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44161 /* 124460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44162 /* 124462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44163 /* 124469 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
44164 /* 124469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rm),
44165 /* 124472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44166 /* 124474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44167 /* 124476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44168 /* 124480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44169 /* 124485 */ GIR_RootConstrainSelectedInstOperands,
44170 /* 124486 */ // GIR_Coverage, 7970,
44171 /* 124486 */ GIR_EraseRootFromParent_Done,
44172 /* 124487 */ // Label 3456: @124487
44173 /* 124487 */ GIM_Try, /*On fail goto*//*Label 3457*/ GIMT_Encode4(124663),
44174 /* 124492 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44175 /* 124496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3458*/ GIMT_Encode4(124510), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7967 //
44176 /* 124503 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPRORVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
44177 /* 124503 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rr),
44178 /* 124508 */ GIR_RootConstrainSelectedInstOperands,
44179 /* 124509 */ // GIR_Coverage, 7967,
44180 /* 124509 */ GIR_Done,
44181 /* 124510 */ // Label 3458: @124510
44182 /* 124510 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3459*/ GIMT_Encode4(124662), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20939 //
44183 /* 124517 */ // (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] })
44184 /* 124517 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
44185 /* 124520 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44186 /* 124524 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44187 /* 124529 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44188 /* 124531 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
44189 /* 124534 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44190 /* 124538 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44191 /* 124543 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44192 /* 124546 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44193 /* 124550 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
44194 /* 124553 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44195 /* 124558 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44196 /* 124563 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44197 /* 124568 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
44198 /* 124571 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44199 /* 124575 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44200 /* 124580 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44201 /* 124582 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
44202 /* 124585 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44203 /* 124589 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44204 /* 124594 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44205 /* 124597 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44206 /* 124601 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44207 /* 124604 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44208 /* 124609 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44209 /* 124614 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44210 /* 124619 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
44211 /* 124622 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
44212 /* 124626 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44213 /* 124631 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44214 /* 124634 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44215 /* 124637 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44216 /* 124639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44217 /* 124642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44218 /* 124644 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44219 /* 124651 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44220 /* 124656 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44221 /* 124661 */ // GIR_Coverage, 20939,
44222 /* 124661 */ GIR_EraseRootFromParent_Done,
44223 /* 124662 */ // Label 3459: @124662
44224 /* 124662 */ GIM_Reject,
44225 /* 124663 */ // Label 3457: @124663
44226 /* 124663 */ GIM_Reject,
44227 /* 124664 */ // Label 3455: @124664
44228 /* 124664 */ GIM_Reject,
44229 /* 124665 */ // Label 3390: @124665
44230 /* 124665 */ GIM_Try, /*On fail goto*//*Label 3460*/ GIMT_Encode4(124756),
44231 /* 124670 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
44232 /* 124673 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
44233 /* 124676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44234 /* 124680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44235 /* 124684 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3461*/ GIMT_Encode4(124737), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 7961 //
44236 /* 124691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44237 /* 124695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44238 /* 124699 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44239 /* 124702 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44240 /* 124706 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44241 /* 124710 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44242 /* 124712 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44243 /* 124719 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
44244 /* 124719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrm),
44245 /* 124722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44246 /* 124724 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44247 /* 124726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44248 /* 124730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44249 /* 124735 */ GIR_RootConstrainSelectedInstOperands,
44250 /* 124736 */ // GIR_Coverage, 7961,
44251 /* 124736 */ GIR_EraseRootFromParent_Done,
44252 /* 124737 */ // Label 3461: @124737
44253 /* 124737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3462*/ GIMT_Encode4(124755), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 7958 //
44254 /* 124744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44255 /* 124748 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPRORVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
44256 /* 124748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
44257 /* 124753 */ GIR_RootConstrainSelectedInstOperands,
44258 /* 124754 */ // GIR_Coverage, 7958,
44259 /* 124754 */ GIR_Done,
44260 /* 124755 */ // Label 3462: @124755
44261 /* 124755 */ GIM_Reject,
44262 /* 124756 */ // Label 3460: @124756
44263 /* 124756 */ GIM_Reject,
44264 /* 124757 */ // Label 3391: @124757
44265 /* 124757 */ GIM_Try, /*On fail goto*//*Label 3463*/ GIMT_Encode4(125018),
44266 /* 124762 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
44267 /* 124765 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
44268 /* 124768 */ GIM_Try, /*On fail goto*//*Label 3464*/ GIMT_Encode4(124853),
44269 /* 124773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44270 /* 124777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44271 /* 124781 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3465*/ GIMT_Encode4(124834), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8006 //
44272 /* 124788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44273 /* 124792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44274 /* 124796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44275 /* 124799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44276 /* 124803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44277 /* 124807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44278 /* 124809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44279 /* 124816 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
44280 /* 124816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rm),
44281 /* 124819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44282 /* 124821 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44283 /* 124823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44284 /* 124827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44285 /* 124832 */ GIR_RootConstrainSelectedInstOperands,
44286 /* 124833 */ // GIR_Coverage, 8006,
44287 /* 124833 */ GIR_EraseRootFromParent_Done,
44288 /* 124834 */ // Label 3465: @124834
44289 /* 124834 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3466*/ GIMT_Encode4(124852), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8003 //
44290 /* 124841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44291 /* 124845 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPRORVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
44292 /* 124845 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rr),
44293 /* 124850 */ GIR_RootConstrainSelectedInstOperands,
44294 /* 124851 */ // GIR_Coverage, 8003,
44295 /* 124851 */ GIR_Done,
44296 /* 124852 */ // Label 3466: @124852
44297 /* 124852 */ GIM_Reject,
44298 /* 124853 */ // Label 3464: @124853
44299 /* 124853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3467*/ GIMT_Encode4(125017), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20935 //
44300 /* 124860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
44301 /* 124864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44302 /* 124868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44303 /* 124872 */ // (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] })
44304 /* 124872 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
44305 /* 124875 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44306 /* 124879 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44307 /* 124884 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44308 /* 124886 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
44309 /* 124889 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44310 /* 124893 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44311 /* 124898 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44312 /* 124901 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44313 /* 124905 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
44314 /* 124908 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44315 /* 124913 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44316 /* 124918 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44317 /* 124923 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
44318 /* 124926 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44319 /* 124930 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44320 /* 124935 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44321 /* 124937 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
44322 /* 124940 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44323 /* 124944 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44324 /* 124949 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44325 /* 124952 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44326 /* 124956 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
44327 /* 124959 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44328 /* 124964 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44329 /* 124969 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44330 /* 124974 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
44331 /* 124977 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
44332 /* 124981 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44333 /* 124986 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44334 /* 124989 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44335 /* 124992 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44336 /* 124994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44337 /* 124997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44338 /* 124999 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
44339 /* 125006 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
44340 /* 125011 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44341 /* 125016 */ // GIR_Coverage, 20935,
44342 /* 125016 */ GIR_EraseRootFromParent_Done,
44343 /* 125017 */ // Label 3467: @125017
44344 /* 125017 */ GIM_Reject,
44345 /* 125018 */ // Label 3463: @125018
44346 /* 125018 */ GIM_Reject,
44347 /* 125019 */ // Label 3392: @125019
44348 /* 125019 */ GIM_Try, /*On fail goto*//*Label 3468*/ GIMT_Encode4(125268),
44349 /* 125024 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
44350 /* 125027 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
44351 /* 125030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44352 /* 125034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44353 /* 125038 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3469*/ GIMT_Encode4(125091), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7997 //
44354 /* 125045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44355 /* 125049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44356 /* 125053 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44357 /* 125056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44358 /* 125060 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44359 /* 125064 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44360 /* 125066 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44361 /* 125073 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
44362 /* 125073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rm),
44363 /* 125076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44364 /* 125078 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44365 /* 125080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44366 /* 125084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44367 /* 125089 */ GIR_RootConstrainSelectedInstOperands,
44368 /* 125090 */ // GIR_Coverage, 7997,
44369 /* 125090 */ GIR_EraseRootFromParent_Done,
44370 /* 125091 */ // Label 3469: @125091
44371 /* 125091 */ GIM_Try, /*On fail goto*//*Label 3470*/ GIMT_Encode4(125267),
44372 /* 125096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44373 /* 125100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3471*/ GIMT_Encode4(125114), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7994 //
44374 /* 125107 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPRORVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
44375 /* 125107 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rr),
44376 /* 125112 */ GIR_RootConstrainSelectedInstOperands,
44377 /* 125113 */ // GIR_Coverage, 7994,
44378 /* 125113 */ GIR_Done,
44379 /* 125114 */ // Label 3471: @125114
44380 /* 125114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3472*/ GIMT_Encode4(125266), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20931 //
44381 /* 125121 */ // (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] })
44382 /* 125121 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
44383 /* 125124 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44384 /* 125128 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44385 /* 125133 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44386 /* 125135 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
44387 /* 125138 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44388 /* 125142 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44389 /* 125147 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44390 /* 125150 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44391 /* 125154 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
44392 /* 125157 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44393 /* 125162 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44394 /* 125167 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44395 /* 125172 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
44396 /* 125175 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44397 /* 125179 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44398 /* 125184 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44399 /* 125186 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
44400 /* 125189 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44401 /* 125193 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44402 /* 125198 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44403 /* 125201 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44404 /* 125205 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44405 /* 125208 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44406 /* 125213 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44407 /* 125218 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44408 /* 125223 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
44409 /* 125226 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
44410 /* 125230 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44411 /* 125235 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44412 /* 125238 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44413 /* 125241 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44414 /* 125243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44415 /* 125246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44416 /* 125248 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44417 /* 125255 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44418 /* 125260 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44419 /* 125265 */ // GIR_Coverage, 20931,
44420 /* 125265 */ GIR_EraseRootFromParent_Done,
44421 /* 125266 */ // Label 3472: @125266
44422 /* 125266 */ GIM_Reject,
44423 /* 125267 */ // Label 3470: @125267
44424 /* 125267 */ GIM_Reject,
44425 /* 125268 */ // Label 3468: @125268
44426 /* 125268 */ GIM_Reject,
44427 /* 125269 */ // Label 3393: @125269
44428 /* 125269 */ GIM_Try, /*On fail goto*//*Label 3473*/ GIMT_Encode4(125360),
44429 /* 125274 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
44430 /* 125277 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
44431 /* 125280 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44432 /* 125284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44433 /* 125288 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3474*/ GIMT_Encode4(125341), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 7988 //
44434 /* 125295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44435 /* 125299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44436 /* 125303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44437 /* 125306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44438 /* 125310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44439 /* 125314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44440 /* 125316 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44441 /* 125323 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
44442 /* 125323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrm),
44443 /* 125326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44444 /* 125328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44445 /* 125330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44446 /* 125334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44447 /* 125339 */ GIR_RootConstrainSelectedInstOperands,
44448 /* 125340 */ // GIR_Coverage, 7988,
44449 /* 125340 */ GIR_EraseRootFromParent_Done,
44450 /* 125341 */ // Label 3474: @125341
44451 /* 125341 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3475*/ GIMT_Encode4(125359), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 7985 //
44452 /* 125348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44453 /* 125352 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPRORVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
44454 /* 125352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
44455 /* 125357 */ GIR_RootConstrainSelectedInstOperands,
44456 /* 125358 */ // GIR_Coverage, 7985,
44457 /* 125358 */ GIR_Done,
44458 /* 125359 */ // Label 3475: @125359
44459 /* 125359 */ GIM_Reject,
44460 /* 125360 */ // Label 3473: @125360
44461 /* 125360 */ GIM_Reject,
44462 /* 125361 */ // Label 3394: @125361
44463 /* 125361 */ GIM_Reject,
44464 /* 125362 */ // Label 35: @125362
44465 /* 125362 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 3490*/ GIMT_Encode4(128737),
44466 /* 125373 */ /*GILLT_s8*//*Label 3476*/ GIMT_Encode4(125469),
44467 /* 125377 */ /*GILLT_s16*//*Label 3477*/ GIMT_Encode4(125678),
44468 /* 125381 */ /*GILLT_s32*//*Label 3478*/ GIMT_Encode4(125887),
44469 /* 125385 */ /*GILLT_s64*//*Label 3479*/ GIMT_Encode4(126128), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
44470 /* 125421 */ /*GILLT_v16s8*//*Label 3480*/ GIMT_Encode4(126369), GIMT_Encode4(0), GIMT_Encode4(0),
44471 /* 125433 */ /*GILLT_v8s16*//*Label 3481*/ GIMT_Encode4(126524),
44472 /* 125437 */ /*GILLT_v16s16*//*Label 3482*/ GIMT_Encode4(126935),
44473 /* 125441 */ /*GILLT_v32s16*//*Label 3483*/ GIMT_Encode4(127186),
44474 /* 125445 */ /*GILLT_v4s32*//*Label 3484*/ GIMT_Encode4(127225),
44475 /* 125449 */ /*GILLT_v8s32*//*Label 3485*/ GIMT_Encode4(127639),
44476 /* 125453 */ /*GILLT_v16s32*//*Label 3486*/ GIMT_Encode4(127889),
44477 /* 125457 */ /*GILLT_v2s64*//*Label 3487*/ GIMT_Encode4(127981),
44478 /* 125461 */ /*GILLT_v4s64*//*Label 3488*/ GIMT_Encode4(128395),
44479 /* 125465 */ /*GILLT_v8s64*//*Label 3489*/ GIMT_Encode4(128645),
44480 /* 125469 */ // Label 3476: @125469
44481 /* 125469 */ GIM_Try, /*On fail goto*//*Label 3491*/ GIMT_Encode4(125677),
44482 /* 125474 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
44483 /* 125477 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44484 /* 125480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44485 /* 125484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44486 /* 125488 */ GIM_Try, /*On fail goto*//*Label 3492*/ GIMT_Encode4(125536),
44487 /* 125493 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
44488 /* 125497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3493*/ GIMT_Encode4(125516), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17653 //
44489 /* 125504 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44490 /* 125504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1),
44491 /* 125507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44492 /* 125509 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44493 /* 125511 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44494 /* 125514 */ GIR_RootConstrainSelectedInstOperands,
44495 /* 125515 */ // GIR_Coverage, 17653,
44496 /* 125515 */ GIR_EraseRootFromParent_Done,
44497 /* 125516 */ // Label 3493: @125516
44498 /* 125516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3494*/ GIMT_Encode4(125535), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17661 //
44499 /* 125523 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44500 /* 125523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1_ND),
44501 /* 125526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44502 /* 125528 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44503 /* 125530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44504 /* 125533 */ GIR_RootConstrainSelectedInstOperands,
44505 /* 125534 */ // GIR_Coverage, 17661,
44506 /* 125534 */ GIR_EraseRootFromParent_Done,
44507 /* 125535 */ // Label 3494: @125535
44508 /* 125535 */ GIM_Reject,
44509 /* 125536 */ // Label 3492: @125536
44510 /* 125536 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3495*/ GIMT_Encode4(125568), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 733 //
44511 /* 125543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44512 /* 125547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44513 /* 125551 */ // MIs[1] Operand 1
44514 /* 125551 */ // No operand predicates
44515 /* 125551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44516 /* 125553 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
44517 /* 125553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri),
44518 /* 125556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44519 /* 125558 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44520 /* 125560 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44521 /* 125563 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44522 /* 125566 */ GIR_RootConstrainSelectedInstOperands,
44523 /* 125567 */ // GIR_Coverage, 733,
44524 /* 125567 */ GIR_EraseRootFromParent_Done,
44525 /* 125568 */ // Label 3495: @125568
44526 /* 125568 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3496*/ GIMT_Encode4(125600), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 737 //
44527 /* 125575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44528 /* 125579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44529 /* 125583 */ // MIs[1] Operand 1
44530 /* 125583 */ // No operand predicates
44531 /* 125583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44532 /* 125585 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
44533 /* 125585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri_ND),
44534 /* 125588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44535 /* 125590 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44536 /* 125592 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44537 /* 125595 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44538 /* 125598 */ GIR_RootConstrainSelectedInstOperands,
44539 /* 125599 */ // GIR_Coverage, 737,
44540 /* 125599 */ GIR_EraseRootFromParent_Done,
44541 /* 125600 */ // Label 3496: @125600
44542 /* 125600 */ GIM_Try, /*On fail goto*//*Label 3497*/ GIMT_Encode4(125676),
44543 /* 125605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44544 /* 125609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3498*/ GIMT_Encode4(125642), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 749 //
44545 /* 125616 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44546 /* 125616 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44547 /* 125620 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44548 /* 125626 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44549 /* 125630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL),
44550 /* 125633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44551 /* 125635 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44552 /* 125637 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44553 /* 125640 */ GIR_RootConstrainSelectedInstOperands,
44554 /* 125641 */ // GIR_Coverage, 749,
44555 /* 125641 */ GIR_EraseRootFromParent_Done,
44556 /* 125642 */ // Label 3498: @125642
44557 /* 125642 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3499*/ GIMT_Encode4(125675), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 753 //
44558 /* 125649 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44559 /* 125649 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44560 /* 125653 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44561 /* 125659 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44562 /* 125663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL_ND),
44563 /* 125666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44564 /* 125668 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44565 /* 125670 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44566 /* 125673 */ GIR_RootConstrainSelectedInstOperands,
44567 /* 125674 */ // GIR_Coverage, 753,
44568 /* 125674 */ GIR_EraseRootFromParent_Done,
44569 /* 125675 */ // Label 3499: @125675
44570 /* 125675 */ GIM_Reject,
44571 /* 125676 */ // Label 3497: @125676
44572 /* 125676 */ GIM_Reject,
44573 /* 125677 */ // Label 3491: @125677
44574 /* 125677 */ GIM_Reject,
44575 /* 125678 */ // Label 3477: @125678
44576 /* 125678 */ GIM_Try, /*On fail goto*//*Label 3500*/ GIMT_Encode4(125886),
44577 /* 125683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
44578 /* 125686 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44579 /* 125689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44580 /* 125693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44581 /* 125697 */ GIM_Try, /*On fail goto*//*Label 3501*/ GIMT_Encode4(125745),
44582 /* 125702 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
44583 /* 125706 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3502*/ GIMT_Encode4(125725), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17654 //
44584 /* 125713 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44585 /* 125713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1),
44586 /* 125716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44587 /* 125718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44588 /* 125720 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44589 /* 125723 */ GIR_RootConstrainSelectedInstOperands,
44590 /* 125724 */ // GIR_Coverage, 17654,
44591 /* 125724 */ GIR_EraseRootFromParent_Done,
44592 /* 125725 */ // Label 3502: @125725
44593 /* 125725 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3503*/ GIMT_Encode4(125744), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17662 //
44594 /* 125732 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44595 /* 125732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1_ND),
44596 /* 125735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44597 /* 125737 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44598 /* 125739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44599 /* 125742 */ GIR_RootConstrainSelectedInstOperands,
44600 /* 125743 */ // GIR_Coverage, 17662,
44601 /* 125743 */ GIR_EraseRootFromParent_Done,
44602 /* 125744 */ // Label 3503: @125744
44603 /* 125744 */ GIM_Reject,
44604 /* 125745 */ // Label 3501: @125745
44605 /* 125745 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3504*/ GIMT_Encode4(125777), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 734 //
44606 /* 125752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44607 /* 125756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44608 /* 125760 */ // MIs[1] Operand 1
44609 /* 125760 */ // No operand predicates
44610 /* 125760 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44611 /* 125762 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44612 /* 125762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
44613 /* 125765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44614 /* 125767 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44615 /* 125769 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44616 /* 125772 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44617 /* 125775 */ GIR_RootConstrainSelectedInstOperands,
44618 /* 125776 */ // GIR_Coverage, 734,
44619 /* 125776 */ GIR_EraseRootFromParent_Done,
44620 /* 125777 */ // Label 3504: @125777
44621 /* 125777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3505*/ GIMT_Encode4(125809), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 738 //
44622 /* 125784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44623 /* 125788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44624 /* 125792 */ // MIs[1] Operand 1
44625 /* 125792 */ // No operand predicates
44626 /* 125792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44627 /* 125794 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44628 /* 125794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri_ND),
44629 /* 125797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44630 /* 125799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44631 /* 125801 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44632 /* 125804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44633 /* 125807 */ GIR_RootConstrainSelectedInstOperands,
44634 /* 125808 */ // GIR_Coverage, 738,
44635 /* 125808 */ GIR_EraseRootFromParent_Done,
44636 /* 125809 */ // Label 3505: @125809
44637 /* 125809 */ GIM_Try, /*On fail goto*//*Label 3506*/ GIMT_Encode4(125885),
44638 /* 125814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44639 /* 125818 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3507*/ GIMT_Encode4(125851), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 750 //
44640 /* 125825 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44641 /* 125825 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44642 /* 125829 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44643 /* 125835 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44644 /* 125839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL),
44645 /* 125842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44646 /* 125844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44647 /* 125846 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44648 /* 125849 */ GIR_RootConstrainSelectedInstOperands,
44649 /* 125850 */ // GIR_Coverage, 750,
44650 /* 125850 */ GIR_EraseRootFromParent_Done,
44651 /* 125851 */ // Label 3507: @125851
44652 /* 125851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3508*/ GIMT_Encode4(125884), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 754 //
44653 /* 125858 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44654 /* 125858 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44655 /* 125862 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44656 /* 125868 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44657 /* 125872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL_ND),
44658 /* 125875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44659 /* 125877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44660 /* 125879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44661 /* 125882 */ GIR_RootConstrainSelectedInstOperands,
44662 /* 125883 */ // GIR_Coverage, 754,
44663 /* 125883 */ GIR_EraseRootFromParent_Done,
44664 /* 125884 */ // Label 3508: @125884
44665 /* 125884 */ GIM_Reject,
44666 /* 125885 */ // Label 3506: @125885
44667 /* 125885 */ GIM_Reject,
44668 /* 125886 */ // Label 3500: @125886
44669 /* 125886 */ GIM_Reject,
44670 /* 125887 */ // Label 3478: @125887
44671 /* 125887 */ GIM_Try, /*On fail goto*//*Label 3509*/ GIMT_Encode4(126127),
44672 /* 125892 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
44673 /* 125895 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44674 /* 125898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44675 /* 125902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44676 /* 125906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3510*/ GIMT_Encode4(125938), GIMT_Encode2(GIFBS_HasFastSHLDRotate), // Rule ID 845 //
44677 /* 125913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44678 /* 125917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44679 /* 125921 */ // MIs[1] Operand 1
44680 /* 125921 */ // No operand predicates
44681 /* 125921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44682 /* 125923 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
44683 /* 125923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT32ri),
44684 /* 125926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44685 /* 125928 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44686 /* 125930 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44687 /* 125933 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44688 /* 125936 */ GIR_RootConstrainSelectedInstOperands,
44689 /* 125937 */ // GIR_Coverage, 845,
44690 /* 125937 */ GIR_EraseRootFromParent_Done,
44691 /* 125938 */ // Label 3510: @125938
44692 /* 125938 */ GIM_Try, /*On fail goto*//*Label 3511*/ GIMT_Encode4(125986),
44693 /* 125943 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
44694 /* 125947 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3512*/ GIMT_Encode4(125966), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17655 //
44695 /* 125954 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44696 /* 125954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1),
44697 /* 125957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44698 /* 125959 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44699 /* 125961 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44700 /* 125964 */ GIR_RootConstrainSelectedInstOperands,
44701 /* 125965 */ // GIR_Coverage, 17655,
44702 /* 125965 */ GIR_EraseRootFromParent_Done,
44703 /* 125966 */ // Label 3512: @125966
44704 /* 125966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3513*/ GIMT_Encode4(125985), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17663 //
44705 /* 125973 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44706 /* 125973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1_ND),
44707 /* 125976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44708 /* 125978 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44709 /* 125980 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44710 /* 125983 */ GIR_RootConstrainSelectedInstOperands,
44711 /* 125984 */ // GIR_Coverage, 17663,
44712 /* 125984 */ GIR_EraseRootFromParent_Done,
44713 /* 125985 */ // Label 3513: @125985
44714 /* 125985 */ GIM_Reject,
44715 /* 125986 */ // Label 3511: @125986
44716 /* 125986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3514*/ GIMT_Encode4(126018), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 735 //
44717 /* 125993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44718 /* 125997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44719 /* 126001 */ // MIs[1] Operand 1
44720 /* 126001 */ // No operand predicates
44721 /* 126001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44722 /* 126003 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44723 /* 126003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri),
44724 /* 126006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44725 /* 126008 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44726 /* 126010 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44727 /* 126013 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44728 /* 126016 */ GIR_RootConstrainSelectedInstOperands,
44729 /* 126017 */ // GIR_Coverage, 735,
44730 /* 126017 */ GIR_EraseRootFromParent_Done,
44731 /* 126018 */ // Label 3514: @126018
44732 /* 126018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3515*/ GIMT_Encode4(126050), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 739 //
44733 /* 126025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44734 /* 126029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44735 /* 126033 */ // MIs[1] Operand 1
44736 /* 126033 */ // No operand predicates
44737 /* 126033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44738 /* 126035 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44739 /* 126035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri_ND),
44740 /* 126038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44741 /* 126040 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44742 /* 126042 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44743 /* 126045 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44744 /* 126048 */ GIR_RootConstrainSelectedInstOperands,
44745 /* 126049 */ // GIR_Coverage, 739,
44746 /* 126049 */ GIR_EraseRootFromParent_Done,
44747 /* 126050 */ // Label 3515: @126050
44748 /* 126050 */ GIM_Try, /*On fail goto*//*Label 3516*/ GIMT_Encode4(126126),
44749 /* 126055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44750 /* 126059 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3517*/ GIMT_Encode4(126092), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 751 //
44751 /* 126066 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44752 /* 126066 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44753 /* 126070 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44754 /* 126076 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44755 /* 126080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL),
44756 /* 126083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44757 /* 126085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44758 /* 126087 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44759 /* 126090 */ GIR_RootConstrainSelectedInstOperands,
44760 /* 126091 */ // GIR_Coverage, 751,
44761 /* 126091 */ GIR_EraseRootFromParent_Done,
44762 /* 126092 */ // Label 3517: @126092
44763 /* 126092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3518*/ GIMT_Encode4(126125), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 755 //
44764 /* 126099 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44765 /* 126099 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44766 /* 126103 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44767 /* 126109 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44768 /* 126113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL_ND),
44769 /* 126116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44770 /* 126118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44771 /* 126120 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44772 /* 126123 */ GIR_RootConstrainSelectedInstOperands,
44773 /* 126124 */ // GIR_Coverage, 755,
44774 /* 126124 */ GIR_EraseRootFromParent_Done,
44775 /* 126125 */ // Label 3518: @126125
44776 /* 126125 */ GIM_Reject,
44777 /* 126126 */ // Label 3516: @126126
44778 /* 126126 */ GIM_Reject,
44779 /* 126127 */ // Label 3509: @126127
44780 /* 126127 */ GIM_Reject,
44781 /* 126128 */ // Label 3479: @126128
44782 /* 126128 */ GIM_Try, /*On fail goto*//*Label 3519*/ GIMT_Encode4(126368),
44783 /* 126133 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
44784 /* 126136 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44785 /* 126139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44786 /* 126143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44787 /* 126147 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3520*/ GIMT_Encode4(126179), GIMT_Encode2(GIFBS_HasFastSHLDRotate), // Rule ID 846 //
44788 /* 126154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44789 /* 126158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44790 /* 126162 */ // MIs[1] Operand 1
44791 /* 126162 */ // No operand predicates
44792 /* 126162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44793 /* 126164 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
44794 /* 126164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT64ri),
44795 /* 126167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44796 /* 126169 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44797 /* 126171 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44798 /* 126174 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44799 /* 126177 */ GIR_RootConstrainSelectedInstOperands,
44800 /* 126178 */ // GIR_Coverage, 846,
44801 /* 126178 */ GIR_EraseRootFromParent_Done,
44802 /* 126179 */ // Label 3520: @126179
44803 /* 126179 */ GIM_Try, /*On fail goto*//*Label 3521*/ GIMT_Encode4(126227),
44804 /* 126184 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
44805 /* 126188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3522*/ GIMT_Encode4(126207), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17656 //
44806 /* 126195 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44807 /* 126195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1),
44808 /* 126198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44809 /* 126200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44810 /* 126202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44811 /* 126205 */ GIR_RootConstrainSelectedInstOperands,
44812 /* 126206 */ // GIR_Coverage, 17656,
44813 /* 126206 */ GIR_EraseRootFromParent_Done,
44814 /* 126207 */ // Label 3522: @126207
44815 /* 126207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3523*/ GIMT_Encode4(126226), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17664 //
44816 /* 126214 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44817 /* 126214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1_ND),
44818 /* 126217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44819 /* 126219 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44820 /* 126221 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44821 /* 126224 */ GIR_RootConstrainSelectedInstOperands,
44822 /* 126225 */ // GIR_Coverage, 17664,
44823 /* 126225 */ GIR_EraseRootFromParent_Done,
44824 /* 126226 */ // Label 3523: @126226
44825 /* 126226 */ GIM_Reject,
44826 /* 126227 */ // Label 3521: @126227
44827 /* 126227 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3524*/ GIMT_Encode4(126259), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 736 //
44828 /* 126234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44829 /* 126238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44830 /* 126242 */ // MIs[1] Operand 1
44831 /* 126242 */ // No operand predicates
44832 /* 126242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44833 /* 126244 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
44834 /* 126244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri),
44835 /* 126247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44836 /* 126249 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44837 /* 126251 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44838 /* 126254 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44839 /* 126257 */ GIR_RootConstrainSelectedInstOperands,
44840 /* 126258 */ // GIR_Coverage, 736,
44841 /* 126258 */ GIR_EraseRootFromParent_Done,
44842 /* 126259 */ // Label 3524: @126259
44843 /* 126259 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3525*/ GIMT_Encode4(126291), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 740 //
44844 /* 126266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44845 /* 126270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44846 /* 126274 */ // MIs[1] Operand 1
44847 /* 126274 */ // No operand predicates
44848 /* 126274 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44849 /* 126276 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
44850 /* 126276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri_ND),
44851 /* 126279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44852 /* 126281 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44853 /* 126283 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44854 /* 126286 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44855 /* 126289 */ GIR_RootConstrainSelectedInstOperands,
44856 /* 126290 */ // GIR_Coverage, 740,
44857 /* 126290 */ GIR_EraseRootFromParent_Done,
44858 /* 126291 */ // Label 3525: @126291
44859 /* 126291 */ GIM_Try, /*On fail goto*//*Label 3526*/ GIMT_Encode4(126367),
44860 /* 126296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44861 /* 126300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3527*/ GIMT_Encode4(126333), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 752 //
44862 /* 126307 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44863 /* 126307 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44864 /* 126311 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44865 /* 126317 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44866 /* 126321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL),
44867 /* 126324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44868 /* 126326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44869 /* 126328 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44870 /* 126331 */ GIR_RootConstrainSelectedInstOperands,
44871 /* 126332 */ // GIR_Coverage, 752,
44872 /* 126332 */ GIR_EraseRootFromParent_Done,
44873 /* 126333 */ // Label 3527: @126333
44874 /* 126333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3528*/ GIMT_Encode4(126366), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 756 //
44875 /* 126340 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44876 /* 126340 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44877 /* 126344 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44878 /* 126350 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44879 /* 126354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL_ND),
44880 /* 126357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44881 /* 126359 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44882 /* 126361 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44883 /* 126364 */ GIR_RootConstrainSelectedInstOperands,
44884 /* 126365 */ // GIR_Coverage, 756,
44885 /* 126365 */ GIR_EraseRootFromParent_Done,
44886 /* 126366 */ // Label 3528: @126366
44887 /* 126366 */ GIM_Reject,
44888 /* 126367 */ // Label 3526: @126367
44889 /* 126367 */ GIM_Reject,
44890 /* 126368 */ // Label 3519: @126368
44891 /* 126368 */ GIM_Reject,
44892 /* 126369 */ // Label 3480: @126369
44893 /* 126369 */ GIM_Try, /*On fail goto*//*Label 3529*/ GIMT_Encode4(126523),
44894 /* 126374 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
44895 /* 126377 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
44896 /* 126380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44897 /* 126384 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3530*/ GIMT_Encode4(126441), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1553 //
44898 /* 126391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44899 /* 126395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44900 /* 126399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44901 /* 126402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44902 /* 126406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44903 /* 126410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44904 /* 126414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44905 /* 126416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44906 /* 126423 */ // (rotl:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src2) => (VPROTBmr:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v16i8] }:$src2)
44907 /* 126423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBmr),
44908 /* 126426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44909 /* 126428 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44910 /* 126432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44911 /* 126434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44912 /* 126439 */ GIR_RootConstrainSelectedInstOperands,
44913 /* 126440 */ // GIR_Coverage, 1553,
44914 /* 126440 */ GIR_EraseRootFromParent_Done,
44915 /* 126441 */ // Label 3530: @126441
44916 /* 126441 */ GIM_Try, /*On fail goto*//*Label 3531*/ GIMT_Encode4(126522),
44917 /* 126446 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44918 /* 126450 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3532*/ GIMT_Encode4(126503), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1552 //
44919 /* 126457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44920 /* 126461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44921 /* 126465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44922 /* 126468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44923 /* 126472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44924 /* 126476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44925 /* 126478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44926 /* 126485 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
44927 /* 126485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBrm),
44928 /* 126488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44929 /* 126490 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44930 /* 126492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44931 /* 126496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44932 /* 126501 */ GIR_RootConstrainSelectedInstOperands,
44933 /* 126502 */ // GIR_Coverage, 1552,
44934 /* 126502 */ GIR_EraseRootFromParent_Done,
44935 /* 126503 */ // Label 3532: @126503
44936 /* 126503 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3533*/ GIMT_Encode4(126521), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1551 //
44937 /* 126510 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44938 /* 126514 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPROTBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
44939 /* 126514 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTBrr),
44940 /* 126519 */ GIR_RootConstrainSelectedInstOperands,
44941 /* 126520 */ // GIR_Coverage, 1551,
44942 /* 126520 */ GIR_Done,
44943 /* 126521 */ // Label 3533: @126521
44944 /* 126521 */ GIM_Reject,
44945 /* 126522 */ // Label 3531: @126522
44946 /* 126522 */ GIM_Reject,
44947 /* 126523 */ // Label 3529: @126523
44948 /* 126523 */ GIM_Reject,
44949 /* 126524 */ // Label 3481: @126524
44950 /* 126524 */ GIM_Try, /*On fail goto*//*Label 3534*/ GIMT_Encode4(126934),
44951 /* 126529 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
44952 /* 126532 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
44953 /* 126535 */ GIM_Try, /*On fail goto*//*Label 3535*/ GIMT_Encode4(126683),
44954 /* 126540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44955 /* 126544 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3536*/ GIMT_Encode4(126601), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1562 //
44956 /* 126551 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44957 /* 126555 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44958 /* 126559 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44959 /* 126562 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44960 /* 126566 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44961 /* 126570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44962 /* 126574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44963 /* 126576 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44964 /* 126583 */ // (rotl:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src2) => (VPROTWmr:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v8i16] }:$src2)
44965 /* 126583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWmr),
44966 /* 126586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44967 /* 126588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44968 /* 126592 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44969 /* 126594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44970 /* 126599 */ GIR_RootConstrainSelectedInstOperands,
44971 /* 126600 */ // GIR_Coverage, 1562,
44972 /* 126600 */ GIR_EraseRootFromParent_Done,
44973 /* 126601 */ // Label 3536: @126601
44974 /* 126601 */ GIM_Try, /*On fail goto*//*Label 3537*/ GIMT_Encode4(126682),
44975 /* 126606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44976 /* 126610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3538*/ GIMT_Encode4(126663), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1561 //
44977 /* 126617 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44978 /* 126621 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44979 /* 126625 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44980 /* 126628 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44981 /* 126632 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44982 /* 126636 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44983 /* 126638 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44984 /* 126645 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
44985 /* 126645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWrm),
44986 /* 126648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44987 /* 126650 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44988 /* 126652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44989 /* 126656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44990 /* 126661 */ GIR_RootConstrainSelectedInstOperands,
44991 /* 126662 */ // GIR_Coverage, 1561,
44992 /* 126662 */ GIR_EraseRootFromParent_Done,
44993 /* 126663 */ // Label 3538: @126663
44994 /* 126663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3539*/ GIMT_Encode4(126681), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1560 //
44995 /* 126670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44996 /* 126674 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPROTWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
44997 /* 126674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTWrr),
44998 /* 126679 */ GIR_RootConstrainSelectedInstOperands,
44999 /* 126680 */ // GIR_Coverage, 1560,
45000 /* 126680 */ GIR_Done,
45001 /* 126681 */ // Label 3539: @126681
45002 /* 126681 */ GIM_Reject,
45003 /* 126682 */ // Label 3537: @126682
45004 /* 126682 */ GIM_Reject,
45005 /* 126683 */ // Label 3535: @126683
45006 /* 126683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3540*/ GIMT_Encode4(126715), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22321 //
45007 /* 126690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45008 /* 126694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45009 /* 126698 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45010 /* 126702 */ // (rotl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSHLDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
45011 /* 126702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128r),
45012 /* 126705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45013 /* 126707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45014 /* 126709 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45015 /* 126711 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45016 /* 126713 */ GIR_RootConstrainSelectedInstOperands,
45017 /* 126714 */ // GIR_Coverage, 22321,
45018 /* 126714 */ GIR_EraseRootFromParent_Done,
45019 /* 126715 */ // Label 3540: @126715
45020 /* 126715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3541*/ GIMT_Encode4(126933), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22329 //
45021 /* 126722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45022 /* 126726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45023 /* 126730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45024 /* 126734 */ // (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] })
45025 /* 126734 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
45026 /* 126737 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45027 /* 126741 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45028 /* 126746 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
45029 /* 126748 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
45030 /* 126751 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45031 /* 126755 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45032 /* 126760 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
45033 /* 126763 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
45034 /* 126767 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
45035 /* 126770 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45036 /* 126775 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45037 /* 126780 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45038 /* 126785 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
45039 /* 126788 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45040 /* 126792 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45041 /* 126797 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45042 /* 126799 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
45043 /* 126802 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45044 /* 126806 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45045 /* 126811 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45046 /* 126814 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
45047 /* 126818 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45048 /* 126821 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45049 /* 126826 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45050 /* 126831 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45051 /* 126836 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
45052 /* 126839 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45053 /* 126843 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45054 /* 126848 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45055 /* 126850 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
45056 /* 126853 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45057 /* 126857 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45058 /* 126862 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45059 /* 126865 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45060 /* 126869 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45061 /* 126872 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45062 /* 126877 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45063 /* 126882 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45064 /* 126887 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
45065 /* 126890 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
45066 /* 126894 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45067 /* 126899 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45068 /* 126902 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45069 /* 126905 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
45070 /* 126908 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45071 /* 126910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45072 /* 126913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45073 /* 126915 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45074 /* 126922 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45075 /* 126927 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45076 /* 126932 */ // GIR_Coverage, 22329,
45077 /* 126932 */ GIR_EraseRootFromParent_Done,
45078 /* 126933 */ // Label 3541: @126933
45079 /* 126933 */ GIM_Reject,
45080 /* 126934 */ // Label 3534: @126934
45081 /* 126934 */ GIM_Reject,
45082 /* 126935 */ // Label 3482: @126935
45083 /* 126935 */ GIM_Try, /*On fail goto*//*Label 3542*/ GIMT_Encode4(127185),
45084 /* 126940 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
45085 /* 126943 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
45086 /* 126946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45087 /* 126950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45088 /* 126954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45089 /* 126958 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3543*/ GIMT_Encode4(126978), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22317 //
45090 /* 126965 */ // (rotl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSHLDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
45091 /* 126965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256r),
45092 /* 126968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45093 /* 126970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45094 /* 126972 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45095 /* 126974 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45096 /* 126976 */ GIR_RootConstrainSelectedInstOperands,
45097 /* 126977 */ // GIR_Coverage, 22317,
45098 /* 126977 */ GIR_EraseRootFromParent_Done,
45099 /* 126978 */ // Label 3543: @126978
45100 /* 126978 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3544*/ GIMT_Encode4(127184), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22325 //
45101 /* 126985 */ // (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] })
45102 /* 126985 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
45103 /* 126988 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45104 /* 126992 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45105 /* 126997 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
45106 /* 126999 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
45107 /* 127002 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45108 /* 127006 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45109 /* 127011 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
45110 /* 127014 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
45111 /* 127018 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
45112 /* 127021 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45113 /* 127026 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45114 /* 127031 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45115 /* 127036 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
45116 /* 127039 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45117 /* 127043 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45118 /* 127048 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45119 /* 127050 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
45120 /* 127053 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45121 /* 127057 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45122 /* 127062 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45123 /* 127065 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
45124 /* 127069 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45125 /* 127072 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45126 /* 127077 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45127 /* 127082 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45128 /* 127087 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
45129 /* 127090 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45130 /* 127094 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45131 /* 127099 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45132 /* 127101 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
45133 /* 127104 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45134 /* 127108 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45135 /* 127113 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45136 /* 127116 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45137 /* 127120 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45138 /* 127123 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45139 /* 127128 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45140 /* 127133 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45141 /* 127138 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
45142 /* 127141 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
45143 /* 127145 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45144 /* 127150 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45145 /* 127153 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45146 /* 127156 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
45147 /* 127159 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45148 /* 127161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45149 /* 127164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45150 /* 127166 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45151 /* 127173 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45152 /* 127178 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45153 /* 127183 */ // GIR_Coverage, 22325,
45154 /* 127183 */ GIR_EraseRootFromParent_Done,
45155 /* 127184 */ // Label 3544: @127184
45156 /* 127184 */ GIM_Reject,
45157 /* 127185 */ // Label 3542: @127185
45158 /* 127185 */ GIM_Reject,
45159 /* 127186 */ // Label 3483: @127186
45160 /* 127186 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3545*/ GIMT_Encode4(127224), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22313 //
45161 /* 127193 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
45162 /* 127196 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
45163 /* 127199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45164 /* 127203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45165 /* 127207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45166 /* 127211 */ // (rotl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSHLDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
45167 /* 127211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
45168 /* 127214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45169 /* 127216 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45170 /* 127218 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45171 /* 127220 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45172 /* 127222 */ GIR_RootConstrainSelectedInstOperands,
45173 /* 127223 */ // GIR_Coverage, 22313,
45174 /* 127223 */ GIR_EraseRootFromParent_Done,
45175 /* 127224 */ // Label 3545: @127224
45176 /* 127224 */ GIM_Reject,
45177 /* 127225 */ // Label 3484: @127225
45178 /* 127225 */ GIM_Try, /*On fail goto*//*Label 3546*/ GIMT_Encode4(127638),
45179 /* 127230 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
45180 /* 127233 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
45181 /* 127236 */ GIM_Try, /*On fail goto*//*Label 3547*/ GIMT_Encode4(127360),
45182 /* 127241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45183 /* 127245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3548*/ GIMT_Encode4(127302), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1556 //
45184 /* 127252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45185 /* 127256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45186 /* 127260 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45187 /* 127263 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45188 /* 127267 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45189 /* 127271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45190 /* 127275 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45191 /* 127277 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45192 /* 127284 */ // (rotl:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src2) => (VPROTDmr:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v4i32] }:$src2)
45193 /* 127284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDmr),
45194 /* 127287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45195 /* 127289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45196 /* 127293 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45197 /* 127295 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45198 /* 127300 */ GIR_RootConstrainSelectedInstOperands,
45199 /* 127301 */ // GIR_Coverage, 1556,
45200 /* 127301 */ GIR_EraseRootFromParent_Done,
45201 /* 127302 */ // Label 3548: @127302
45202 /* 127302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3549*/ GIMT_Encode4(127359), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1555 //
45203 /* 127309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45204 /* 127313 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45205 /* 127317 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45206 /* 127321 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45207 /* 127324 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45208 /* 127328 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45209 /* 127332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45210 /* 127334 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45211 /* 127341 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45212 /* 127341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDrm),
45213 /* 127344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45214 /* 127346 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45215 /* 127348 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45216 /* 127352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45217 /* 127357 */ GIR_RootConstrainSelectedInstOperands,
45218 /* 127358 */ // GIR_Coverage, 1555,
45219 /* 127358 */ GIR_EraseRootFromParent_Done,
45220 /* 127359 */ // Label 3549: @127359
45221 /* 127359 */ GIM_Reject,
45222 /* 127360 */ // Label 3547: @127360
45223 /* 127360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3550*/ GIMT_Encode4(127421), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8033 //
45224 /* 127367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45225 /* 127371 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45226 /* 127375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45227 /* 127379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45228 /* 127383 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45229 /* 127386 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45230 /* 127390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45231 /* 127394 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45232 /* 127396 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45233 /* 127403 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45234 /* 127403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rm),
45235 /* 127406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45236 /* 127408 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45237 /* 127410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45238 /* 127414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45239 /* 127419 */ GIR_RootConstrainSelectedInstOperands,
45240 /* 127420 */ // GIR_Coverage, 8033,
45241 /* 127420 */ GIR_EraseRootFromParent_Done,
45242 /* 127421 */ // Label 3550: @127421
45243 /* 127421 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3551*/ GIMT_Encode4(127447), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1554 //
45244 /* 127428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45245 /* 127432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45246 /* 127436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45247 /* 127440 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPROTDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
45248 /* 127440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTDrr),
45249 /* 127445 */ GIR_RootConstrainSelectedInstOperands,
45250 /* 127446 */ // GIR_Coverage, 1554,
45251 /* 127446 */ GIR_Done,
45252 /* 127447 */ // Label 3551: @127447
45253 /* 127447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3552*/ GIMT_Encode4(127473), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8030 //
45254 /* 127454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45255 /* 127458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45256 /* 127462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45257 /* 127466 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPROLVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
45258 /* 127466 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rr),
45259 /* 127471 */ GIR_RootConstrainSelectedInstOperands,
45260 /* 127472 */ // GIR_Coverage, 8030,
45261 /* 127472 */ GIR_Done,
45262 /* 127473 */ // Label 3552: @127473
45263 /* 127473 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3553*/ GIMT_Encode4(127637), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20941 //
45264 /* 127480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45265 /* 127484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45266 /* 127488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45267 /* 127492 */ // (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] })
45268 /* 127492 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
45269 /* 127495 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45270 /* 127499 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45271 /* 127504 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45272 /* 127506 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
45273 /* 127509 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45274 /* 127513 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45275 /* 127518 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45276 /* 127521 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45277 /* 127525 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45278 /* 127528 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45279 /* 127533 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45280 /* 127538 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45281 /* 127543 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45282 /* 127546 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45283 /* 127550 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45284 /* 127555 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45285 /* 127557 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45286 /* 127560 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45287 /* 127564 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45288 /* 127569 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45289 /* 127572 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45290 /* 127576 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45291 /* 127579 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45292 /* 127584 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45293 /* 127589 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45294 /* 127594 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
45295 /* 127597 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
45296 /* 127601 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45297 /* 127606 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45298 /* 127609 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45299 /* 127612 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45300 /* 127614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45301 /* 127617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45302 /* 127619 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45303 /* 127626 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45304 /* 127631 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45305 /* 127636 */ // GIR_Coverage, 20941,
45306 /* 127636 */ GIR_EraseRootFromParent_Done,
45307 /* 127637 */ // Label 3553: @127637
45308 /* 127637 */ GIM_Reject,
45309 /* 127638 */ // Label 3546: @127638
45310 /* 127638 */ GIM_Reject,
45311 /* 127639 */ // Label 3485: @127639
45312 /* 127639 */ GIM_Try, /*On fail goto*//*Label 3554*/ GIMT_Encode4(127888),
45313 /* 127644 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
45314 /* 127647 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
45315 /* 127650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45316 /* 127654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45317 /* 127658 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3555*/ GIMT_Encode4(127711), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8024 //
45318 /* 127665 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45319 /* 127669 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45320 /* 127673 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45321 /* 127676 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45322 /* 127680 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45323 /* 127684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45324 /* 127686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45325 /* 127693 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45326 /* 127693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rm),
45327 /* 127696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45328 /* 127698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45329 /* 127700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45330 /* 127704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45331 /* 127709 */ GIR_RootConstrainSelectedInstOperands,
45332 /* 127710 */ // GIR_Coverage, 8024,
45333 /* 127710 */ GIR_EraseRootFromParent_Done,
45334 /* 127711 */ // Label 3555: @127711
45335 /* 127711 */ GIM_Try, /*On fail goto*//*Label 3556*/ GIMT_Encode4(127887),
45336 /* 127716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45337 /* 127720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3557*/ GIMT_Encode4(127734), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8021 //
45338 /* 127727 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPROLVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
45339 /* 127727 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rr),
45340 /* 127732 */ GIR_RootConstrainSelectedInstOperands,
45341 /* 127733 */ // GIR_Coverage, 8021,
45342 /* 127733 */ GIR_Done,
45343 /* 127734 */ // Label 3557: @127734
45344 /* 127734 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3558*/ GIMT_Encode4(127886), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20937 //
45345 /* 127741 */ // (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] })
45346 /* 127741 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
45347 /* 127744 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45348 /* 127748 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45349 /* 127753 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45350 /* 127755 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
45351 /* 127758 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45352 /* 127762 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45353 /* 127767 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45354 /* 127770 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45355 /* 127774 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45356 /* 127777 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45357 /* 127782 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45358 /* 127787 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45359 /* 127792 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45360 /* 127795 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45361 /* 127799 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45362 /* 127804 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45363 /* 127806 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45364 /* 127809 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45365 /* 127813 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45366 /* 127818 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45367 /* 127821 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45368 /* 127825 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45369 /* 127828 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45370 /* 127833 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45371 /* 127838 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45372 /* 127843 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
45373 /* 127846 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
45374 /* 127850 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45375 /* 127855 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45376 /* 127858 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45377 /* 127861 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45378 /* 127863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45379 /* 127866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45380 /* 127868 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45381 /* 127875 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45382 /* 127880 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45383 /* 127885 */ // GIR_Coverage, 20937,
45384 /* 127885 */ GIR_EraseRootFromParent_Done,
45385 /* 127886 */ // Label 3558: @127886
45386 /* 127886 */ GIM_Reject,
45387 /* 127887 */ // Label 3556: @127887
45388 /* 127887 */ GIM_Reject,
45389 /* 127888 */ // Label 3554: @127888
45390 /* 127888 */ GIM_Reject,
45391 /* 127889 */ // Label 3486: @127889
45392 /* 127889 */ GIM_Try, /*On fail goto*//*Label 3559*/ GIMT_Encode4(127980),
45393 /* 127894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
45394 /* 127897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
45395 /* 127900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45396 /* 127904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45397 /* 127908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3560*/ GIMT_Encode4(127961), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8015 //
45398 /* 127915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45399 /* 127919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45400 /* 127923 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45401 /* 127926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45402 /* 127930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45403 /* 127934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45404 /* 127936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45405 /* 127943 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45406 /* 127943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrm),
45407 /* 127946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45408 /* 127948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45409 /* 127950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45410 /* 127954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45411 /* 127959 */ GIR_RootConstrainSelectedInstOperands,
45412 /* 127960 */ // GIR_Coverage, 8015,
45413 /* 127960 */ GIR_EraseRootFromParent_Done,
45414 /* 127961 */ // Label 3560: @127961
45415 /* 127961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3561*/ GIMT_Encode4(127979), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8012 //
45416 /* 127968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45417 /* 127972 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPROLVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
45418 /* 127972 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
45419 /* 127977 */ GIR_RootConstrainSelectedInstOperands,
45420 /* 127978 */ // GIR_Coverage, 8012,
45421 /* 127978 */ GIR_Done,
45422 /* 127979 */ // Label 3561: @127979
45423 /* 127979 */ GIM_Reject,
45424 /* 127980 */ // Label 3559: @127980
45425 /* 127980 */ GIM_Reject,
45426 /* 127981 */ // Label 3487: @127981
45427 /* 127981 */ GIM_Try, /*On fail goto*//*Label 3562*/ GIMT_Encode4(128394),
45428 /* 127986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
45429 /* 127989 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
45430 /* 127992 */ GIM_Try, /*On fail goto*//*Label 3563*/ GIMT_Encode4(128116),
45431 /* 127997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45432 /* 128001 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3564*/ GIMT_Encode4(128058), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1559 //
45433 /* 128008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45434 /* 128012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45435 /* 128016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45436 /* 128019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45437 /* 128023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45438 /* 128027 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45439 /* 128031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45440 /* 128033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45441 /* 128040 */ // (rotl:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src2) => (VPROTQmr:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v2i64] }:$src2)
45442 /* 128040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQmr),
45443 /* 128043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45444 /* 128045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45445 /* 128049 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45446 /* 128051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45447 /* 128056 */ GIR_RootConstrainSelectedInstOperands,
45448 /* 128057 */ // GIR_Coverage, 1559,
45449 /* 128057 */ GIR_EraseRootFromParent_Done,
45450 /* 128058 */ // Label 3564: @128058
45451 /* 128058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3565*/ GIMT_Encode4(128115), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1558 //
45452 /* 128065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45453 /* 128069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45454 /* 128073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45455 /* 128077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45456 /* 128080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45457 /* 128084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45458 /* 128088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45459 /* 128090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45460 /* 128097 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45461 /* 128097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQrm),
45462 /* 128100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45463 /* 128102 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45464 /* 128104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45465 /* 128108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45466 /* 128113 */ GIR_RootConstrainSelectedInstOperands,
45467 /* 128114 */ // GIR_Coverage, 1558,
45468 /* 128114 */ GIR_EraseRootFromParent_Done,
45469 /* 128115 */ // Label 3565: @128115
45470 /* 128115 */ GIM_Reject,
45471 /* 128116 */ // Label 3563: @128116
45472 /* 128116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3566*/ GIMT_Encode4(128177), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8060 //
45473 /* 128123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45474 /* 128127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45475 /* 128131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45476 /* 128135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45477 /* 128139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45478 /* 128142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45479 /* 128146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45480 /* 128150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45481 /* 128152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45482 /* 128159 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45483 /* 128159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rm),
45484 /* 128162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45485 /* 128164 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45486 /* 128166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45487 /* 128170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45488 /* 128175 */ GIR_RootConstrainSelectedInstOperands,
45489 /* 128176 */ // GIR_Coverage, 8060,
45490 /* 128176 */ GIR_EraseRootFromParent_Done,
45491 /* 128177 */ // Label 3566: @128177
45492 /* 128177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3567*/ GIMT_Encode4(128203), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1557 //
45493 /* 128184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45494 /* 128188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45495 /* 128192 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45496 /* 128196 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPROTQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
45497 /* 128196 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTQrr),
45498 /* 128201 */ GIR_RootConstrainSelectedInstOperands,
45499 /* 128202 */ // GIR_Coverage, 1557,
45500 /* 128202 */ GIR_Done,
45501 /* 128203 */ // Label 3567: @128203
45502 /* 128203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3568*/ GIMT_Encode4(128229), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8057 //
45503 /* 128210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45504 /* 128214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45505 /* 128218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45506 /* 128222 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPROLVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
45507 /* 128222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rr),
45508 /* 128227 */ GIR_RootConstrainSelectedInstOperands,
45509 /* 128228 */ // GIR_Coverage, 8057,
45510 /* 128228 */ GIR_Done,
45511 /* 128229 */ // Label 3568: @128229
45512 /* 128229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3569*/ GIMT_Encode4(128393), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20933 //
45513 /* 128236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45514 /* 128240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45515 /* 128244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45516 /* 128248 */ // (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] })
45517 /* 128248 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45518 /* 128251 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45519 /* 128255 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45520 /* 128260 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45521 /* 128262 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45522 /* 128265 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45523 /* 128269 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45524 /* 128274 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45525 /* 128277 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45526 /* 128281 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45527 /* 128284 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45528 /* 128289 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45529 /* 128294 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45530 /* 128299 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45531 /* 128302 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45532 /* 128306 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45533 /* 128311 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45534 /* 128313 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45535 /* 128316 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45536 /* 128320 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45537 /* 128325 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45538 /* 128328 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45539 /* 128332 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45540 /* 128335 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45541 /* 128340 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45542 /* 128345 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45543 /* 128350 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45544 /* 128353 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
45545 /* 128357 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45546 /* 128362 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45547 /* 128365 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45548 /* 128368 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45549 /* 128370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45550 /* 128373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45551 /* 128375 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45552 /* 128382 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45553 /* 128387 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45554 /* 128392 */ // GIR_Coverage, 20933,
45555 /* 128392 */ GIR_EraseRootFromParent_Done,
45556 /* 128393 */ // Label 3569: @128393
45557 /* 128393 */ GIM_Reject,
45558 /* 128394 */ // Label 3562: @128394
45559 /* 128394 */ GIM_Reject,
45560 /* 128395 */ // Label 3488: @128395
45561 /* 128395 */ GIM_Try, /*On fail goto*//*Label 3570*/ GIMT_Encode4(128644),
45562 /* 128400 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
45563 /* 128403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
45564 /* 128406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45565 /* 128410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45566 /* 128414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3571*/ GIMT_Encode4(128467), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8051 //
45567 /* 128421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45568 /* 128425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45569 /* 128429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45570 /* 128432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45571 /* 128436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45572 /* 128440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45573 /* 128442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45574 /* 128449 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45575 /* 128449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rm),
45576 /* 128452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45577 /* 128454 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45578 /* 128456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45579 /* 128460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45580 /* 128465 */ GIR_RootConstrainSelectedInstOperands,
45581 /* 128466 */ // GIR_Coverage, 8051,
45582 /* 128466 */ GIR_EraseRootFromParent_Done,
45583 /* 128467 */ // Label 3571: @128467
45584 /* 128467 */ GIM_Try, /*On fail goto*//*Label 3572*/ GIMT_Encode4(128643),
45585 /* 128472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45586 /* 128476 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3573*/ GIMT_Encode4(128490), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8048 //
45587 /* 128483 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPROLVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
45588 /* 128483 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rr),
45589 /* 128488 */ GIR_RootConstrainSelectedInstOperands,
45590 /* 128489 */ // GIR_Coverage, 8048,
45591 /* 128489 */ GIR_Done,
45592 /* 128490 */ // Label 3573: @128490
45593 /* 128490 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3574*/ GIMT_Encode4(128642), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20929 //
45594 /* 128497 */ // (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] })
45595 /* 128497 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45596 /* 128500 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45597 /* 128504 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45598 /* 128509 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45599 /* 128511 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45600 /* 128514 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45601 /* 128518 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45602 /* 128523 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45603 /* 128526 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45604 /* 128530 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45605 /* 128533 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45606 /* 128538 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45607 /* 128543 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45608 /* 128548 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45609 /* 128551 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45610 /* 128555 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45611 /* 128560 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45612 /* 128562 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45613 /* 128565 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45614 /* 128569 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45615 /* 128574 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45616 /* 128577 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45617 /* 128581 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45618 /* 128584 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45619 /* 128589 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45620 /* 128594 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45621 /* 128599 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45622 /* 128602 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
45623 /* 128606 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45624 /* 128611 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45625 /* 128614 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45626 /* 128617 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45627 /* 128619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45628 /* 128622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45629 /* 128624 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45630 /* 128631 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45631 /* 128636 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45632 /* 128641 */ // GIR_Coverage, 20929,
45633 /* 128641 */ GIR_EraseRootFromParent_Done,
45634 /* 128642 */ // Label 3574: @128642
45635 /* 128642 */ GIM_Reject,
45636 /* 128643 */ // Label 3572: @128643
45637 /* 128643 */ GIM_Reject,
45638 /* 128644 */ // Label 3570: @128644
45639 /* 128644 */ GIM_Reject,
45640 /* 128645 */ // Label 3489: @128645
45641 /* 128645 */ GIM_Try, /*On fail goto*//*Label 3575*/ GIMT_Encode4(128736),
45642 /* 128650 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
45643 /* 128653 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
45644 /* 128656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45645 /* 128660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45646 /* 128664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3576*/ GIMT_Encode4(128717), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8042 //
45647 /* 128671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45648 /* 128675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45649 /* 128679 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45650 /* 128682 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45651 /* 128686 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45652 /* 128690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45653 /* 128692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45654 /* 128699 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45655 /* 128699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrm),
45656 /* 128702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45657 /* 128704 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45658 /* 128706 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45659 /* 128710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45660 /* 128715 */ GIR_RootConstrainSelectedInstOperands,
45661 /* 128716 */ // GIR_Coverage, 8042,
45662 /* 128716 */ GIR_EraseRootFromParent_Done,
45663 /* 128717 */ // Label 3576: @128717
45664 /* 128717 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3577*/ GIMT_Encode4(128735), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8039 //
45665 /* 128724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45666 /* 128728 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPROLVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
45667 /* 128728 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
45668 /* 128733 */ GIR_RootConstrainSelectedInstOperands,
45669 /* 128734 */ // GIR_Coverage, 8039,
45670 /* 128734 */ GIR_Done,
45671 /* 128735 */ // Label 3577: @128735
45672 /* 128735 */ GIM_Reject,
45673 /* 128736 */ // Label 3575: @128736
45674 /* 128736 */ GIM_Reject,
45675 /* 128737 */ // Label 3490: @128737
45676 /* 128737 */ GIM_Reject,
45677 /* 128738 */ // Label 36: @128738
45678 /* 128738 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(7), GIMT_Encode2(13), /*)*//*default:*//*Label 3584*/ GIMT_Encode4(130375),
45679 /* 128749 */ /*GILLT_v2s1*//*Label 3578*/ GIMT_Encode4(128773),
45680 /* 128753 */ /*GILLT_v4s1*//*Label 3579*/ GIMT_Encode4(128932),
45681 /* 128757 */ /*GILLT_v8s1*//*Label 3580*/ GIMT_Encode4(129276),
45682 /* 128761 */ /*GILLT_v16s1*//*Label 3581*/ GIMT_Encode4(129683),
45683 /* 128765 */ /*GILLT_v32s1*//*Label 3582*/ GIMT_Encode4(130090),
45684 /* 128769 */ /*GILLT_v64s1*//*Label 3583*/ GIMT_Encode4(130325),
45685 /* 128773 */ // Label 3578: @128773
45686 /* 128773 */ GIM_Try, /*On fail goto*//*Label 3585*/ GIMT_Encode4(128931),
45687 /* 128778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
45688 /* 128781 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
45689 /* 128784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
45690 /* 128788 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45691 /* 128793 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45692 /* 128797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3586*/ GIMT_Encode4(128827), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12607 //
45693 /* 128804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45694 /* 128808 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45695 /* 128814 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45696 /* 128816 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45697 /* 128818 */ // (setcc:{ *:[v2i1] } immAllZerosV:{ *:[v2i64] }, VR128X:{ *:[v2i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ128kr:{ *:[v2i1] } VR128X:{ *:[v2i64] }:$src)
45698 /* 128818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ128kr),
45699 /* 128821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45700 /* 128823 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45701 /* 128825 */ GIR_RootConstrainSelectedInstOperands,
45702 /* 128826 */ // GIR_Coverage, 12607,
45703 /* 128826 */ GIR_EraseRootFromParent_Done,
45704 /* 128827 */ // Label 3586: @128827
45705 /* 128827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3587*/ GIMT_Encode4(128930), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 21810 //
45706 /* 128834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45707 /* 128838 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45708 /* 128844 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45709 /* 128846 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45710 /* 128848 */ // (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] })
45711 /* 128848 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45712 /* 128851 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45713 /* 128855 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45714 /* 128860 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45715 /* 128862 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45716 /* 128865 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45717 /* 128869 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45718 /* 128874 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45719 /* 128877 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45720 /* 128881 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45721 /* 128884 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45722 /* 128889 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45723 /* 128894 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45724 /* 128899 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
45725 /* 128902 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
45726 /* 128906 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45727 /* 128911 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45728 /* 128914 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45729 /* 128916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45730 /* 128919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45731 /* 128921 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45732 /* 128924 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
45733 /* 128929 */ // GIR_Coverage, 21810,
45734 /* 128929 */ GIR_EraseRootFromParent_Done,
45735 /* 128930 */ // Label 3587: @128930
45736 /* 128930 */ GIM_Reject,
45737 /* 128931 */ // Label 3585: @128931
45738 /* 128931 */ GIM_Reject,
45739 /* 128932 */ // Label 3579: @128932
45740 /* 128932 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 3590*/ GIMT_Encode4(129275),
45741 /* 128943 */ /*GILLT_v4s32*//*Label 3588*/ GIMT_Encode4(128963), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45742 /* 128959 */ /*GILLT_v4s64*//*Label 3589*/ GIMT_Encode4(129119),
45743 /* 128963 */ // Label 3588: @128963
45744 /* 128963 */ GIM_Try, /*On fail goto*//*Label 3591*/ GIMT_Encode4(129118),
45745 /* 128968 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
45746 /* 128971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
45747 /* 128975 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45748 /* 128980 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45749 /* 128984 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3592*/ GIMT_Encode4(129014), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12604 //
45750 /* 128991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45751 /* 128995 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45752 /* 129001 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45753 /* 129003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45754 /* 129005 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i32] }, VR128X:{ *:[v4i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ128kr:{ *:[v4i1] } VR128X:{ *:[v4i32] }:$src)
45755 /* 129005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ128kr),
45756 /* 129008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45757 /* 129010 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45758 /* 129012 */ GIR_RootConstrainSelectedInstOperands,
45759 /* 129013 */ // GIR_Coverage, 12604,
45760 /* 129013 */ GIR_EraseRootFromParent_Done,
45761 /* 129014 */ // Label 3592: @129014
45762 /* 129014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3593*/ GIMT_Encode4(129117), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 21808 //
45763 /* 129021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45764 /* 129025 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45765 /* 129031 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45766 /* 129033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45767 /* 129035 */ // (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] })
45768 /* 129035 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45769 /* 129038 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45770 /* 129042 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45771 /* 129047 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45772 /* 129049 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45773 /* 129052 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45774 /* 129056 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45775 /* 129061 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45776 /* 129064 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45777 /* 129068 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45778 /* 129071 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45779 /* 129076 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45780 /* 129081 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45781 /* 129086 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
45782 /* 129089 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
45783 /* 129093 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45784 /* 129098 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45785 /* 129101 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45786 /* 129103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45787 /* 129106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45788 /* 129108 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45789 /* 129111 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
45790 /* 129116 */ // GIR_Coverage, 21808,
45791 /* 129116 */ GIR_EraseRootFromParent_Done,
45792 /* 129117 */ // Label 3593: @129117
45793 /* 129117 */ GIM_Reject,
45794 /* 129118 */ // Label 3591: @129118
45795 /* 129118 */ GIM_Reject,
45796 /* 129119 */ // Label 3589: @129119
45797 /* 129119 */ GIM_Try, /*On fail goto*//*Label 3594*/ GIMT_Encode4(129274),
45798 /* 129124 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
45799 /* 129127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
45800 /* 129131 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45801 /* 129136 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45802 /* 129140 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3595*/ GIMT_Encode4(129170), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12606 //
45803 /* 129147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45804 /* 129151 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45805 /* 129157 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45806 /* 129159 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45807 /* 129161 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i64] }, VR256X:{ *:[v4i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ256kr:{ *:[v4i1] } VR256X:{ *:[v4i64] }:$src)
45808 /* 129161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ256kr),
45809 /* 129164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45810 /* 129166 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45811 /* 129168 */ GIR_RootConstrainSelectedInstOperands,
45812 /* 129169 */ // GIR_Coverage, 12606,
45813 /* 129169 */ GIR_EraseRootFromParent_Done,
45814 /* 129170 */ // Label 3595: @129170
45815 /* 129170 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3596*/ GIMT_Encode4(129273), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 21809 //
45816 /* 129177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45817 /* 129181 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45818 /* 129187 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45819 /* 129189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45820 /* 129191 */ // (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] })
45821 /* 129191 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45822 /* 129194 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45823 /* 129198 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45824 /* 129203 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45825 /* 129205 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45826 /* 129208 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45827 /* 129212 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45828 /* 129217 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45829 /* 129220 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45830 /* 129224 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45831 /* 129227 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45832 /* 129232 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45833 /* 129237 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45834 /* 129242 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
45835 /* 129245 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
45836 /* 129249 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45837 /* 129254 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45838 /* 129257 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45839 /* 129259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45840 /* 129262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45841 /* 129264 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45842 /* 129267 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
45843 /* 129272 */ // GIR_Coverage, 21809,
45844 /* 129272 */ GIR_EraseRootFromParent_Done,
45845 /* 129273 */ // Label 3596: @129273
45846 /* 129273 */ GIM_Reject,
45847 /* 129274 */ // Label 3594: @129274
45848 /* 129274 */ GIM_Reject,
45849 /* 129275 */ // Label 3590: @129275
45850 /* 129275 */ GIM_Reject,
45851 /* 129276 */ // Label 3580: @129276
45852 /* 129276 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 3600*/ GIMT_Encode4(129682),
45853 /* 129287 */ /*GILLT_v8s16*//*Label 3597*/ GIMT_Encode4(129323), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45854 /* 129303 */ /*GILLT_v8s32*//*Label 3598*/ GIMT_Encode4(129479), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45855 /* 129319 */ /*GILLT_v8s64*//*Label 3599*/ GIMT_Encode4(129635),
45856 /* 129323 */ // Label 3597: @129323
45857 /* 129323 */ GIM_Try, /*On fail goto*//*Label 3601*/ GIMT_Encode4(129478),
45858 /* 129328 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
45859 /* 129331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
45860 /* 129335 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45861 /* 129340 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45862 /* 129344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3602*/ GIMT_Encode4(129374), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12601 //
45863 /* 129351 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45864 /* 129355 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45865 /* 129361 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45866 /* 129363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45867 /* 129365 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i16] }, VR128X:{ *:[v8i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ128kr:{ *:[v8i1] } VR128X:{ *:[v8i16] }:$src)
45868 /* 129365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ128kr),
45869 /* 129368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45870 /* 129370 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45871 /* 129372 */ GIR_RootConstrainSelectedInstOperands,
45872 /* 129373 */ // GIR_Coverage, 12601,
45873 /* 129373 */ GIR_EraseRootFromParent_Done,
45874 /* 129374 */ // Label 3602: @129374
45875 /* 129374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3603*/ GIMT_Encode4(129477), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21806 //
45876 /* 129381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45877 /* 129385 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45878 /* 129391 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45879 /* 129393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45880 /* 129395 */ // (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] })
45881 /* 129395 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
45882 /* 129398 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45883 /* 129402 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45884 /* 129407 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45885 /* 129409 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
45886 /* 129412 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45887 /* 129416 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45888 /* 129421 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45889 /* 129424 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45890 /* 129428 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45891 /* 129431 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45892 /* 129436 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45893 /* 129441 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45894 /* 129446 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
45895 /* 129449 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
45896 /* 129453 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45897 /* 129458 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45898 /* 129461 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45899 /* 129463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45900 /* 129466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45901 /* 129468 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45902 /* 129471 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
45903 /* 129476 */ // GIR_Coverage, 21806,
45904 /* 129476 */ GIR_EraseRootFromParent_Done,
45905 /* 129477 */ // Label 3603: @129477
45906 /* 129477 */ GIM_Reject,
45907 /* 129478 */ // Label 3601: @129478
45908 /* 129478 */ GIM_Reject,
45909 /* 129479 */ // Label 3598: @129479
45910 /* 129479 */ GIM_Try, /*On fail goto*//*Label 3604*/ GIMT_Encode4(129634),
45911 /* 129484 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
45912 /* 129487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
45913 /* 129491 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45914 /* 129496 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45915 /* 129500 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3605*/ GIMT_Encode4(129530), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12603 //
45916 /* 129507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45917 /* 129511 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45918 /* 129517 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45919 /* 129519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45920 /* 129521 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i32] }, VR256X:{ *:[v8i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ256kr:{ *:[v8i1] } VR256X:{ *:[v8i32] }:$src)
45921 /* 129521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ256kr),
45922 /* 129524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45923 /* 129526 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45924 /* 129528 */ GIR_RootConstrainSelectedInstOperands,
45925 /* 129529 */ // GIR_Coverage, 12603,
45926 /* 129529 */ GIR_EraseRootFromParent_Done,
45927 /* 129530 */ // Label 3605: @129530
45928 /* 129530 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3606*/ GIMT_Encode4(129633), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 21807 //
45929 /* 129537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45930 /* 129541 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45931 /* 129547 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45932 /* 129549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45933 /* 129551 */ // (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] })
45934 /* 129551 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45935 /* 129554 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45936 /* 129558 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45937 /* 129563 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45938 /* 129565 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45939 /* 129568 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45940 /* 129572 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45941 /* 129577 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45942 /* 129580 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45943 /* 129584 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45944 /* 129587 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45945 /* 129592 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45946 /* 129597 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45947 /* 129602 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
45948 /* 129605 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
45949 /* 129609 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45950 /* 129614 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45951 /* 129617 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45952 /* 129619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45953 /* 129622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45954 /* 129624 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45955 /* 129627 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
45956 /* 129632 */ // GIR_Coverage, 21807,
45957 /* 129632 */ GIR_EraseRootFromParent_Done,
45958 /* 129633 */ // Label 3606: @129633
45959 /* 129633 */ GIM_Reject,
45960 /* 129634 */ // Label 3604: @129634
45961 /* 129634 */ GIM_Reject,
45962 /* 129635 */ // Label 3599: @129635
45963 /* 129635 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3607*/ GIMT_Encode4(129681), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 12605 //
45964 /* 129642 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
45965 /* 129645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
45966 /* 129649 */ // MIs[0] Operand 1
45967 /* 129649 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45968 /* 129654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45969 /* 129658 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45970 /* 129664 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45971 /* 129666 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45972 /* 129670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45973 /* 129672 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZkr:{ *:[v8i1] } VR512:{ *:[v8i64] }:$src)
45974 /* 129672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
45975 /* 129675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45976 /* 129677 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45977 /* 129679 */ GIR_RootConstrainSelectedInstOperands,
45978 /* 129680 */ // GIR_Coverage, 12605,
45979 /* 129680 */ GIR_EraseRootFromParent_Done,
45980 /* 129681 */ // Label 3607: @129681
45981 /* 129681 */ GIM_Reject,
45982 /* 129682 */ // Label 3600: @129682
45983 /* 129682 */ GIM_Reject,
45984 /* 129683 */ // Label 3581: @129683
45985 /* 129683 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(13), GIMT_Encode2(22), /*)*//*default:*//*Label 3611*/ GIMT_Encode4(130089),
45986 /* 129694 */ /*GILLT_v16s8*//*Label 3608*/ GIMT_Encode4(129730), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45987 /* 129710 */ /*GILLT_v16s16*//*Label 3609*/ GIMT_Encode4(129886), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45988 /* 129726 */ /*GILLT_v16s32*//*Label 3610*/ GIMT_Encode4(130042),
45989 /* 129730 */ // Label 3608: @129730
45990 /* 129730 */ GIM_Try, /*On fail goto*//*Label 3612*/ GIMT_Encode4(129885),
45991 /* 129735 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
45992 /* 129738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
45993 /* 129742 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45994 /* 129747 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45995 /* 129751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3613*/ GIMT_Encode4(129781), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12598 //
45996 /* 129758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45997 /* 129762 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45998 /* 129768 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45999 /* 129770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46000 /* 129772 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i8] }, VR128X:{ *:[v16i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ128kr:{ *:[v16i1] } VR128X:{ *:[v16i8] }:$src)
46001 /* 129772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ128kr),
46002 /* 129775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46003 /* 129777 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46004 /* 129779 */ GIR_RootConstrainSelectedInstOperands,
46005 /* 129780 */ // GIR_Coverage, 12598,
46006 /* 129780 */ GIR_EraseRootFromParent_Done,
46007 /* 129781 */ // Label 3613: @129781
46008 /* 129781 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3614*/ GIMT_Encode4(129884), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21804 //
46009 /* 129788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46010 /* 129792 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46011 /* 129798 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46012 /* 129800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46013 /* 129802 */ // (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] })
46014 /* 129802 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46015 /* 129805 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46016 /* 129809 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46017 /* 129814 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46018 /* 129816 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46019 /* 129819 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46020 /* 129823 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46021 /* 129828 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46022 /* 129831 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46023 /* 129835 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46024 /* 129838 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46025 /* 129843 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46026 /* 129848 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46027 /* 129853 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
46028 /* 129856 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
46029 /* 129860 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46030 /* 129865 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46031 /* 129868 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46032 /* 129870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46033 /* 129873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46034 /* 129875 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46035 /* 129878 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
46036 /* 129883 */ // GIR_Coverage, 21804,
46037 /* 129883 */ GIR_EraseRootFromParent_Done,
46038 /* 129884 */ // Label 3614: @129884
46039 /* 129884 */ GIM_Reject,
46040 /* 129885 */ // Label 3612: @129885
46041 /* 129885 */ GIM_Reject,
46042 /* 129886 */ // Label 3609: @129886
46043 /* 129886 */ GIM_Try, /*On fail goto*//*Label 3615*/ GIMT_Encode4(130041),
46044 /* 129891 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
46045 /* 129894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46046 /* 129898 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46047 /* 129903 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46048 /* 129907 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3616*/ GIMT_Encode4(129937), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12600 //
46049 /* 129914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46050 /* 129918 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46051 /* 129924 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46052 /* 129926 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46053 /* 129928 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i16] }, VR256X:{ *:[v16i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ256kr:{ *:[v16i1] } VR256X:{ *:[v16i16] }:$src)
46054 /* 129928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ256kr),
46055 /* 129931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46056 /* 129933 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46057 /* 129935 */ GIR_RootConstrainSelectedInstOperands,
46058 /* 129936 */ // GIR_Coverage, 12600,
46059 /* 129936 */ GIR_EraseRootFromParent_Done,
46060 /* 129937 */ // Label 3616: @129937
46061 /* 129937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3617*/ GIMT_Encode4(130040), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21805 //
46062 /* 129944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46063 /* 129948 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46064 /* 129954 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46065 /* 129956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46066 /* 129958 */ // (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] })
46067 /* 129958 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46068 /* 129961 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46069 /* 129965 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46070 /* 129970 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46071 /* 129972 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46072 /* 129975 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46073 /* 129979 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46074 /* 129984 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46075 /* 129987 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46076 /* 129991 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46077 /* 129994 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46078 /* 129999 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46079 /* 130004 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46080 /* 130009 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
46081 /* 130012 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
46082 /* 130016 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46083 /* 130021 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46084 /* 130024 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46085 /* 130026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46086 /* 130029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46087 /* 130031 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46088 /* 130034 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
46089 /* 130039 */ // GIR_Coverage, 21805,
46090 /* 130039 */ GIR_EraseRootFromParent_Done,
46091 /* 130040 */ // Label 3617: @130040
46092 /* 130040 */ GIM_Reject,
46093 /* 130041 */ // Label 3615: @130041
46094 /* 130041 */ GIM_Reject,
46095 /* 130042 */ // Label 3610: @130042
46096 /* 130042 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3618*/ GIMT_Encode4(130088), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 12602 //
46097 /* 130049 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
46098 /* 130052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46099 /* 130056 */ // MIs[0] Operand 1
46100 /* 130056 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46101 /* 130061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46102 /* 130065 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46103 /* 130071 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46104 /* 130073 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46105 /* 130077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46106 /* 130079 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZkr:{ *:[v16i1] } VR512:{ *:[v16i32] }:$src)
46107 /* 130079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
46108 /* 130082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46109 /* 130084 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46110 /* 130086 */ GIR_RootConstrainSelectedInstOperands,
46111 /* 130087 */ // GIR_Coverage, 12602,
46112 /* 130087 */ GIR_EraseRootFromParent_Done,
46113 /* 130088 */ // Label 3618: @130088
46114 /* 130088 */ GIM_Reject,
46115 /* 130089 */ // Label 3611: @130089
46116 /* 130089 */ GIM_Reject,
46117 /* 130090 */ // Label 3582: @130090
46118 /* 130090 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(14), GIMT_Encode2(19), /*)*//*default:*//*Label 3621*/ GIMT_Encode4(130324),
46119 /* 130101 */ /*GILLT_v32s8*//*Label 3619*/ GIMT_Encode4(130121), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
46120 /* 130117 */ /*GILLT_v32s16*//*Label 3620*/ GIMT_Encode4(130277),
46121 /* 130121 */ // Label 3619: @130121
46122 /* 130121 */ GIM_Try, /*On fail goto*//*Label 3622*/ GIMT_Encode4(130276),
46123 /* 130126 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
46124 /* 130129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
46125 /* 130133 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46126 /* 130138 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46127 /* 130142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3623*/ GIMT_Encode4(130172), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12597 //
46128 /* 130149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46129 /* 130153 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46130 /* 130159 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46131 /* 130161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46132 /* 130163 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i8] }, VR256X:{ *:[v32i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ256kr:{ *:[v32i1] } VR256X:{ *:[v32i8] }:$src)
46133 /* 130163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ256kr),
46134 /* 130166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46135 /* 130168 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46136 /* 130170 */ GIR_RootConstrainSelectedInstOperands,
46137 /* 130171 */ // GIR_Coverage, 12597,
46138 /* 130171 */ GIR_EraseRootFromParent_Done,
46139 /* 130172 */ // Label 3623: @130172
46140 /* 130172 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3624*/ GIMT_Encode4(130275), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21803 //
46141 /* 130179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46142 /* 130183 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46143 /* 130189 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46144 /* 130191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46145 /* 130193 */ // (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] })
46146 /* 130193 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46147 /* 130196 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46148 /* 130200 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46149 /* 130205 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46150 /* 130207 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46151 /* 130210 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46152 /* 130214 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46153 /* 130219 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46154 /* 130222 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46155 /* 130226 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46156 /* 130229 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46157 /* 130234 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46158 /* 130239 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46159 /* 130244 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
46160 /* 130247 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
46161 /* 130251 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46162 /* 130256 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46163 /* 130259 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46164 /* 130261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46165 /* 130264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46166 /* 130266 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46167 /* 130269 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
46168 /* 130274 */ // GIR_Coverage, 21803,
46169 /* 130274 */ GIR_EraseRootFromParent_Done,
46170 /* 130275 */ // Label 3624: @130275
46171 /* 130275 */ GIM_Reject,
46172 /* 130276 */ // Label 3622: @130276
46173 /* 130276 */ GIM_Reject,
46174 /* 130277 */ // Label 3620: @130277
46175 /* 130277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3625*/ GIMT_Encode4(130323), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12599 //
46176 /* 130284 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
46177 /* 130287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
46178 /* 130291 */ // MIs[0] Operand 1
46179 /* 130291 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46180 /* 130296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46181 /* 130300 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46182 /* 130306 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46183 /* 130308 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46184 /* 130312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46185 /* 130314 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i16] }, VR512:{ *:[v32i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZkr:{ *:[v32i1] } VR512:{ *:[v32i16] }:$src)
46186 /* 130314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
46187 /* 130317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46188 /* 130319 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46189 /* 130321 */ GIR_RootConstrainSelectedInstOperands,
46190 /* 130322 */ // GIR_Coverage, 12599,
46191 /* 130322 */ GIR_EraseRootFromParent_Done,
46192 /* 130323 */ // Label 3625: @130323
46193 /* 130323 */ GIM_Reject,
46194 /* 130324 */ // Label 3621: @130324
46195 /* 130324 */ GIM_Reject,
46196 /* 130325 */ // Label 3583: @130325
46197 /* 130325 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3626*/ GIMT_Encode4(130374), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12596 //
46198 /* 130332 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
46199 /* 130335 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
46200 /* 130338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
46201 /* 130342 */ // MIs[0] Operand 1
46202 /* 130342 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46203 /* 130347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46204 /* 130351 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46205 /* 130357 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46206 /* 130359 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46207 /* 130363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46208 /* 130365 */ // (setcc:{ *:[v64i1] } immAllZerosV:{ *:[v64i8] }, VR512:{ *:[v64i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZkr:{ *:[v64i1] } VR512:{ *:[v64i8] }:$src)
46209 /* 130365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
46210 /* 130368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46211 /* 130370 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46212 /* 130372 */ GIR_RootConstrainSelectedInstOperands,
46213 /* 130373 */ // GIR_Coverage, 12596,
46214 /* 130373 */ GIR_EraseRootFromParent_Done,
46215 /* 130374 */ // Label 3626: @130374
46216 /* 130374 */ GIM_Reject,
46217 /* 130375 */ // Label 3584: @130375
46218 /* 130375 */ GIM_Reject,
46219 /* 130376 */ // Label 37: @130376
46220 /* 130376 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3639*/ GIMT_Encode4(137753),
46221 /* 130387 */ /*GILLT_v16s8*//*Label 3627*/ GIMT_Encode4(130435),
46222 /* 130391 */ /*GILLT_v32s8*//*Label 3628*/ GIMT_Encode4(130871),
46223 /* 130395 */ /*GILLT_v64s8*//*Label 3629*/ GIMT_Encode4(131273),
46224 /* 130399 */ /*GILLT_v8s16*//*Label 3630*/ GIMT_Encode4(131357),
46225 /* 130403 */ /*GILLT_v16s16*//*Label 3631*/ GIMT_Encode4(132457),
46226 /* 130407 */ /*GILLT_v32s16*//*Label 3632*/ GIMT_Encode4(133489),
46227 /* 130411 */ /*GILLT_v4s32*//*Label 3633*/ GIMT_Encode4(133897),
46228 /* 130415 */ /*GILLT_v8s32*//*Label 3634*/ GIMT_Encode4(134721),
46229 /* 130419 */ /*GILLT_v16s32*//*Label 3635*/ GIMT_Encode4(135487),
46230 /* 130423 */ /*GILLT_v2s64*//*Label 3636*/ GIMT_Encode4(135805),
46231 /* 130427 */ /*GILLT_v4s64*//*Label 3637*/ GIMT_Encode4(136629),
46232 /* 130431 */ /*GILLT_v8s64*//*Label 3638*/ GIMT_Encode4(137395),
46233 /* 130435 */ // Label 3627: @130435
46234 /* 130435 */ GIM_Try, /*On fail goto*//*Label 3640*/ GIMT_Encode4(130870),
46235 /* 130440 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
46236 /* 130443 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
46237 /* 130446 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
46238 /* 130449 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3641*/ GIMT_Encode4(130493), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4558 //
46239 /* 130456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46240 /* 130460 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46241 /* 130464 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46242 /* 130468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46243 /* 130472 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46244 /* 130478 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46245 /* 130480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46246 /* 130482 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src, immAllZerosV:{ *:[v16i8] }) => (VMOVDQU8Z128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
46247 /* 130482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrkz),
46248 /* 130485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46249 /* 130487 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46250 /* 130489 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46251 /* 130491 */ GIR_RootConstrainSelectedInstOperands,
46252 /* 130492 */ // GIR_Coverage, 4558,
46253 /* 130492 */ GIR_EraseRootFromParent_Done,
46254 /* 130493 */ // Label 3641: @130493
46255 /* 130493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3642*/ GIMT_Encode4(130641), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19900 //
46256 /* 130500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46257 /* 130504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46258 /* 130508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46259 /* 130512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46260 /* 130516 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46261 /* 130522 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46262 /* 130524 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46263 /* 130526 */ // (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] })
46264 /* 130526 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
46265 /* 130529 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46266 /* 130533 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46267 /* 130538 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46268 /* 130540 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46269 /* 130543 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46270 /* 130547 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46271 /* 130552 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46272 /* 130555 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46273 /* 130559 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
46274 /* 130562 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46275 /* 130567 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46276 /* 130572 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46277 /* 130577 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
46278 /* 130580 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46279 /* 130584 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46280 /* 130589 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
46281 /* 130593 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
46282 /* 130598 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46283 /* 130601 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
46284 /* 130605 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46285 /* 130610 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46286 /* 130613 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
46287 /* 130616 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46288 /* 130618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46289 /* 130621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46290 /* 130623 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46291 /* 130630 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46292 /* 130635 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46293 /* 130640 */ // GIR_Coverage, 19900,
46294 /* 130640 */ GIR_EraseRootFromParent_Done,
46295 /* 130641 */ // Label 3642: @130641
46296 /* 130641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3643*/ GIMT_Encode4(130677), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4559 //
46297 /* 130648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46298 /* 130652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46299 /* 130656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46300 /* 130660 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46301 /* 130664 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src0) => (VMOVDQU8Z128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1)
46302 /* 130664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrk),
46303 /* 130667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46304 /* 130669 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46305 /* 130671 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46306 /* 130673 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46307 /* 130675 */ GIR_RootConstrainSelectedInstOperands,
46308 /* 130676 */ // GIR_Coverage, 4559,
46309 /* 130676 */ GIR_EraseRootFromParent_Done,
46310 /* 130677 */ // Label 3643: @130677
46311 /* 130677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3644*/ GIMT_Encode4(130869), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19899 //
46312 /* 130684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46313 /* 130688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46314 /* 130692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46315 /* 130696 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46316 /* 130700 */ // (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] })
46317 /* 130700 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
46318 /* 130703 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46319 /* 130707 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46320 /* 130712 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
46321 /* 130714 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
46322 /* 130717 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46323 /* 130721 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46324 /* 130726 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
46325 /* 130729 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
46326 /* 130733 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
46327 /* 130736 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46328 /* 130741 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46329 /* 130746 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46330 /* 130751 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
46331 /* 130754 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46332 /* 130758 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46333 /* 130763 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
46334 /* 130767 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
46335 /* 130772 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46336 /* 130775 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46337 /* 130779 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46338 /* 130784 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46339 /* 130786 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46340 /* 130789 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46341 /* 130793 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46342 /* 130798 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46343 /* 130801 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
46344 /* 130805 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46345 /* 130808 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46346 /* 130813 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46347 /* 130818 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46348 /* 130823 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46349 /* 130826 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
46350 /* 130830 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46351 /* 130835 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46352 /* 130838 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46353 /* 130841 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
46354 /* 130844 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46355 /* 130846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46356 /* 130849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46357 /* 130851 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46358 /* 130858 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46359 /* 130863 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46360 /* 130868 */ // GIR_Coverage, 19899,
46361 /* 130868 */ GIR_EraseRootFromParent_Done,
46362 /* 130869 */ // Label 3644: @130869
46363 /* 130869 */ GIM_Reject,
46364 /* 130870 */ // Label 3640: @130870
46365 /* 130870 */ GIM_Reject,
46366 /* 130871 */ // Label 3628: @130871
46367 /* 130871 */ GIM_Try, /*On fail goto*//*Label 3645*/ GIMT_Encode4(131272),
46368 /* 130876 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
46369 /* 130879 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
46370 /* 130882 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
46371 /* 130885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46372 /* 130889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
46373 /* 130893 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46374 /* 130897 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3646*/ GIMT_Encode4(130929), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4554 //
46375 /* 130904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46376 /* 130908 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46377 /* 130914 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46378 /* 130916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46379 /* 130918 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src, immAllZerosV:{ *:[v32i8] }) => (VMOVDQU8Z256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
46380 /* 130918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrkz),
46381 /* 130921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46382 /* 130923 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46383 /* 130925 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46384 /* 130927 */ GIR_RootConstrainSelectedInstOperands,
46385 /* 130928 */ // GIR_Coverage, 4554,
46386 /* 130928 */ GIR_EraseRootFromParent_Done,
46387 /* 130929 */ // Label 3646: @130929
46388 /* 130929 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3647*/ GIMT_Encode4(131065), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19902 //
46389 /* 130936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46390 /* 130940 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46391 /* 130946 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46392 /* 130948 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46393 /* 130950 */ // (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] })
46394 /* 130950 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
46395 /* 130953 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46396 /* 130957 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46397 /* 130962 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46398 /* 130964 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46399 /* 130967 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46400 /* 130971 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46401 /* 130976 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46402 /* 130979 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46403 /* 130983 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
46404 /* 130986 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46405 /* 130991 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46406 /* 130996 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46407 /* 131001 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
46408 /* 131004 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46409 /* 131008 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46410 /* 131013 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
46411 /* 131017 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
46412 /* 131022 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46413 /* 131025 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
46414 /* 131029 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46415 /* 131034 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46416 /* 131037 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
46417 /* 131040 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46418 /* 131042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46419 /* 131045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46420 /* 131047 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46421 /* 131054 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46422 /* 131059 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46423 /* 131064 */ // GIR_Coverage, 19902,
46424 /* 131064 */ GIR_EraseRootFromParent_Done,
46425 /* 131065 */ // Label 3647: @131065
46426 /* 131065 */ GIM_Try, /*On fail goto*//*Label 3648*/ GIMT_Encode4(131271),
46427 /* 131070 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46428 /* 131074 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3649*/ GIMT_Encode4(131094), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4555 //
46429 /* 131081 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src0) => (VMOVDQU8Z256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1)
46430 /* 131081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrk),
46431 /* 131084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46432 /* 131086 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46433 /* 131088 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46434 /* 131090 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46435 /* 131092 */ GIR_RootConstrainSelectedInstOperands,
46436 /* 131093 */ // GIR_Coverage, 4555,
46437 /* 131093 */ GIR_EraseRootFromParent_Done,
46438 /* 131094 */ // Label 3649: @131094
46439 /* 131094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3650*/ GIMT_Encode4(131270), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19901 //
46440 /* 131101 */ // (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] })
46441 /* 131101 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
46442 /* 131104 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46443 /* 131108 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46444 /* 131113 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
46445 /* 131115 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
46446 /* 131118 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46447 /* 131122 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46448 /* 131127 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
46449 /* 131130 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
46450 /* 131134 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
46451 /* 131137 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46452 /* 131142 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46453 /* 131147 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46454 /* 131152 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
46455 /* 131155 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46456 /* 131159 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46457 /* 131164 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
46458 /* 131168 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
46459 /* 131173 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46460 /* 131176 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46461 /* 131180 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46462 /* 131185 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46463 /* 131187 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46464 /* 131190 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46465 /* 131194 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46466 /* 131199 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46467 /* 131202 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
46468 /* 131206 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46469 /* 131209 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46470 /* 131214 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46471 /* 131219 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46472 /* 131224 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46473 /* 131227 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
46474 /* 131231 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46475 /* 131236 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46476 /* 131239 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46477 /* 131242 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
46478 /* 131245 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46479 /* 131247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46480 /* 131250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46481 /* 131252 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46482 /* 131259 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46483 /* 131264 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46484 /* 131269 */ // GIR_Coverage, 19901,
46485 /* 131269 */ GIR_EraseRootFromParent_Done,
46486 /* 131270 */ // Label 3650: @131270
46487 /* 131270 */ GIM_Reject,
46488 /* 131271 */ // Label 3648: @131271
46489 /* 131271 */ GIM_Reject,
46490 /* 131272 */ // Label 3645: @131272
46491 /* 131272 */ GIM_Reject,
46492 /* 131273 */ // Label 3629: @131273
46493 /* 131273 */ GIM_Try, /*On fail goto*//*Label 3651*/ GIMT_Encode4(131356),
46494 /* 131278 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
46495 /* 131281 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
46496 /* 131284 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
46497 /* 131287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46498 /* 131291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
46499 /* 131295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46500 /* 131299 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3652*/ GIMT_Encode4(131331), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4550 //
46501 /* 131306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46502 /* 131310 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46503 /* 131316 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46504 /* 131318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46505 /* 131320 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src, immAllZerosV:{ *:[v64i8] }) => (VMOVDQU8Zrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
46506 /* 131320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
46507 /* 131323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46508 /* 131325 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46509 /* 131327 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46510 /* 131329 */ GIR_RootConstrainSelectedInstOperands,
46511 /* 131330 */ // GIR_Coverage, 4550,
46512 /* 131330 */ GIR_EraseRootFromParent_Done,
46513 /* 131331 */ // Label 3652: @131331
46514 /* 131331 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3653*/ GIMT_Encode4(131355), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4551 //
46515 /* 131338 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46516 /* 131342 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src0) => (VMOVDQU8Zrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src0, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1)
46517 /* 131342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
46518 /* 131345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46519 /* 131347 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46520 /* 131349 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46521 /* 131351 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46522 /* 131353 */ GIR_RootConstrainSelectedInstOperands,
46523 /* 131354 */ // GIR_Coverage, 4551,
46524 /* 131354 */ GIR_EraseRootFromParent_Done,
46525 /* 131355 */ // Label 3653: @131355
46526 /* 131355 */ GIM_Reject,
46527 /* 131356 */ // Label 3651: @131356
46528 /* 131356 */ GIM_Reject,
46529 /* 131357 */ // Label 3630: @131357
46530 /* 131357 */ GIM_Try, /*On fail goto*//*Label 3654*/ GIMT_Encode4(132456),
46531 /* 131362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
46532 /* 131365 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
46533 /* 131368 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
46534 /* 131371 */ GIM_Try, /*On fail goto*//*Label 3655*/ GIMT_Encode4(131681),
46535 /* 131376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46536 /* 131380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46537 /* 131384 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3656*/ GIMT_Encode4(131454), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19994 //
46538 /* 131391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46539 /* 131395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46540 /* 131399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46541 /* 131402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46542 /* 131406 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/16,
46543 /* 131410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46544 /* 131414 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
46545 /* 131418 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46546 /* 131424 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
46547 /* 131426 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46548 /* 131428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46549 /* 131435 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>>, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rmkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, addr:{ *:[iPTR] }:$src)
46550 /* 131435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
46551 /* 131438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46552 /* 131440 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46553 /* 131442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46554 /* 131446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46555 /* 131452 */ GIR_RootConstrainSelectedInstOperands,
46556 /* 131453 */ // GIR_Coverage, 19994,
46557 /* 131453 */ GIR_EraseRootFromParent_Done,
46558 /* 131454 */ // Label 3656: @131454
46559 /* 131454 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3657*/ GIMT_Encode4(131520), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19996 //
46560 /* 131461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46561 /* 131465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46562 /* 131469 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46563 /* 131472 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46564 /* 131476 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46565 /* 131480 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
46566 /* 131484 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46567 /* 131490 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
46568 /* 131492 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46569 /* 131494 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46570 /* 131501 */ // (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)
46571 /* 131501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
46572 /* 131504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46573 /* 131506 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46574 /* 131508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46575 /* 131512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46576 /* 131518 */ GIR_RootConstrainSelectedInstOperands,
46577 /* 131519 */ // GIR_Coverage, 19996,
46578 /* 131519 */ GIR_EraseRootFromParent_Done,
46579 /* 131520 */ // Label 3657: @131520
46580 /* 131520 */ GIM_Try, /*On fail goto*//*Label 3658*/ GIMT_Encode4(131644),
46581 /* 131525 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46582 /* 131529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3659*/ GIMT_Encode4(131588), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19993 //
46583 /* 131536 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46584 /* 131540 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46585 /* 131544 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46586 /* 131547 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46587 /* 131551 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/16,
46588 /* 131555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46589 /* 131559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46590 /* 131561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46591 /* 131568 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>>, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rmk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, addr:{ *:[iPTR] }:$src)
46592 /* 131568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
46593 /* 131571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46594 /* 131573 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46595 /* 131575 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46596 /* 131577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46597 /* 131581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46598 /* 131586 */ GIR_RootConstrainSelectedInstOperands,
46599 /* 131587 */ // GIR_Coverage, 19993,
46600 /* 131587 */ GIR_EraseRootFromParent_Done,
46601 /* 131588 */ // Label 3659: @131588
46602 /* 131588 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3660*/ GIMT_Encode4(131643), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19995 //
46603 /* 131595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46604 /* 131599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46605 /* 131603 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46606 /* 131606 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46607 /* 131610 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46608 /* 131614 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46609 /* 131616 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46610 /* 131623 */ // (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)
46611 /* 131623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
46612 /* 131626 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46613 /* 131628 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46614 /* 131630 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46615 /* 131632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46616 /* 131636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46617 /* 131641 */ GIR_RootConstrainSelectedInstOperands,
46618 /* 131642 */ // GIR_Coverage, 19995,
46619 /* 131642 */ GIR_EraseRootFromParent_Done,
46620 /* 131643 */ // Label 3660: @131643
46621 /* 131643 */ GIM_Reject,
46622 /* 131644 */ // Label 3658: @131644
46623 /* 131644 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3661*/ GIMT_Encode4(131680), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4570 //
46624 /* 131651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46625 /* 131655 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46626 /* 131659 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46627 /* 131665 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46628 /* 131667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46629 /* 131669 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src, immAllZerosV:{ *:[v8i16] }) => (VMOVDQU16Z128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
46630 /* 131669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
46631 /* 131672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46632 /* 131674 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46633 /* 131676 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46634 /* 131678 */ GIR_RootConstrainSelectedInstOperands,
46635 /* 131679 */ // GIR_Coverage, 4570,
46636 /* 131679 */ GIR_EraseRootFromParent_Done,
46637 /* 131680 */ // Label 3661: @131680
46638 /* 131680 */ GIM_Reject,
46639 /* 131681 */ // Label 3655: @131681
46640 /* 131681 */ GIM_Try, /*On fail goto*//*Label 3662*/ GIMT_Encode4(131971),
46641 /* 131686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46642 /* 131690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46643 /* 131694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46644 /* 131698 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3663*/ GIMT_Encode4(131834), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19904 //
46645 /* 131705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46646 /* 131709 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46647 /* 131715 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46648 /* 131717 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46649 /* 131719 */ // (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] })
46650 /* 131719 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
46651 /* 131722 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46652 /* 131726 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46653 /* 131731 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46654 /* 131733 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46655 /* 131736 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46656 /* 131740 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46657 /* 131745 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46658 /* 131748 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46659 /* 131752 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
46660 /* 131755 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46661 /* 131760 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46662 /* 131765 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46663 /* 131770 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
46664 /* 131773 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46665 /* 131777 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46666 /* 131782 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
46667 /* 131786 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
46668 /* 131791 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
46669 /* 131794 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
46670 /* 131798 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46671 /* 131803 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46672 /* 131806 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
46673 /* 131809 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46674 /* 131811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46675 /* 131814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46676 /* 131816 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46677 /* 131823 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46678 /* 131828 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46679 /* 131833 */ // GIR_Coverage, 19904,
46680 /* 131833 */ GIR_EraseRootFromParent_Done,
46681 /* 131834 */ // Label 3663: @131834
46682 /* 131834 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3664*/ GIMT_Encode4(131970), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19908 //
46683 /* 131841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46684 /* 131845 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46685 /* 131851 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46686 /* 131853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46687 /* 131855 */ // (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] })
46688 /* 131855 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
46689 /* 131858 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46690 /* 131862 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46691 /* 131867 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46692 /* 131869 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46693 /* 131872 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46694 /* 131876 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46695 /* 131881 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46696 /* 131884 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46697 /* 131888 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
46698 /* 131891 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46699 /* 131896 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46700 /* 131901 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46701 /* 131906 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
46702 /* 131909 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46703 /* 131913 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46704 /* 131918 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
46705 /* 131922 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
46706 /* 131927 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
46707 /* 131930 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
46708 /* 131934 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46709 /* 131939 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46710 /* 131942 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
46711 /* 131945 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46712 /* 131947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46713 /* 131950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46714 /* 131952 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46715 /* 131959 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46716 /* 131964 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46717 /* 131969 */ // GIR_Coverage, 19908,
46718 /* 131969 */ GIR_EraseRootFromParent_Done,
46719 /* 131970 */ // Label 3664: @131970
46720 /* 131970 */ GIM_Reject,
46721 /* 131971 */ // Label 3662: @131971
46722 /* 131971 */ GIM_Try, /*On fail goto*//*Label 3665*/ GIMT_Encode4(132045),
46723 /* 131976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46724 /* 131980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46725 /* 131984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46726 /* 131988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3666*/ GIMT_Encode4(132020), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19992 //
46727 /* 131995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46728 /* 131999 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46729 /* 132005 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46730 /* 132007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46731 /* 132009 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rrkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
46732 /* 132009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
46733 /* 132012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46734 /* 132014 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46735 /* 132016 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46736 /* 132018 */ GIR_RootConstrainSelectedInstOperands,
46737 /* 132019 */ // GIR_Coverage, 19992,
46738 /* 132019 */ GIR_EraseRootFromParent_Done,
46739 /* 132020 */ // Label 3666: @132020
46740 /* 132020 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3667*/ GIMT_Encode4(132044), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4571 //
46741 /* 132027 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46742 /* 132031 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1)
46743 /* 132031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
46744 /* 132034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46745 /* 132036 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46746 /* 132038 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46747 /* 132040 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46748 /* 132042 */ GIR_RootConstrainSelectedInstOperands,
46749 /* 132043 */ // GIR_Coverage, 4571,
46750 /* 132043 */ GIR_EraseRootFromParent_Done,
46751 /* 132044 */ // Label 3667: @132044
46752 /* 132044 */ GIM_Reject,
46753 /* 132045 */ // Label 3665: @132045
46754 /* 132045 */ GIM_Try, /*On fail goto*//*Label 3668*/ GIMT_Encode4(132419),
46755 /* 132050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46756 /* 132054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46757 /* 132058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46758 /* 132062 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46759 /* 132066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3669*/ GIMT_Encode4(132242), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19903 //
46760 /* 132073 */ // (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] })
46761 /* 132073 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
46762 /* 132076 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46763 /* 132080 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46764 /* 132085 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
46765 /* 132087 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
46766 /* 132090 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46767 /* 132094 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46768 /* 132099 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
46769 /* 132102 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
46770 /* 132106 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
46771 /* 132109 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46772 /* 132114 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46773 /* 132119 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46774 /* 132124 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
46775 /* 132127 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46776 /* 132131 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46777 /* 132136 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
46778 /* 132140 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
46779 /* 132145 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46780 /* 132148 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46781 /* 132152 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46782 /* 132157 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46783 /* 132159 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46784 /* 132162 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46785 /* 132166 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46786 /* 132171 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46787 /* 132174 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
46788 /* 132178 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46789 /* 132181 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46790 /* 132186 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46791 /* 132191 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46792 /* 132196 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
46793 /* 132199 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
46794 /* 132203 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46795 /* 132208 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46796 /* 132211 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46797 /* 132214 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
46798 /* 132217 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46799 /* 132219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46800 /* 132222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46801 /* 132224 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46802 /* 132231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46803 /* 132236 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46804 /* 132241 */ // GIR_Coverage, 19903,
46805 /* 132241 */ GIR_EraseRootFromParent_Done,
46806 /* 132242 */ // Label 3669: @132242
46807 /* 132242 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3670*/ GIMT_Encode4(132418), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19907 //
46808 /* 132249 */ // (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] })
46809 /* 132249 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
46810 /* 132252 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46811 /* 132256 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46812 /* 132261 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
46813 /* 132263 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
46814 /* 132266 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46815 /* 132270 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46816 /* 132275 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
46817 /* 132278 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
46818 /* 132282 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
46819 /* 132285 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46820 /* 132290 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46821 /* 132295 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46822 /* 132300 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
46823 /* 132303 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46824 /* 132307 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46825 /* 132312 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
46826 /* 132316 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
46827 /* 132321 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46828 /* 132324 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46829 /* 132328 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46830 /* 132333 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46831 /* 132335 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46832 /* 132338 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46833 /* 132342 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46834 /* 132347 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46835 /* 132350 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
46836 /* 132354 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46837 /* 132357 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46838 /* 132362 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46839 /* 132367 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46840 /* 132372 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
46841 /* 132375 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
46842 /* 132379 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46843 /* 132384 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46844 /* 132387 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46845 /* 132390 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
46846 /* 132393 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46847 /* 132395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46848 /* 132398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46849 /* 132400 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46850 /* 132407 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46851 /* 132412 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46852 /* 132417 */ // GIR_Coverage, 19907,
46853 /* 132417 */ GIR_EraseRootFromParent_Done,
46854 /* 132418 */ // Label 3670: @132418
46855 /* 132418 */ GIM_Reject,
46856 /* 132419 */ // Label 3668: @132419
46857 /* 132419 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3671*/ GIMT_Encode4(132455), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19991 //
46858 /* 132426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46859 /* 132430 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46860 /* 132434 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46861 /* 132438 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46862 /* 132442 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
46863 /* 132442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
46864 /* 132445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46865 /* 132447 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46866 /* 132449 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46867 /* 132451 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46868 /* 132453 */ GIR_RootConstrainSelectedInstOperands,
46869 /* 132454 */ // GIR_Coverage, 19991,
46870 /* 132454 */ GIR_EraseRootFromParent_Done,
46871 /* 132455 */ // Label 3671: @132455
46872 /* 132455 */ GIM_Reject,
46873 /* 132456 */ // Label 3654: @132456
46874 /* 132456 */ GIM_Reject,
46875 /* 132457 */ // Label 3631: @132457
46876 /* 132457 */ GIM_Try, /*On fail goto*//*Label 3672*/ GIMT_Encode4(133488),
46877 /* 132462 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
46878 /* 132465 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
46879 /* 132468 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
46880 /* 132471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46881 /* 132475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46882 /* 132479 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3673*/ GIMT_Encode4(132549), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19984 //
46883 /* 132486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46884 /* 132490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46885 /* 132494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46886 /* 132497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46887 /* 132501 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/32,
46888 /* 132505 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46889 /* 132509 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
46890 /* 132513 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46891 /* 132519 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
46892 /* 132521 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46893 /* 132523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46894 /* 132530 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>>, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rmkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, addr:{ *:[iPTR] }:$src)
46895 /* 132530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
46896 /* 132533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46897 /* 132535 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46898 /* 132537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46899 /* 132541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46900 /* 132547 */ GIR_RootConstrainSelectedInstOperands,
46901 /* 132548 */ // GIR_Coverage, 19984,
46902 /* 132548 */ GIR_EraseRootFromParent_Done,
46903 /* 132549 */ // Label 3673: @132549
46904 /* 132549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3674*/ GIMT_Encode4(132615), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19986 //
46905 /* 132556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46906 /* 132560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46907 /* 132564 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46908 /* 132567 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46909 /* 132571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46910 /* 132575 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
46911 /* 132579 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46912 /* 132585 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
46913 /* 132587 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46914 /* 132589 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46915 /* 132596 */ // (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)
46916 /* 132596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
46917 /* 132599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46918 /* 132601 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46919 /* 132603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46920 /* 132607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46921 /* 132613 */ GIR_RootConstrainSelectedInstOperands,
46922 /* 132614 */ // GIR_Coverage, 19986,
46923 /* 132614 */ GIR_EraseRootFromParent_Done,
46924 /* 132615 */ // Label 3674: @132615
46925 /* 132615 */ GIM_Try, /*On fail goto*//*Label 3675*/ GIMT_Encode4(132739),
46926 /* 132620 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46927 /* 132624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3676*/ GIMT_Encode4(132683), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19983 //
46928 /* 132631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46929 /* 132635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46930 /* 132639 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46931 /* 132642 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46932 /* 132646 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/32,
46933 /* 132650 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46934 /* 132654 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46935 /* 132656 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46936 /* 132663 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>>, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rmk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, addr:{ *:[iPTR] }:$src)
46937 /* 132663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
46938 /* 132666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46939 /* 132668 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46940 /* 132670 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46941 /* 132672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46942 /* 132676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46943 /* 132681 */ GIR_RootConstrainSelectedInstOperands,
46944 /* 132682 */ // GIR_Coverage, 19983,
46945 /* 132682 */ GIR_EraseRootFromParent_Done,
46946 /* 132683 */ // Label 3676: @132683
46947 /* 132683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3677*/ GIMT_Encode4(132738), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19985 //
46948 /* 132690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46949 /* 132694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46950 /* 132698 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46951 /* 132701 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46952 /* 132705 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46953 /* 132709 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46954 /* 132711 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46955 /* 132718 */ // (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)
46956 /* 132718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
46957 /* 132721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46958 /* 132723 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46959 /* 132725 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46960 /* 132727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46961 /* 132731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46962 /* 132736 */ GIR_RootConstrainSelectedInstOperands,
46963 /* 132737 */ // GIR_Coverage, 19985,
46964 /* 132737 */ GIR_EraseRootFromParent_Done,
46965 /* 132738 */ // Label 3677: @132738
46966 /* 132738 */ GIM_Reject,
46967 /* 132739 */ // Label 3675: @132739
46968 /* 132739 */ GIM_Try, /*On fail goto*//*Label 3678*/ GIMT_Encode4(133487),
46969 /* 132744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46970 /* 132748 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3679*/ GIMT_Encode4(132780), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4566 //
46971 /* 132755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46972 /* 132759 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46973 /* 132765 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46974 /* 132767 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46975 /* 132769 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src, immAllZerosV:{ *:[v16i16] }) => (VMOVDQU16Z256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
46976 /* 132769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
46977 /* 132772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46978 /* 132774 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46979 /* 132776 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46980 /* 132778 */ GIR_RootConstrainSelectedInstOperands,
46981 /* 132779 */ // GIR_Coverage, 4566,
46982 /* 132779 */ GIR_EraseRootFromParent_Done,
46983 /* 132780 */ // Label 3679: @132780
46984 /* 132780 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3680*/ GIMT_Encode4(132916), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19906 //
46985 /* 132787 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46986 /* 132791 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46987 /* 132797 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46988 /* 132799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46989 /* 132801 */ // (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] })
46990 /* 132801 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
46991 /* 132804 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46992 /* 132808 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46993 /* 132813 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46994 /* 132815 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46995 /* 132818 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46996 /* 132822 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46997 /* 132827 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46998 /* 132830 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46999 /* 132834 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47000 /* 132837 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47001 /* 132842 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47002 /* 132847 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47003 /* 132852 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
47004 /* 132855 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47005 /* 132859 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47006 /* 132864 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47007 /* 132868 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47008 /* 132873 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47009 /* 132876 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47010 /* 132880 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47011 /* 132885 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47012 /* 132888 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47013 /* 132891 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47014 /* 132893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47015 /* 132896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47016 /* 132898 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47017 /* 132905 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47018 /* 132910 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47019 /* 132915 */ // GIR_Coverage, 19906,
47020 /* 132915 */ GIR_EraseRootFromParent_Done,
47021 /* 132916 */ // Label 3680: @132916
47022 /* 132916 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3681*/ GIMT_Encode4(133052), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19910 //
47023 /* 132923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47024 /* 132927 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47025 /* 132933 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47026 /* 132935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47027 /* 132937 */ // (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] })
47028 /* 132937 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
47029 /* 132940 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47030 /* 132944 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47031 /* 132949 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47032 /* 132951 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47033 /* 132954 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47034 /* 132958 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47035 /* 132963 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47036 /* 132966 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47037 /* 132970 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47038 /* 132973 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47039 /* 132978 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47040 /* 132983 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47041 /* 132988 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
47042 /* 132991 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47043 /* 132995 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47044 /* 133000 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47045 /* 133004 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47046 /* 133009 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47047 /* 133012 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47048 /* 133016 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47049 /* 133021 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47050 /* 133024 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47051 /* 133027 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47052 /* 133029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47053 /* 133032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47054 /* 133034 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47055 /* 133041 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47056 /* 133046 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47057 /* 133051 */ // GIR_Coverage, 19910,
47058 /* 133051 */ GIR_EraseRootFromParent_Done,
47059 /* 133052 */ // Label 3681: @133052
47060 /* 133052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3682*/ GIMT_Encode4(133084), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19982 //
47061 /* 133059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47062 /* 133063 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47063 /* 133069 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47064 /* 133071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47065 /* 133073 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rrkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
47066 /* 133073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
47067 /* 133076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47068 /* 133078 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47069 /* 133080 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47070 /* 133082 */ GIR_RootConstrainSelectedInstOperands,
47071 /* 133083 */ // GIR_Coverage, 19982,
47072 /* 133083 */ GIR_EraseRootFromParent_Done,
47073 /* 133084 */ // Label 3682: @133084
47074 /* 133084 */ GIM_Try, /*On fail goto*//*Label 3683*/ GIMT_Encode4(133486),
47075 /* 133089 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47076 /* 133093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3684*/ GIMT_Encode4(133113), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4567 //
47077 /* 133100 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1)
47078 /* 133100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
47079 /* 133103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47080 /* 133105 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47081 /* 133107 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47082 /* 133109 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47083 /* 133111 */ GIR_RootConstrainSelectedInstOperands,
47084 /* 133112 */ // GIR_Coverage, 4567,
47085 /* 133112 */ GIR_EraseRootFromParent_Done,
47086 /* 133113 */ // Label 3684: @133113
47087 /* 133113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3685*/ GIMT_Encode4(133289), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19905 //
47088 /* 133120 */ // (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] })
47089 /* 133120 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
47090 /* 133123 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47091 /* 133127 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47092 /* 133132 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47093 /* 133134 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
47094 /* 133137 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47095 /* 133141 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47096 /* 133146 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47097 /* 133149 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47098 /* 133153 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47099 /* 133156 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47100 /* 133161 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47101 /* 133166 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47102 /* 133171 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
47103 /* 133174 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47104 /* 133178 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47105 /* 133183 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47106 /* 133187 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47107 /* 133192 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47108 /* 133195 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47109 /* 133199 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47110 /* 133204 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47111 /* 133206 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47112 /* 133209 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47113 /* 133213 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47114 /* 133218 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47115 /* 133221 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47116 /* 133225 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47117 /* 133228 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47118 /* 133233 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47119 /* 133238 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47120 /* 133243 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47121 /* 133246 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47122 /* 133250 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47123 /* 133255 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47124 /* 133258 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47125 /* 133261 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47126 /* 133264 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47127 /* 133266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47128 /* 133269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47129 /* 133271 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47130 /* 133278 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47131 /* 133283 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47132 /* 133288 */ // GIR_Coverage, 19905,
47133 /* 133288 */ GIR_EraseRootFromParent_Done,
47134 /* 133289 */ // Label 3685: @133289
47135 /* 133289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3686*/ GIMT_Encode4(133465), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19909 //
47136 /* 133296 */ // (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] })
47137 /* 133296 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
47138 /* 133299 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47139 /* 133303 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47140 /* 133308 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47141 /* 133310 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
47142 /* 133313 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47143 /* 133317 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47144 /* 133322 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47145 /* 133325 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47146 /* 133329 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47147 /* 133332 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47148 /* 133337 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47149 /* 133342 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47150 /* 133347 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
47151 /* 133350 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47152 /* 133354 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47153 /* 133359 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47154 /* 133363 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47155 /* 133368 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47156 /* 133371 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47157 /* 133375 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47158 /* 133380 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47159 /* 133382 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47160 /* 133385 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47161 /* 133389 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47162 /* 133394 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47163 /* 133397 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47164 /* 133401 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47165 /* 133404 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47166 /* 133409 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47167 /* 133414 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47168 /* 133419 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47169 /* 133422 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47170 /* 133426 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47171 /* 133431 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47172 /* 133434 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47173 /* 133437 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47174 /* 133440 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47175 /* 133442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47176 /* 133445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47177 /* 133447 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47178 /* 133454 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47179 /* 133459 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47180 /* 133464 */ // GIR_Coverage, 19909,
47181 /* 133464 */ GIR_EraseRootFromParent_Done,
47182 /* 133465 */ // Label 3686: @133465
47183 /* 133465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3687*/ GIMT_Encode4(133485), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19981 //
47184 /* 133472 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
47185 /* 133472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
47186 /* 133475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47187 /* 133477 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47188 /* 133479 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47189 /* 133481 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47190 /* 133483 */ GIR_RootConstrainSelectedInstOperands,
47191 /* 133484 */ // GIR_Coverage, 19981,
47192 /* 133484 */ GIR_EraseRootFromParent_Done,
47193 /* 133485 */ // Label 3687: @133485
47194 /* 133485 */ GIM_Reject,
47195 /* 133486 */ // Label 3683: @133486
47196 /* 133486 */ GIM_Reject,
47197 /* 133487 */ // Label 3678: @133487
47198 /* 133487 */ GIM_Reject,
47199 /* 133488 */ // Label 3672: @133488
47200 /* 133488 */ GIM_Reject,
47201 /* 133489 */ // Label 3632: @133489
47202 /* 133489 */ GIM_Try, /*On fail goto*//*Label 3688*/ GIMT_Encode4(133896),
47203 /* 133494 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
47204 /* 133497 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
47205 /* 133500 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
47206 /* 133503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47207 /* 133507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
47208 /* 133511 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3689*/ GIMT_Encode4(133581), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19974 //
47209 /* 133518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47210 /* 133522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47211 /* 133526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47212 /* 133529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47213 /* 133533 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/64,
47214 /* 133537 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47215 /* 133541 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47216 /* 133545 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47217 /* 133551 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47218 /* 133553 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47219 /* 133555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47220 /* 133562 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>>, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrmkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, addr:{ *:[iPTR] }:$src)
47221 /* 133562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
47222 /* 133565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47223 /* 133567 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47224 /* 133569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47225 /* 133573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47226 /* 133579 */ GIR_RootConstrainSelectedInstOperands,
47227 /* 133580 */ // GIR_Coverage, 19974,
47228 /* 133580 */ GIR_EraseRootFromParent_Done,
47229 /* 133581 */ // Label 3689: @133581
47230 /* 133581 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3690*/ GIMT_Encode4(133647), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19976 //
47231 /* 133588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47232 /* 133592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47233 /* 133596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47234 /* 133599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47235 /* 133603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47236 /* 133607 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47237 /* 133611 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47238 /* 133617 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47239 /* 133619 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47240 /* 133621 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47241 /* 133628 */ // (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)
47242 /* 133628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
47243 /* 133631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47244 /* 133633 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47245 /* 133635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47246 /* 133639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47247 /* 133645 */ GIR_RootConstrainSelectedInstOperands,
47248 /* 133646 */ // GIR_Coverage, 19976,
47249 /* 133646 */ GIR_EraseRootFromParent_Done,
47250 /* 133647 */ // Label 3690: @133647
47251 /* 133647 */ GIM_Try, /*On fail goto*//*Label 3691*/ GIMT_Encode4(133771),
47252 /* 133652 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47253 /* 133656 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3692*/ GIMT_Encode4(133715), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19973 //
47254 /* 133663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47255 /* 133667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47256 /* 133671 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47257 /* 133674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47258 /* 133678 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/64,
47259 /* 133682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47260 /* 133686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47261 /* 133688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47262 /* 133695 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>>, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrmk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, addr:{ *:[iPTR] }:$src)
47263 /* 133695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
47264 /* 133698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47265 /* 133700 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47266 /* 133702 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47267 /* 133704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47268 /* 133708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47269 /* 133713 */ GIR_RootConstrainSelectedInstOperands,
47270 /* 133714 */ // GIR_Coverage, 19973,
47271 /* 133714 */ GIR_EraseRootFromParent_Done,
47272 /* 133715 */ // Label 3692: @133715
47273 /* 133715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3693*/ GIMT_Encode4(133770), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19975 //
47274 /* 133722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47275 /* 133726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47276 /* 133730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47277 /* 133733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47278 /* 133737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47279 /* 133741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47280 /* 133743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47281 /* 133750 */ // (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)
47282 /* 133750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
47283 /* 133753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47284 /* 133755 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47285 /* 133757 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47286 /* 133759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47287 /* 133763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47288 /* 133768 */ GIR_RootConstrainSelectedInstOperands,
47289 /* 133769 */ // GIR_Coverage, 19975,
47290 /* 133769 */ GIR_EraseRootFromParent_Done,
47291 /* 133770 */ // Label 3693: @133770
47292 /* 133770 */ GIM_Reject,
47293 /* 133771 */ // Label 3691: @133771
47294 /* 133771 */ GIM_Try, /*On fail goto*//*Label 3694*/ GIMT_Encode4(133895),
47295 /* 133776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47296 /* 133780 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3695*/ GIMT_Encode4(133812), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4562 //
47297 /* 133787 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47298 /* 133791 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47299 /* 133797 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47300 /* 133799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47301 /* 133801 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src, immAllZerosV:{ *:[v32i16] }) => (VMOVDQU16Zrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
47302 /* 133801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47303 /* 133804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47304 /* 133806 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47305 /* 133808 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47306 /* 133810 */ GIR_RootConstrainSelectedInstOperands,
47307 /* 133811 */ // GIR_Coverage, 4562,
47308 /* 133811 */ GIR_EraseRootFromParent_Done,
47309 /* 133812 */ // Label 3695: @133812
47310 /* 133812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3696*/ GIMT_Encode4(133844), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19972 //
47311 /* 133819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47312 /* 133823 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47313 /* 133829 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47314 /* 133831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47315 /* 133833 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrrkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
47316 /* 133833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47317 /* 133836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47318 /* 133838 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47319 /* 133840 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47320 /* 133842 */ GIR_RootConstrainSelectedInstOperands,
47321 /* 133843 */ // GIR_Coverage, 19972,
47322 /* 133843 */ GIR_EraseRootFromParent_Done,
47323 /* 133844 */ // Label 3696: @133844
47324 /* 133844 */ GIM_Try, /*On fail goto*//*Label 3697*/ GIMT_Encode4(133894),
47325 /* 133849 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47326 /* 133853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3698*/ GIMT_Encode4(133873), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4563 //
47327 /* 133860 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1)
47328 /* 133860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47329 /* 133863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47330 /* 133865 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47331 /* 133867 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47332 /* 133869 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47333 /* 133871 */ GIR_RootConstrainSelectedInstOperands,
47334 /* 133872 */ // GIR_Coverage, 4563,
47335 /* 133872 */ GIR_EraseRootFromParent_Done,
47336 /* 133873 */ // Label 3698: @133873
47337 /* 133873 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3699*/ GIMT_Encode4(133893), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19971 //
47338 /* 133880 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
47339 /* 133880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47340 /* 133883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47341 /* 133885 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47342 /* 133887 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47343 /* 133889 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47344 /* 133891 */ GIR_RootConstrainSelectedInstOperands,
47345 /* 133892 */ // GIR_Coverage, 19971,
47346 /* 133892 */ GIR_EraseRootFromParent_Done,
47347 /* 133893 */ // Label 3699: @133893
47348 /* 133893 */ GIM_Reject,
47349 /* 133894 */ // Label 3697: @133894
47350 /* 133894 */ GIM_Reject,
47351 /* 133895 */ // Label 3694: @133895
47352 /* 133895 */ GIM_Reject,
47353 /* 133896 */ // Label 3688: @133896
47354 /* 133896 */ GIM_Reject,
47355 /* 133897 */ // Label 3633: @133897
47356 /* 133897 */ GIM_Try, /*On fail goto*//*Label 3700*/ GIMT_Encode4(134720),
47357 /* 133902 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
47358 /* 133905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
47359 /* 133908 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
47360 /* 133911 */ GIM_Try, /*On fail goto*//*Label 3701*/ GIMT_Encode4(133993),
47361 /* 133916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47362 /* 133920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47363 /* 133924 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47364 /* 133928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3702*/ GIMT_Encode4(133960), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4461 //
47365 /* 133935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47366 /* 133939 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47367 /* 133945 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47368 /* 133947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47369 /* 133949 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src, immAllZerosV:{ *:[v4f32] }) => (VMOVAPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
47370 /* 133949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrkz),
47371 /* 133952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47372 /* 133954 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47373 /* 133956 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47374 /* 133958 */ GIR_RootConstrainSelectedInstOperands,
47375 /* 133959 */ // GIR_Coverage, 4461,
47376 /* 133959 */ GIR_EraseRootFromParent_Done,
47377 /* 133960 */ // Label 3702: @133960
47378 /* 133960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3703*/ GIMT_Encode4(133992), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4525 //
47379 /* 133967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47380 /* 133971 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47381 /* 133977 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47382 /* 133979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47383 /* 133981 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src, immAllZerosV:{ *:[v4i32] }) => (VMOVDQA32Z128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
47384 /* 133981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrkz),
47385 /* 133984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47386 /* 133986 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47387 /* 133988 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47388 /* 133990 */ GIR_RootConstrainSelectedInstOperands,
47389 /* 133991 */ // GIR_Coverage, 4525,
47390 /* 133991 */ GIR_EraseRootFromParent_Done,
47391 /* 133992 */ // Label 3703: @133992
47392 /* 133992 */ GIM_Reject,
47393 /* 133993 */ // Label 3701: @133993
47394 /* 133993 */ GIM_Try, /*On fail goto*//*Label 3704*/ GIMT_Encode4(134283),
47395 /* 133998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47396 /* 134002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47397 /* 134006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47398 /* 134010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3705*/ GIMT_Encode4(134146), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19884 //
47399 /* 134017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47400 /* 134021 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47401 /* 134027 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47402 /* 134029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47403 /* 134031 */ // (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] })
47404 /* 134031 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47405 /* 134034 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47406 /* 134038 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47407 /* 134043 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47408 /* 134045 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47409 /* 134048 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47410 /* 134052 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47411 /* 134057 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47412 /* 134060 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47413 /* 134064 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47414 /* 134067 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47415 /* 134072 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47416 /* 134077 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47417 /* 134082 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47418 /* 134085 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47419 /* 134089 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47420 /* 134094 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47421 /* 134098 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47422 /* 134103 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47423 /* 134106 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
47424 /* 134110 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47425 /* 134115 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47426 /* 134118 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47427 /* 134121 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47428 /* 134123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47429 /* 134126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47430 /* 134128 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47431 /* 134135 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47432 /* 134140 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47433 /* 134145 */ // GIR_Coverage, 19884,
47434 /* 134145 */ GIR_EraseRootFromParent_Done,
47435 /* 134146 */ // Label 3705: @134146
47436 /* 134146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3706*/ GIMT_Encode4(134282), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19886 //
47437 /* 134153 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47438 /* 134157 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47439 /* 134163 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47440 /* 134165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47441 /* 134167 */ // (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] })
47442 /* 134167 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47443 /* 134170 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47444 /* 134174 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47445 /* 134179 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47446 /* 134181 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47447 /* 134184 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47448 /* 134188 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47449 /* 134193 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47450 /* 134196 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47451 /* 134200 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47452 /* 134203 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47453 /* 134208 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47454 /* 134213 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47455 /* 134218 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47456 /* 134221 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47457 /* 134225 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47458 /* 134230 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47459 /* 134234 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47460 /* 134239 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47461 /* 134242 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47462 /* 134246 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47463 /* 134251 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47464 /* 134254 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47465 /* 134257 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47466 /* 134259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47467 /* 134262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47468 /* 134264 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47469 /* 134271 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47470 /* 134276 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47471 /* 134281 */ // GIR_Coverage, 19886,
47472 /* 134281 */ GIR_EraseRootFromParent_Done,
47473 /* 134282 */ // Label 3706: @134282
47474 /* 134282 */ GIM_Reject,
47475 /* 134283 */ // Label 3704: @134283
47476 /* 134283 */ GIM_Try, /*On fail goto*//*Label 3707*/ GIMT_Encode4(134345),
47477 /* 134288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47478 /* 134292 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47479 /* 134296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47480 /* 134300 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47481 /* 134304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3708*/ GIMT_Encode4(134324), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4463 //
47482 /* 134311 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src0) => (VMOVAPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1)
47483 /* 134311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrk),
47484 /* 134314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47485 /* 134316 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47486 /* 134318 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47487 /* 134320 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47488 /* 134322 */ GIR_RootConstrainSelectedInstOperands,
47489 /* 134323 */ // GIR_Coverage, 4463,
47490 /* 134323 */ GIR_EraseRootFromParent_Done,
47491 /* 134324 */ // Label 3708: @134324
47492 /* 134324 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3709*/ GIMT_Encode4(134344), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4526 //
47493 /* 134331 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src0) => (VMOVDQA32Z128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1)
47494 /* 134331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrk),
47495 /* 134334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47496 /* 134336 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47497 /* 134338 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47498 /* 134340 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47499 /* 134342 */ GIR_RootConstrainSelectedInstOperands,
47500 /* 134343 */ // GIR_Coverage, 4526,
47501 /* 134343 */ GIR_EraseRootFromParent_Done,
47502 /* 134344 */ // Label 3709: @134344
47503 /* 134344 */ GIM_Reject,
47504 /* 134345 */ // Label 3707: @134345
47505 /* 134345 */ GIM_Try, /*On fail goto*//*Label 3710*/ GIMT_Encode4(134719),
47506 /* 134350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47507 /* 134354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47508 /* 134358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47509 /* 134362 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47510 /* 134366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3711*/ GIMT_Encode4(134542), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19883 //
47511 /* 134373 */ // (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] })
47512 /* 134373 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47513 /* 134376 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47514 /* 134380 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47515 /* 134385 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47516 /* 134387 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47517 /* 134390 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47518 /* 134394 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47519 /* 134399 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47520 /* 134402 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47521 /* 134406 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47522 /* 134409 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47523 /* 134414 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47524 /* 134419 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47525 /* 134424 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47526 /* 134427 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47527 /* 134431 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47528 /* 134436 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47529 /* 134440 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47530 /* 134445 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47531 /* 134448 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47532 /* 134452 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47533 /* 134457 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47534 /* 134459 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47535 /* 134462 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47536 /* 134466 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47537 /* 134471 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47538 /* 134474 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47539 /* 134478 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47540 /* 134481 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47541 /* 134486 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47542 /* 134491 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47543 /* 134496 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47544 /* 134499 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
47545 /* 134503 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47546 /* 134508 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47547 /* 134511 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47548 /* 134514 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47549 /* 134517 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47550 /* 134519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47551 /* 134522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47552 /* 134524 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47553 /* 134531 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47554 /* 134536 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47555 /* 134541 */ // GIR_Coverage, 19883,
47556 /* 134541 */ GIR_EraseRootFromParent_Done,
47557 /* 134542 */ // Label 3711: @134542
47558 /* 134542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3712*/ GIMT_Encode4(134718), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19885 //
47559 /* 134549 */ // (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] })
47560 /* 134549 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47561 /* 134552 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47562 /* 134556 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47563 /* 134561 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47564 /* 134563 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47565 /* 134566 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47566 /* 134570 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47567 /* 134575 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47568 /* 134578 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47569 /* 134582 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47570 /* 134585 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47571 /* 134590 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47572 /* 134595 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47573 /* 134600 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47574 /* 134603 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47575 /* 134607 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47576 /* 134612 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47577 /* 134616 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47578 /* 134621 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47579 /* 134624 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47580 /* 134628 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47581 /* 134633 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47582 /* 134635 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47583 /* 134638 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47584 /* 134642 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47585 /* 134647 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47586 /* 134650 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47587 /* 134654 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47588 /* 134657 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47589 /* 134662 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47590 /* 134667 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47591 /* 134672 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47592 /* 134675 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
47593 /* 134679 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47594 /* 134684 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47595 /* 134687 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47596 /* 134690 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47597 /* 134693 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47598 /* 134695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47599 /* 134698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47600 /* 134700 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47601 /* 134707 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47602 /* 134712 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47603 /* 134717 */ // GIR_Coverage, 19885,
47604 /* 134717 */ GIR_EraseRootFromParent_Done,
47605 /* 134718 */ // Label 3712: @134718
47606 /* 134718 */ GIM_Reject,
47607 /* 134719 */ // Label 3710: @134719
47608 /* 134719 */ GIM_Reject,
47609 /* 134720 */ // Label 3700: @134720
47610 /* 134720 */ GIM_Reject,
47611 /* 134721 */ // Label 3634: @134721
47612 /* 134721 */ GIM_Try, /*On fail goto*//*Label 3713*/ GIMT_Encode4(135486),
47613 /* 134726 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
47614 /* 134729 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
47615 /* 134732 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
47616 /* 134735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47617 /* 134739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47618 /* 134743 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47619 /* 134747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3714*/ GIMT_Encode4(134779), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4456 //
47620 /* 134754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47621 /* 134758 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47622 /* 134764 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47623 /* 134766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47624 /* 134768 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src, immAllZerosV:{ *:[v8f32] }) => (VMOVAPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
47625 /* 134768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrkz),
47626 /* 134771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47627 /* 134773 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47628 /* 134775 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47629 /* 134777 */ GIR_RootConstrainSelectedInstOperands,
47630 /* 134778 */ // GIR_Coverage, 4456,
47631 /* 134778 */ GIR_EraseRootFromParent_Done,
47632 /* 134779 */ // Label 3714: @134779
47633 /* 134779 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3715*/ GIMT_Encode4(134811), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4521 //
47634 /* 134786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47635 /* 134790 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47636 /* 134796 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47637 /* 134798 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47638 /* 134800 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src, immAllZerosV:{ *:[v8i32] }) => (VMOVDQA32Z256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
47639 /* 134800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrkz),
47640 /* 134803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47641 /* 134805 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47642 /* 134807 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47643 /* 134809 */ GIR_RootConstrainSelectedInstOperands,
47644 /* 134810 */ // GIR_Coverage, 4521,
47645 /* 134810 */ GIR_EraseRootFromParent_Done,
47646 /* 134811 */ // Label 3715: @134811
47647 /* 134811 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3716*/ GIMT_Encode4(134947), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19888 //
47648 /* 134818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47649 /* 134822 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47650 /* 134828 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47651 /* 134830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47652 /* 134832 */ // (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] })
47653 /* 134832 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47654 /* 134835 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47655 /* 134839 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47656 /* 134844 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47657 /* 134846 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47658 /* 134849 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47659 /* 134853 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47660 /* 134858 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47661 /* 134861 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47662 /* 134865 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47663 /* 134868 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47664 /* 134873 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47665 /* 134878 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47666 /* 134883 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47667 /* 134886 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47668 /* 134890 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47669 /* 134895 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47670 /* 134899 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47671 /* 134904 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47672 /* 134907 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
47673 /* 134911 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47674 /* 134916 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47675 /* 134919 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47676 /* 134922 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47677 /* 134924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47678 /* 134927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47679 /* 134929 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47680 /* 134936 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47681 /* 134941 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47682 /* 134946 */ // GIR_Coverage, 19888,
47683 /* 134946 */ GIR_EraseRootFromParent_Done,
47684 /* 134947 */ // Label 3716: @134947
47685 /* 134947 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3717*/ GIMT_Encode4(135083), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19890 //
47686 /* 134954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47687 /* 134958 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47688 /* 134964 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47689 /* 134966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47690 /* 134968 */ // (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] })
47691 /* 134968 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47692 /* 134971 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47693 /* 134975 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47694 /* 134980 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47695 /* 134982 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47696 /* 134985 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47697 /* 134989 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47698 /* 134994 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47699 /* 134997 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47700 /* 135001 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47701 /* 135004 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47702 /* 135009 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47703 /* 135014 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47704 /* 135019 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47705 /* 135022 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47706 /* 135026 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47707 /* 135031 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47708 /* 135035 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47709 /* 135040 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47710 /* 135043 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47711 /* 135047 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47712 /* 135052 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47713 /* 135055 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47714 /* 135058 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47715 /* 135060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47716 /* 135063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47717 /* 135065 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47718 /* 135072 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47719 /* 135077 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47720 /* 135082 */ // GIR_Coverage, 19890,
47721 /* 135082 */ GIR_EraseRootFromParent_Done,
47722 /* 135083 */ // Label 3717: @135083
47723 /* 135083 */ GIM_Try, /*On fail goto*//*Label 3718*/ GIMT_Encode4(135485),
47724 /* 135088 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47725 /* 135092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3719*/ GIMT_Encode4(135112), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4458 //
47726 /* 135099 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src0) => (VMOVAPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1)
47727 /* 135099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrk),
47728 /* 135102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47729 /* 135104 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47730 /* 135106 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47731 /* 135108 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47732 /* 135110 */ GIR_RootConstrainSelectedInstOperands,
47733 /* 135111 */ // GIR_Coverage, 4458,
47734 /* 135111 */ GIR_EraseRootFromParent_Done,
47735 /* 135112 */ // Label 3719: @135112
47736 /* 135112 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3720*/ GIMT_Encode4(135132), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4522 //
47737 /* 135119 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src0) => (VMOVDQA32Z256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1)
47738 /* 135119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrk),
47739 /* 135122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47740 /* 135124 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47741 /* 135126 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47742 /* 135128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47743 /* 135130 */ GIR_RootConstrainSelectedInstOperands,
47744 /* 135131 */ // GIR_Coverage, 4522,
47745 /* 135131 */ GIR_EraseRootFromParent_Done,
47746 /* 135132 */ // Label 3720: @135132
47747 /* 135132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3721*/ GIMT_Encode4(135308), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19887 //
47748 /* 135139 */ // (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] })
47749 /* 135139 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47750 /* 135142 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47751 /* 135146 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47752 /* 135151 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47753 /* 135153 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47754 /* 135156 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47755 /* 135160 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47756 /* 135165 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47757 /* 135168 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47758 /* 135172 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47759 /* 135175 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47760 /* 135180 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47761 /* 135185 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47762 /* 135190 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47763 /* 135193 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47764 /* 135197 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47765 /* 135202 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47766 /* 135206 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47767 /* 135211 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47768 /* 135214 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47769 /* 135218 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47770 /* 135223 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47771 /* 135225 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47772 /* 135228 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47773 /* 135232 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47774 /* 135237 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47775 /* 135240 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47776 /* 135244 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47777 /* 135247 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47778 /* 135252 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47779 /* 135257 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47780 /* 135262 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47781 /* 135265 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
47782 /* 135269 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47783 /* 135274 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47784 /* 135277 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47785 /* 135280 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47786 /* 135283 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47787 /* 135285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47788 /* 135288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47789 /* 135290 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47790 /* 135297 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47791 /* 135302 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47792 /* 135307 */ // GIR_Coverage, 19887,
47793 /* 135307 */ GIR_EraseRootFromParent_Done,
47794 /* 135308 */ // Label 3721: @135308
47795 /* 135308 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3722*/ GIMT_Encode4(135484), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19889 //
47796 /* 135315 */ // (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] })
47797 /* 135315 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47798 /* 135318 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47799 /* 135322 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47800 /* 135327 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47801 /* 135329 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47802 /* 135332 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47803 /* 135336 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47804 /* 135341 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47805 /* 135344 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47806 /* 135348 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47807 /* 135351 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47808 /* 135356 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47809 /* 135361 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47810 /* 135366 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47811 /* 135369 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47812 /* 135373 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47813 /* 135378 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47814 /* 135382 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47815 /* 135387 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47816 /* 135390 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47817 /* 135394 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47818 /* 135399 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47819 /* 135401 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47820 /* 135404 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47821 /* 135408 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47822 /* 135413 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47823 /* 135416 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47824 /* 135420 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47825 /* 135423 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47826 /* 135428 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47827 /* 135433 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47828 /* 135438 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47829 /* 135441 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
47830 /* 135445 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47831 /* 135450 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47832 /* 135453 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47833 /* 135456 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47834 /* 135459 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47835 /* 135461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47836 /* 135464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47837 /* 135466 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47838 /* 135473 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47839 /* 135478 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47840 /* 135483 */ // GIR_Coverage, 19889,
47841 /* 135483 */ GIR_EraseRootFromParent_Done,
47842 /* 135484 */ // Label 3722: @135484
47843 /* 135484 */ GIM_Reject,
47844 /* 135485 */ // Label 3718: @135485
47845 /* 135485 */ GIM_Reject,
47846 /* 135486 */ // Label 3713: @135486
47847 /* 135486 */ GIM_Reject,
47848 /* 135487 */ // Label 3635: @135487
47849 /* 135487 */ GIM_Try, /*On fail goto*//*Label 3723*/ GIMT_Encode4(135804),
47850 /* 135492 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
47851 /* 135495 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
47852 /* 135498 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
47853 /* 135501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47854 /* 135505 */ GIM_Try, /*On fail goto*//*Label 3724*/ GIMT_Encode4(135574), // Rule ID 19882 //
47855 /* 135510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
47856 /* 135514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
47857 /* 135518 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
47858 /* 135522 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
47859 /* 135526 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47860 /* 135531 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
47861 /* 135535 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47862 /* 135541 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
47863 /* 135543 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
47864 /* 135547 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47865 /* 135553 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
47866 /* 135555 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47867 /* 135559 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
47868 /* 135561 */ // (vselect:{ *:[v16i32] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i1] }), immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
47869 /* 135561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47870 /* 135564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47871 /* 135566 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
47872 /* 135570 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47873 /* 135572 */ GIR_RootConstrainSelectedInstOperands,
47874 /* 135573 */ // GIR_Coverage, 19882,
47875 /* 135573 */ GIR_EraseRootFromParent_Done,
47876 /* 135574 */ // Label 3724: @135574
47877 /* 135574 */ GIM_Try, /*On fail goto*//*Label 3725*/ GIMT_Encode4(135803),
47878 /* 135579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
47879 /* 135583 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3726*/ GIMT_Encode4(135625), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 3588 //
47880 /* 135590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47881 /* 135594 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47882 /* 135600 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
47883 /* 135602 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47884 /* 135606 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47885 /* 135612 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47886 /* 135614 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47887 /* 135616 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i32] }, immAllZerosV:{ *:[v16i32] }) => (AVX512_512_SEXT_MASK_32:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask)
47888 /* 135616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_32),
47889 /* 135619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47890 /* 135621 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47891 /* 135623 */ GIR_RootConstrainSelectedInstOperands,
47892 /* 135624 */ // GIR_Coverage, 3588,
47893 /* 135624 */ GIR_EraseRootFromParent_Done,
47894 /* 135625 */ // Label 3726: @135625
47895 /* 135625 */ GIM_Try, /*On fail goto*//*Label 3727*/ GIMT_Encode4(135678), // Rule ID 19880 //
47896 /* 135630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47897 /* 135634 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47898 /* 135640 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47899 /* 135642 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47900 /* 135646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47901 /* 135648 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } (KNOTWkk:{ *:[v16i1] } VK16WM:{ *:[v16i1] }:$mask), VR512:{ *:[v16i32] }:$src)
47902 /* 135648 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
47903 /* 135651 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
47904 /* 135655 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47905 /* 135660 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // mask
47906 /* 135664 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47907 /* 135666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47908 /* 135669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47909 /* 135671 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47910 /* 135674 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47911 /* 135676 */ GIR_RootConstrainSelectedInstOperands,
47912 /* 135677 */ // GIR_Coverage, 19880,
47913 /* 135677 */ GIR_EraseRootFromParent_Done,
47914 /* 135678 */ // Label 3727: @135678
47915 /* 135678 */ GIM_Try, /*On fail goto*//*Label 3728*/ GIMT_Encode4(135802),
47916 /* 135683 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47917 /* 135687 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3729*/ GIMT_Encode4(135719), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4451 //
47918 /* 135694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47919 /* 135698 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47920 /* 135704 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47921 /* 135706 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47922 /* 135708 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src, immAllZerosV:{ *:[v16f32] }) => (VMOVAPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
47923 /* 135708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
47924 /* 135711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47925 /* 135713 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47926 /* 135715 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47927 /* 135717 */ GIR_RootConstrainSelectedInstOperands,
47928 /* 135718 */ // GIR_Coverage, 4451,
47929 /* 135718 */ GIR_EraseRootFromParent_Done,
47930 /* 135719 */ // Label 3729: @135719
47931 /* 135719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3730*/ GIMT_Encode4(135751), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4517 //
47932 /* 135726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47933 /* 135730 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47934 /* 135736 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47935 /* 135738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47936 /* 135740 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src, immAllZerosV:{ *:[v16i32] }) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
47937 /* 135740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47938 /* 135743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47939 /* 135745 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47940 /* 135747 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47941 /* 135749 */ GIR_RootConstrainSelectedInstOperands,
47942 /* 135750 */ // GIR_Coverage, 4517,
47943 /* 135750 */ GIR_EraseRootFromParent_Done,
47944 /* 135751 */ // Label 3730: @135751
47945 /* 135751 */ GIM_Try, /*On fail goto*//*Label 3731*/ GIMT_Encode4(135801),
47946 /* 135756 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47947 /* 135760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3732*/ GIMT_Encode4(135780), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4453 //
47948 /* 135767 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src0) => (VMOVAPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1)
47949 /* 135767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
47950 /* 135770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47951 /* 135772 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47952 /* 135774 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47953 /* 135776 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47954 /* 135778 */ GIR_RootConstrainSelectedInstOperands,
47955 /* 135779 */ // GIR_Coverage, 4453,
47956 /* 135779 */ GIR_EraseRootFromParent_Done,
47957 /* 135780 */ // Label 3732: @135780
47958 /* 135780 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3733*/ GIMT_Encode4(135800), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4518 //
47959 /* 135787 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src0) => (VMOVDQA32Zrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1)
47960 /* 135787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
47961 /* 135790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47962 /* 135792 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47963 /* 135794 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47964 /* 135796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47965 /* 135798 */ GIR_RootConstrainSelectedInstOperands,
47966 /* 135799 */ // GIR_Coverage, 4518,
47967 /* 135799 */ GIR_EraseRootFromParent_Done,
47968 /* 135800 */ // Label 3733: @135800
47969 /* 135800 */ GIM_Reject,
47970 /* 135801 */ // Label 3731: @135801
47971 /* 135801 */ GIM_Reject,
47972 /* 135802 */ // Label 3728: @135802
47973 /* 135802 */ GIM_Reject,
47974 /* 135803 */ // Label 3725: @135803
47975 /* 135803 */ GIM_Reject,
47976 /* 135804 */ // Label 3723: @135804
47977 /* 135804 */ GIM_Reject,
47978 /* 135805 */ // Label 3636: @135805
47979 /* 135805 */ GIM_Try, /*On fail goto*//*Label 3734*/ GIMT_Encode4(136628),
47980 /* 135810 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
47981 /* 135813 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
47982 /* 135816 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
47983 /* 135819 */ GIM_Try, /*On fail goto*//*Label 3735*/ GIMT_Encode4(135901),
47984 /* 135824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47985 /* 135828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47986 /* 135832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47987 /* 135836 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3736*/ GIMT_Encode4(135868), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4482 //
47988 /* 135843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47989 /* 135847 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47990 /* 135853 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47991 /* 135855 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47992 /* 135857 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src, immAllZerosV:{ *:[v2f64] }) => (VMOVAPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
47993 /* 135857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrkz),
47994 /* 135860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47995 /* 135862 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47996 /* 135864 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47997 /* 135866 */ GIR_RootConstrainSelectedInstOperands,
47998 /* 135867 */ // GIR_Coverage, 4482,
47999 /* 135867 */ GIR_EraseRootFromParent_Done,
48000 /* 135868 */ // Label 3736: @135868
48001 /* 135868 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3737*/ GIMT_Encode4(135900), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4539 //
48002 /* 135875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48003 /* 135879 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48004 /* 135885 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48005 /* 135887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48006 /* 135889 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src, immAllZerosV:{ *:[v2i64] }) => (VMOVDQA64Z128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
48007 /* 135889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrkz),
48008 /* 135892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48009 /* 135894 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48010 /* 135896 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48011 /* 135898 */ GIR_RootConstrainSelectedInstOperands,
48012 /* 135899 */ // GIR_Coverage, 4539,
48013 /* 135899 */ GIR_EraseRootFromParent_Done,
48014 /* 135900 */ // Label 3737: @135900
48015 /* 135900 */ GIM_Reject,
48016 /* 135901 */ // Label 3735: @135901
48017 /* 135901 */ GIM_Try, /*On fail goto*//*Label 3738*/ GIMT_Encode4(136191),
48018 /* 135906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48019 /* 135910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48020 /* 135914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48021 /* 135918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3739*/ GIMT_Encode4(136054), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19892 //
48022 /* 135925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48023 /* 135929 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48024 /* 135935 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48025 /* 135937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48026 /* 135939 */ // (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] })
48027 /* 135939 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48028 /* 135942 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48029 /* 135946 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48030 /* 135951 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48031 /* 135953 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48032 /* 135956 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48033 /* 135960 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48034 /* 135965 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48035 /* 135968 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48036 /* 135972 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48037 /* 135975 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48038 /* 135980 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48039 /* 135985 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48040 /* 135990 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48041 /* 135993 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48042 /* 135997 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48043 /* 136002 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48044 /* 136006 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48045 /* 136011 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48046 /* 136014 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48047 /* 136018 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48048 /* 136023 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48049 /* 136026 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48050 /* 136029 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48051 /* 136031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48052 /* 136034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48053 /* 136036 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48054 /* 136043 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48055 /* 136048 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48056 /* 136053 */ // GIR_Coverage, 19892,
48057 /* 136053 */ GIR_EraseRootFromParent_Done,
48058 /* 136054 */ // Label 3739: @136054
48059 /* 136054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3740*/ GIMT_Encode4(136190), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19894 //
48060 /* 136061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48061 /* 136065 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48062 /* 136071 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48063 /* 136073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48064 /* 136075 */ // (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] })
48065 /* 136075 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48066 /* 136078 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48067 /* 136082 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48068 /* 136087 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48069 /* 136089 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48070 /* 136092 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48071 /* 136096 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48072 /* 136101 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48073 /* 136104 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48074 /* 136108 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48075 /* 136111 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48076 /* 136116 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48077 /* 136121 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48078 /* 136126 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48079 /* 136129 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48080 /* 136133 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48081 /* 136138 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48082 /* 136142 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48083 /* 136147 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48084 /* 136150 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48085 /* 136154 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48086 /* 136159 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48087 /* 136162 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48088 /* 136165 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48089 /* 136167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48090 /* 136170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48091 /* 136172 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48092 /* 136179 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48093 /* 136184 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48094 /* 136189 */ // GIR_Coverage, 19894,
48095 /* 136189 */ GIR_EraseRootFromParent_Done,
48096 /* 136190 */ // Label 3740: @136190
48097 /* 136190 */ GIM_Reject,
48098 /* 136191 */ // Label 3738: @136191
48099 /* 136191 */ GIM_Try, /*On fail goto*//*Label 3741*/ GIMT_Encode4(136253),
48100 /* 136196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48101 /* 136200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48102 /* 136204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48103 /* 136208 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48104 /* 136212 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3742*/ GIMT_Encode4(136232), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4484 //
48105 /* 136219 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src0) => (VMOVAPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1)
48106 /* 136219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrk),
48107 /* 136222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48108 /* 136224 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48109 /* 136226 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48110 /* 136228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48111 /* 136230 */ GIR_RootConstrainSelectedInstOperands,
48112 /* 136231 */ // GIR_Coverage, 4484,
48113 /* 136231 */ GIR_EraseRootFromParent_Done,
48114 /* 136232 */ // Label 3742: @136232
48115 /* 136232 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3743*/ GIMT_Encode4(136252), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4541 //
48116 /* 136239 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src0) => (VMOVDQA64Z128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1)
48117 /* 136239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrk),
48118 /* 136242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48119 /* 136244 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48120 /* 136246 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48121 /* 136248 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48122 /* 136250 */ GIR_RootConstrainSelectedInstOperands,
48123 /* 136251 */ // GIR_Coverage, 4541,
48124 /* 136251 */ GIR_EraseRootFromParent_Done,
48125 /* 136252 */ // Label 3743: @136252
48126 /* 136252 */ GIM_Reject,
48127 /* 136253 */ // Label 3741: @136253
48128 /* 136253 */ GIM_Try, /*On fail goto*//*Label 3744*/ GIMT_Encode4(136627),
48129 /* 136258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48130 /* 136262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48131 /* 136266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48132 /* 136270 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48133 /* 136274 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3745*/ GIMT_Encode4(136450), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19891 //
48134 /* 136281 */ // (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] })
48135 /* 136281 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48136 /* 136284 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48137 /* 136288 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48138 /* 136293 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48139 /* 136295 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48140 /* 136298 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48141 /* 136302 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48142 /* 136307 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48143 /* 136310 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48144 /* 136314 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48145 /* 136317 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48146 /* 136322 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48147 /* 136327 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48148 /* 136332 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48149 /* 136335 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48150 /* 136339 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48151 /* 136344 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48152 /* 136348 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48153 /* 136353 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48154 /* 136356 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48155 /* 136360 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48156 /* 136365 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48157 /* 136367 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48158 /* 136370 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48159 /* 136374 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48160 /* 136379 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48161 /* 136382 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48162 /* 136386 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48163 /* 136389 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48164 /* 136394 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48165 /* 136399 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48166 /* 136404 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48167 /* 136407 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48168 /* 136411 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48169 /* 136416 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48170 /* 136419 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48171 /* 136422 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48172 /* 136425 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48173 /* 136427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48174 /* 136430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48175 /* 136432 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48176 /* 136439 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48177 /* 136444 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48178 /* 136449 */ // GIR_Coverage, 19891,
48179 /* 136449 */ GIR_EraseRootFromParent_Done,
48180 /* 136450 */ // Label 3745: @136450
48181 /* 136450 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3746*/ GIMT_Encode4(136626), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19893 //
48182 /* 136457 */ // (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] })
48183 /* 136457 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48184 /* 136460 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48185 /* 136464 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48186 /* 136469 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48187 /* 136471 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48188 /* 136474 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48189 /* 136478 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48190 /* 136483 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48191 /* 136486 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48192 /* 136490 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48193 /* 136493 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48194 /* 136498 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48195 /* 136503 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48196 /* 136508 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48197 /* 136511 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48198 /* 136515 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48199 /* 136520 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48200 /* 136524 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48201 /* 136529 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48202 /* 136532 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48203 /* 136536 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48204 /* 136541 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48205 /* 136543 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48206 /* 136546 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48207 /* 136550 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48208 /* 136555 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48209 /* 136558 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48210 /* 136562 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48211 /* 136565 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48212 /* 136570 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48213 /* 136575 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48214 /* 136580 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48215 /* 136583 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48216 /* 136587 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48217 /* 136592 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48218 /* 136595 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48219 /* 136598 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48220 /* 136601 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48221 /* 136603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48222 /* 136606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48223 /* 136608 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48224 /* 136615 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48225 /* 136620 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48226 /* 136625 */ // GIR_Coverage, 19893,
48227 /* 136625 */ GIR_EraseRootFromParent_Done,
48228 /* 136626 */ // Label 3746: @136626
48229 /* 136626 */ GIM_Reject,
48230 /* 136627 */ // Label 3744: @136627
48231 /* 136627 */ GIM_Reject,
48232 /* 136628 */ // Label 3734: @136628
48233 /* 136628 */ GIM_Reject,
48234 /* 136629 */ // Label 3637: @136629
48235 /* 136629 */ GIM_Try, /*On fail goto*//*Label 3747*/ GIMT_Encode4(137394),
48236 /* 136634 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
48237 /* 136637 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
48238 /* 136640 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
48239 /* 136643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48240 /* 136647 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48241 /* 136651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48242 /* 136655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3748*/ GIMT_Encode4(136687), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4477 //
48243 /* 136662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48244 /* 136666 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48245 /* 136672 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48246 /* 136674 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48247 /* 136676 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src, immAllZerosV:{ *:[v4f64] }) => (VMOVAPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
48248 /* 136676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrkz),
48249 /* 136679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48250 /* 136681 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48251 /* 136683 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48252 /* 136685 */ GIR_RootConstrainSelectedInstOperands,
48253 /* 136686 */ // GIR_Coverage, 4477,
48254 /* 136686 */ GIR_EraseRootFromParent_Done,
48255 /* 136687 */ // Label 3748: @136687
48256 /* 136687 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3749*/ GIMT_Encode4(136719), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4534 //
48257 /* 136694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48258 /* 136698 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48259 /* 136704 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48260 /* 136706 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48261 /* 136708 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src, immAllZerosV:{ *:[v4i64] }) => (VMOVDQA64Z256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
48262 /* 136708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrkz),
48263 /* 136711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48264 /* 136713 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48265 /* 136715 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48266 /* 136717 */ GIR_RootConstrainSelectedInstOperands,
48267 /* 136718 */ // GIR_Coverage, 4534,
48268 /* 136718 */ GIR_EraseRootFromParent_Done,
48269 /* 136719 */ // Label 3749: @136719
48270 /* 136719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3750*/ GIMT_Encode4(136855), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19896 //
48271 /* 136726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48272 /* 136730 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48273 /* 136736 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48274 /* 136738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48275 /* 136740 */ // (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] })
48276 /* 136740 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48277 /* 136743 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48278 /* 136747 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48279 /* 136752 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48280 /* 136754 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48281 /* 136757 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48282 /* 136761 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48283 /* 136766 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48284 /* 136769 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48285 /* 136773 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48286 /* 136776 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48287 /* 136781 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48288 /* 136786 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48289 /* 136791 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48290 /* 136794 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48291 /* 136798 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48292 /* 136803 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48293 /* 136807 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48294 /* 136812 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48295 /* 136815 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48296 /* 136819 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48297 /* 136824 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48298 /* 136827 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48299 /* 136830 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48300 /* 136832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48301 /* 136835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48302 /* 136837 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48303 /* 136844 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48304 /* 136849 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48305 /* 136854 */ // GIR_Coverage, 19896,
48306 /* 136854 */ GIR_EraseRootFromParent_Done,
48307 /* 136855 */ // Label 3750: @136855
48308 /* 136855 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3751*/ GIMT_Encode4(136991), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19898 //
48309 /* 136862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48310 /* 136866 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48311 /* 136872 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48312 /* 136874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48313 /* 136876 */ // (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] })
48314 /* 136876 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48315 /* 136879 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48316 /* 136883 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48317 /* 136888 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48318 /* 136890 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48319 /* 136893 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48320 /* 136897 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48321 /* 136902 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48322 /* 136905 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48323 /* 136909 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48324 /* 136912 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48325 /* 136917 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48326 /* 136922 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48327 /* 136927 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48328 /* 136930 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48329 /* 136934 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48330 /* 136939 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48331 /* 136943 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48332 /* 136948 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48333 /* 136951 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48334 /* 136955 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48335 /* 136960 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48336 /* 136963 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48337 /* 136966 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48338 /* 136968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48339 /* 136971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48340 /* 136973 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48341 /* 136980 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48342 /* 136985 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48343 /* 136990 */ // GIR_Coverage, 19898,
48344 /* 136990 */ GIR_EraseRootFromParent_Done,
48345 /* 136991 */ // Label 3751: @136991
48346 /* 136991 */ GIM_Try, /*On fail goto*//*Label 3752*/ GIMT_Encode4(137393),
48347 /* 136996 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48348 /* 137000 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3753*/ GIMT_Encode4(137020), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4479 //
48349 /* 137007 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src0) => (VMOVAPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1)
48350 /* 137007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrk),
48351 /* 137010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48352 /* 137012 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48353 /* 137014 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48354 /* 137016 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48355 /* 137018 */ GIR_RootConstrainSelectedInstOperands,
48356 /* 137019 */ // GIR_Coverage, 4479,
48357 /* 137019 */ GIR_EraseRootFromParent_Done,
48358 /* 137020 */ // Label 3753: @137020
48359 /* 137020 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3754*/ GIMT_Encode4(137040), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4536 //
48360 /* 137027 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src0) => (VMOVDQA64Z256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1)
48361 /* 137027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrk),
48362 /* 137030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48363 /* 137032 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48364 /* 137034 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48365 /* 137036 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48366 /* 137038 */ GIR_RootConstrainSelectedInstOperands,
48367 /* 137039 */ // GIR_Coverage, 4536,
48368 /* 137039 */ GIR_EraseRootFromParent_Done,
48369 /* 137040 */ // Label 3754: @137040
48370 /* 137040 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3755*/ GIMT_Encode4(137216), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19895 //
48371 /* 137047 */ // (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] })
48372 /* 137047 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48373 /* 137050 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48374 /* 137054 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48375 /* 137059 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48376 /* 137061 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48377 /* 137064 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48378 /* 137068 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48379 /* 137073 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48380 /* 137076 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48381 /* 137080 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48382 /* 137083 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48383 /* 137088 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48384 /* 137093 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48385 /* 137098 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48386 /* 137101 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48387 /* 137105 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48388 /* 137110 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48389 /* 137114 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48390 /* 137119 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48391 /* 137122 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48392 /* 137126 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48393 /* 137131 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48394 /* 137133 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48395 /* 137136 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48396 /* 137140 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48397 /* 137145 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48398 /* 137148 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48399 /* 137152 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48400 /* 137155 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48401 /* 137160 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48402 /* 137165 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48403 /* 137170 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48404 /* 137173 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48405 /* 137177 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48406 /* 137182 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48407 /* 137185 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48408 /* 137188 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48409 /* 137191 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48410 /* 137193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48411 /* 137196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48412 /* 137198 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48413 /* 137205 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48414 /* 137210 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48415 /* 137215 */ // GIR_Coverage, 19895,
48416 /* 137215 */ GIR_EraseRootFromParent_Done,
48417 /* 137216 */ // Label 3755: @137216
48418 /* 137216 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3756*/ GIMT_Encode4(137392), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19897 //
48419 /* 137223 */ // (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] })
48420 /* 137223 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48421 /* 137226 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48422 /* 137230 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48423 /* 137235 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48424 /* 137237 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48425 /* 137240 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48426 /* 137244 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48427 /* 137249 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48428 /* 137252 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48429 /* 137256 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48430 /* 137259 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48431 /* 137264 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48432 /* 137269 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48433 /* 137274 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48434 /* 137277 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48435 /* 137281 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48436 /* 137286 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48437 /* 137290 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48438 /* 137295 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48439 /* 137298 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48440 /* 137302 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48441 /* 137307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48442 /* 137309 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48443 /* 137312 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48444 /* 137316 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48445 /* 137321 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48446 /* 137324 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48447 /* 137328 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48448 /* 137331 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48449 /* 137336 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48450 /* 137341 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48451 /* 137346 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48452 /* 137349 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48453 /* 137353 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48454 /* 137358 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48455 /* 137361 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48456 /* 137364 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48457 /* 137367 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48458 /* 137369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48459 /* 137372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48460 /* 137374 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48461 /* 137381 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48462 /* 137386 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48463 /* 137391 */ // GIR_Coverage, 19897,
48464 /* 137391 */ GIR_EraseRootFromParent_Done,
48465 /* 137392 */ // Label 3756: @137392
48466 /* 137392 */ GIM_Reject,
48467 /* 137393 */ // Label 3752: @137393
48468 /* 137393 */ GIM_Reject,
48469 /* 137394 */ // Label 3747: @137394
48470 /* 137394 */ GIM_Reject,
48471 /* 137395 */ // Label 3638: @137395
48472 /* 137395 */ GIM_Try, /*On fail goto*//*Label 3757*/ GIMT_Encode4(137752),
48473 /* 137400 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
48474 /* 137403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
48475 /* 137406 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
48476 /* 137409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48477 /* 137413 */ GIM_Try, /*On fail goto*//*Label 3758*/ GIMT_Encode4(137482), // Rule ID 19881 //
48478 /* 137418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48479 /* 137422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
48480 /* 137426 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
48481 /* 137430 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
48482 /* 137434 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
48483 /* 137439 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
48484 /* 137443 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48485 /* 137449 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
48486 /* 137451 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
48487 /* 137455 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48488 /* 137461 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
48489 /* 137463 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48490 /* 137467 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
48491 /* 137469 */ // (vselect:{ *:[v8i64] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i1] }), immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
48492 /* 137469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48493 /* 137472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48494 /* 137474 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
48495 /* 137478 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48496 /* 137480 */ GIR_RootConstrainSelectedInstOperands,
48497 /* 137481 */ // GIR_Coverage, 19881,
48498 /* 137481 */ GIR_EraseRootFromParent_Done,
48499 /* 137482 */ // Label 3758: @137482
48500 /* 137482 */ GIM_Try, /*On fail goto*//*Label 3759*/ GIMT_Encode4(137751),
48501 /* 137487 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48502 /* 137491 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3760*/ GIMT_Encode4(137533), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 3589 //
48503 /* 137498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48504 /* 137502 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48505 /* 137508 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
48506 /* 137510 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48507 /* 137514 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48508 /* 137520 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48509 /* 137522 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48510 /* 137524 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i64] }, immAllZerosV:{ *:[v8i64] }) => (AVX512_512_SEXT_MASK_64:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask)
48511 /* 137524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_64),
48512 /* 137527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48513 /* 137529 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48514 /* 137531 */ GIR_RootConstrainSelectedInstOperands,
48515 /* 137532 */ // GIR_Coverage, 3589,
48516 /* 137532 */ GIR_EraseRootFromParent_Done,
48517 /* 137533 */ // Label 3760: @137533
48518 /* 137533 */ GIM_Try, /*On fail goto*//*Label 3761*/ GIMT_Encode4(137626), // Rule ID 19879 //
48519 /* 137538 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48520 /* 137542 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48521 /* 137548 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48522 /* 137550 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48523 /* 137554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48524 /* 137556 */ // (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)
48525 /* 137556 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
48526 /* 137559 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48527 /* 137563 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48528 /* 137568 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // mask
48529 /* 137572 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
48530 /* 137577 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48531 /* 137580 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
48532 /* 137584 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48533 /* 137589 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48534 /* 137592 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
48535 /* 137594 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
48536 /* 137597 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48537 /* 137601 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48538 /* 137606 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48539 /* 137609 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
48540 /* 137614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48541 /* 137617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48542 /* 137619 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48543 /* 137622 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48544 /* 137624 */ GIR_RootConstrainSelectedInstOperands,
48545 /* 137625 */ // GIR_Coverage, 19879,
48546 /* 137625 */ GIR_EraseRootFromParent_Done,
48547 /* 137626 */ // Label 3761: @137626
48548 /* 137626 */ GIM_Try, /*On fail goto*//*Label 3762*/ GIMT_Encode4(137750),
48549 /* 137631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48550 /* 137635 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3763*/ GIMT_Encode4(137667), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4472 //
48551 /* 137642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48552 /* 137646 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48553 /* 137652 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48554 /* 137654 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48555 /* 137656 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src, immAllZerosV:{ *:[v8f64] }) => (VMOVAPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
48556 /* 137656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48557 /* 137659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48558 /* 137661 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48559 /* 137663 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48560 /* 137665 */ GIR_RootConstrainSelectedInstOperands,
48561 /* 137666 */ // GIR_Coverage, 4472,
48562 /* 137666 */ GIR_EraseRootFromParent_Done,
48563 /* 137667 */ // Label 3763: @137667
48564 /* 137667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3764*/ GIMT_Encode4(137699), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4529 //
48565 /* 137674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48566 /* 137678 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48567 /* 137684 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48568 /* 137686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48569 /* 137688 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src, immAllZerosV:{ *:[v8i64] }) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
48570 /* 137688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48571 /* 137691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48572 /* 137693 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48573 /* 137695 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48574 /* 137697 */ GIR_RootConstrainSelectedInstOperands,
48575 /* 137698 */ // GIR_Coverage, 4529,
48576 /* 137698 */ GIR_EraseRootFromParent_Done,
48577 /* 137699 */ // Label 3764: @137699
48578 /* 137699 */ GIM_Try, /*On fail goto*//*Label 3765*/ GIMT_Encode4(137749),
48579 /* 137704 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48580 /* 137708 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3766*/ GIMT_Encode4(137728), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4474 //
48581 /* 137715 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src0) => (VMOVAPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1)
48582 /* 137715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48583 /* 137718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48584 /* 137720 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48585 /* 137722 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48586 /* 137724 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48587 /* 137726 */ GIR_RootConstrainSelectedInstOperands,
48588 /* 137727 */ // GIR_Coverage, 4474,
48589 /* 137727 */ GIR_EraseRootFromParent_Done,
48590 /* 137728 */ // Label 3766: @137728
48591 /* 137728 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3767*/ GIMT_Encode4(137748), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4531 //
48592 /* 137735 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src0) => (VMOVDQA64Zrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1)
48593 /* 137735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48594 /* 137738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48595 /* 137740 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48596 /* 137742 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48597 /* 137744 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48598 /* 137746 */ GIR_RootConstrainSelectedInstOperands,
48599 /* 137747 */ // GIR_Coverage, 4531,
48600 /* 137747 */ GIR_EraseRootFromParent_Done,
48601 /* 137748 */ // Label 3767: @137748
48602 /* 137748 */ GIM_Reject,
48603 /* 137749 */ // Label 3765: @137749
48604 /* 137749 */ GIM_Reject,
48605 /* 137750 */ // Label 3762: @137750
48606 /* 137750 */ GIM_Reject,
48607 /* 137751 */ // Label 3759: @137751
48608 /* 137751 */ GIM_Reject,
48609 /* 137752 */ // Label 3757: @137752
48610 /* 137752 */ GIM_Reject,
48611 /* 137753 */ // Label 3639: @137753
48612 /* 137753 */ GIM_Reject,
48613 /* 137754 */ // Label 38: @137754
48614 /* 137754 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(16), GIMT_Encode2(19), /*)*//*default:*//*Label 3771*/ GIMT_Encode4(138570),
48615 /* 137765 */ /*GILLT_v8s16*//*Label 3768*/ GIMT_Encode4(137777),
48616 /* 137769 */ /*GILLT_v16s16*//*Label 3769*/ GIMT_Encode4(138106),
48617 /* 137773 */ /*GILLT_v32s16*//*Label 3770*/ GIMT_Encode4(138415),
48618 /* 137777 */ // Label 3768: @137777
48619 /* 137777 */ GIM_Try, /*On fail goto*//*Label 3772*/ GIMT_Encode4(138105),
48620 /* 137782 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
48621 /* 137785 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
48622 /* 137788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3773*/ GIMT_Encode4(137849), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23712 //
48623 /* 137795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48624 /* 137799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48625 /* 137803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48626 /* 137807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48627 /* 137810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48628 /* 137814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48629 /* 137818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48630 /* 137822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48631 /* 137824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48632 /* 137831 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48633 /* 137831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
48634 /* 137834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48635 /* 137836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48636 /* 137838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48637 /* 137842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48638 /* 137847 */ GIR_RootConstrainSelectedInstOperands,
48639 /* 137848 */ // GIR_Coverage, 23712,
48640 /* 137848 */ GIR_EraseRootFromParent_Done,
48641 /* 137849 */ // Label 3773: @137849
48642 /* 137849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3774*/ GIMT_Encode4(137910), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24102 //
48643 /* 137856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48644 /* 137860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48645 /* 137864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48646 /* 137868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48647 /* 137871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48648 /* 137875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48649 /* 137879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48650 /* 137883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48651 /* 137885 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48652 /* 137892 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48653 /* 137892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
48654 /* 137895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48655 /* 137897 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48656 /* 137899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48657 /* 137903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48658 /* 137908 */ GIR_RootConstrainSelectedInstOperands,
48659 /* 137909 */ // GIR_Coverage, 24102,
48660 /* 137909 */ GIR_EraseRootFromParent_Done,
48661 /* 137910 */ // Label 3774: @137910
48662 /* 137910 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3775*/ GIMT_Encode4(137971), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2559 //
48663 /* 137917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48664 /* 137921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48665 /* 137925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48666 /* 137929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48667 /* 137933 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48668 /* 137936 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48669 /* 137940 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48670 /* 137944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48671 /* 137946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48672 /* 137953 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48673 /* 137953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
48674 /* 137956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48675 /* 137958 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48676 /* 137960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48677 /* 137964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48678 /* 137969 */ GIR_RootConstrainSelectedInstOperands,
48679 /* 137970 */ // GIR_Coverage, 2559,
48680 /* 137970 */ GIR_EraseRootFromParent_Done,
48681 /* 137971 */ // Label 3775: @137971
48682 /* 137971 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3776*/ GIMT_Encode4(138032), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5063 //
48683 /* 137978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48684 /* 137982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48685 /* 137986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48686 /* 137990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48687 /* 137994 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48688 /* 137997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48689 /* 138001 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48690 /* 138005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48691 /* 138007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48692 /* 138014 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48693 /* 138014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
48694 /* 138017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48695 /* 138019 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48696 /* 138021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48697 /* 138025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48698 /* 138030 */ GIR_RootConstrainSelectedInstOperands,
48699 /* 138031 */ // GIR_Coverage, 5063,
48700 /* 138031 */ GIR_EraseRootFromParent_Done,
48701 /* 138032 */ // Label 3776: @138032
48702 /* 138032 */ GIM_Try, /*On fail goto*//*Label 3777*/ GIMT_Encode4(138078),
48703 /* 138037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48704 /* 138041 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48705 /* 138045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48706 /* 138049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3778*/ GIMT_Encode4(138063), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2558 //
48707 /* 138056 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
48708 /* 138056 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrr),
48709 /* 138061 */ GIR_RootConstrainSelectedInstOperands,
48710 /* 138062 */ // GIR_Coverage, 2558,
48711 /* 138062 */ GIR_Done,
48712 /* 138063 */ // Label 3778: @138063
48713 /* 138063 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3779*/ GIMT_Encode4(138077), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2560 //
48714 /* 138070 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
48715 /* 138070 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHUWrr),
48716 /* 138075 */ GIR_RootConstrainSelectedInstOperands,
48717 /* 138076 */ // GIR_Coverage, 2560,
48718 /* 138076 */ GIR_Done,
48719 /* 138077 */ // Label 3779: @138077
48720 /* 138077 */ GIM_Reject,
48721 /* 138078 */ // Label 3777: @138078
48722 /* 138078 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3780*/ GIMT_Encode4(138104), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5060 //
48723 /* 138085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48724 /* 138089 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48725 /* 138093 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48726 /* 138097 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
48727 /* 138097 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rr),
48728 /* 138102 */ GIR_RootConstrainSelectedInstOperands,
48729 /* 138103 */ // GIR_Coverage, 5060,
48730 /* 138103 */ GIR_Done,
48731 /* 138104 */ // Label 3780: @138104
48732 /* 138104 */ GIM_Reject,
48733 /* 138105 */ // Label 3772: @138105
48734 /* 138105 */ GIM_Reject,
48735 /* 138106 */ // Label 3769: @138106
48736 /* 138106 */ GIM_Try, /*On fail goto*//*Label 3781*/ GIMT_Encode4(138414),
48737 /* 138111 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
48738 /* 138114 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
48739 /* 138117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3782*/ GIMT_Encode4(138178), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23714 //
48740 /* 138124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48741 /* 138128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48742 /* 138132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48743 /* 138136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48744 /* 138139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48745 /* 138143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48746 /* 138147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48747 /* 138151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48748 /* 138153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48749 /* 138160 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48750 /* 138160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
48751 /* 138163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48752 /* 138165 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48753 /* 138167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48754 /* 138171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48755 /* 138176 */ GIR_RootConstrainSelectedInstOperands,
48756 /* 138177 */ // GIR_Coverage, 23714,
48757 /* 138177 */ GIR_EraseRootFromParent_Done,
48758 /* 138178 */ // Label 3782: @138178
48759 /* 138178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3783*/ GIMT_Encode4(138239), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24099 //
48760 /* 138185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48761 /* 138189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48762 /* 138193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48763 /* 138197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48764 /* 138200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48765 /* 138204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48766 /* 138208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48767 /* 138212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48768 /* 138214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48769 /* 138221 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48770 /* 138221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
48771 /* 138224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48772 /* 138226 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48773 /* 138228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48774 /* 138232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48775 /* 138237 */ GIR_RootConstrainSelectedInstOperands,
48776 /* 138238 */ // GIR_Coverage, 24099,
48777 /* 138238 */ GIR_EraseRootFromParent_Done,
48778 /* 138239 */ // Label 3783: @138239
48779 /* 138239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3784*/ GIMT_Encode4(138300), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2563 //
48780 /* 138246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48781 /* 138250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48782 /* 138254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48783 /* 138258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48784 /* 138262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48785 /* 138265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48786 /* 138269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48787 /* 138273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48788 /* 138275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48789 /* 138282 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48790 /* 138282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
48791 /* 138285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48792 /* 138287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48793 /* 138289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48794 /* 138293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48795 /* 138298 */ GIR_RootConstrainSelectedInstOperands,
48796 /* 138299 */ // GIR_Coverage, 2563,
48797 /* 138299 */ GIR_EraseRootFromParent_Done,
48798 /* 138300 */ // Label 3784: @138300
48799 /* 138300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3785*/ GIMT_Encode4(138361), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5057 //
48800 /* 138307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48801 /* 138311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48802 /* 138315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48803 /* 138319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48804 /* 138323 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48805 /* 138326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48806 /* 138330 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48807 /* 138334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48808 /* 138336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48809 /* 138343 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48810 /* 138343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
48811 /* 138346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48812 /* 138348 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48813 /* 138350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48814 /* 138354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48815 /* 138359 */ GIR_RootConstrainSelectedInstOperands,
48816 /* 138360 */ // GIR_Coverage, 5057,
48817 /* 138360 */ GIR_EraseRootFromParent_Done,
48818 /* 138361 */ // Label 3785: @138361
48819 /* 138361 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3786*/ GIMT_Encode4(138387), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2562 //
48820 /* 138368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48821 /* 138372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48822 /* 138376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48823 /* 138380 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
48824 /* 138380 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrr),
48825 /* 138385 */ GIR_RootConstrainSelectedInstOperands,
48826 /* 138386 */ // GIR_Coverage, 2562,
48827 /* 138386 */ GIR_Done,
48828 /* 138387 */ // Label 3786: @138387
48829 /* 138387 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3787*/ GIMT_Encode4(138413), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5054 //
48830 /* 138394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48831 /* 138398 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48832 /* 138402 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48833 /* 138406 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
48834 /* 138406 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rr),
48835 /* 138411 */ GIR_RootConstrainSelectedInstOperands,
48836 /* 138412 */ // GIR_Coverage, 5054,
48837 /* 138412 */ GIR_Done,
48838 /* 138413 */ // Label 3787: @138413
48839 /* 138413 */ GIM_Reject,
48840 /* 138414 */ // Label 3781: @138414
48841 /* 138414 */ GIM_Reject,
48842 /* 138415 */ // Label 3770: @138415
48843 /* 138415 */ GIM_Try, /*On fail goto*//*Label 3788*/ GIMT_Encode4(138569),
48844 /* 138420 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
48845 /* 138423 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
48846 /* 138426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48847 /* 138430 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3789*/ GIMT_Encode4(138487), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24096 //
48848 /* 138437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48849 /* 138441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48850 /* 138445 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48851 /* 138448 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48852 /* 138452 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48853 /* 138456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48854 /* 138460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48855 /* 138462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48856 /* 138469 */ // (mulhu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48857 /* 138469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
48858 /* 138472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48859 /* 138474 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48860 /* 138476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48861 /* 138480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48862 /* 138485 */ GIR_RootConstrainSelectedInstOperands,
48863 /* 138486 */ // GIR_Coverage, 24096,
48864 /* 138486 */ GIR_EraseRootFromParent_Done,
48865 /* 138487 */ // Label 3789: @138487
48866 /* 138487 */ GIM_Try, /*On fail goto*//*Label 3790*/ GIMT_Encode4(138568),
48867 /* 138492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48868 /* 138496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3791*/ GIMT_Encode4(138549), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5051 //
48869 /* 138503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48870 /* 138507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48871 /* 138511 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48872 /* 138514 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48873 /* 138518 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48874 /* 138522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48875 /* 138524 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48876 /* 138531 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48877 /* 138531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
48878 /* 138534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48879 /* 138536 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48880 /* 138538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48881 /* 138542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48882 /* 138547 */ GIR_RootConstrainSelectedInstOperands,
48883 /* 138548 */ // GIR_Coverage, 5051,
48884 /* 138548 */ GIR_EraseRootFromParent_Done,
48885 /* 138549 */ // Label 3791: @138549
48886 /* 138549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3792*/ GIMT_Encode4(138567), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5048 //
48887 /* 138556 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48888 /* 138560 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
48889 /* 138560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrr),
48890 /* 138565 */ GIR_RootConstrainSelectedInstOperands,
48891 /* 138566 */ // GIR_Coverage, 5048,
48892 /* 138566 */ GIR_Done,
48893 /* 138567 */ // Label 3792: @138567
48894 /* 138567 */ GIM_Reject,
48895 /* 138568 */ // Label 3790: @138568
48896 /* 138568 */ GIM_Reject,
48897 /* 138569 */ // Label 3788: @138569
48898 /* 138569 */ GIM_Reject,
48899 /* 138570 */ // Label 3771: @138570
48900 /* 138570 */ GIM_Reject,
48901 /* 138571 */ // Label 39: @138571
48902 /* 138571 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(16), GIMT_Encode2(19), /*)*//*default:*//*Label 3796*/ GIMT_Encode4(139387),
48903 /* 138582 */ /*GILLT_v8s16*//*Label 3793*/ GIMT_Encode4(138594),
48904 /* 138586 */ /*GILLT_v16s16*//*Label 3794*/ GIMT_Encode4(138923),
48905 /* 138590 */ /*GILLT_v32s16*//*Label 3795*/ GIMT_Encode4(139232),
48906 /* 138594 */ // Label 3793: @138594
48907 /* 138594 */ GIM_Try, /*On fail goto*//*Label 3797*/ GIMT_Encode4(138922),
48908 /* 138599 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
48909 /* 138602 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
48910 /* 138605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3798*/ GIMT_Encode4(138666), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23715 //
48911 /* 138612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48912 /* 138616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48913 /* 138620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48914 /* 138624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48915 /* 138627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48916 /* 138631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48917 /* 138635 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48918 /* 138639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48919 /* 138641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48920 /* 138648 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48921 /* 138648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
48922 /* 138651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48923 /* 138653 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48924 /* 138655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48925 /* 138659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48926 /* 138664 */ GIR_RootConstrainSelectedInstOperands,
48927 /* 138665 */ // GIR_Coverage, 23715,
48928 /* 138665 */ GIR_EraseRootFromParent_Done,
48929 /* 138666 */ // Label 3798: @138666
48930 /* 138666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3799*/ GIMT_Encode4(138727), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24093 //
48931 /* 138673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48932 /* 138677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48933 /* 138681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48934 /* 138685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48935 /* 138688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48936 /* 138692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48937 /* 138696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48938 /* 138700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48939 /* 138702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48940 /* 138709 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48941 /* 138709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
48942 /* 138712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48943 /* 138714 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48944 /* 138716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48945 /* 138720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48946 /* 138725 */ GIR_RootConstrainSelectedInstOperands,
48947 /* 138726 */ // GIR_Coverage, 24093,
48948 /* 138726 */ GIR_EraseRootFromParent_Done,
48949 /* 138727 */ // Label 3799: @138727
48950 /* 138727 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3800*/ GIMT_Encode4(138788), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2565 //
48951 /* 138734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48952 /* 138738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48953 /* 138742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48954 /* 138746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48955 /* 138750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48956 /* 138753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48957 /* 138757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48958 /* 138761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48959 /* 138763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48960 /* 138770 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48961 /* 138770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
48962 /* 138773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48963 /* 138775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48964 /* 138777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48965 /* 138781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48966 /* 138786 */ GIR_RootConstrainSelectedInstOperands,
48967 /* 138787 */ // GIR_Coverage, 2565,
48968 /* 138787 */ GIR_EraseRootFromParent_Done,
48969 /* 138788 */ // Label 3800: @138788
48970 /* 138788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3801*/ GIMT_Encode4(138849), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5045 //
48971 /* 138795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48972 /* 138799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48973 /* 138803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48974 /* 138807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48975 /* 138811 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48976 /* 138814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48977 /* 138818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48978 /* 138822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48979 /* 138824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48980 /* 138831 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48981 /* 138831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
48982 /* 138834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48983 /* 138836 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48984 /* 138838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48985 /* 138842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48986 /* 138847 */ GIR_RootConstrainSelectedInstOperands,
48987 /* 138848 */ // GIR_Coverage, 5045,
48988 /* 138848 */ GIR_EraseRootFromParent_Done,
48989 /* 138849 */ // Label 3801: @138849
48990 /* 138849 */ GIM_Try, /*On fail goto*//*Label 3802*/ GIMT_Encode4(138895),
48991 /* 138854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48992 /* 138858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48993 /* 138862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48994 /* 138866 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3803*/ GIMT_Encode4(138880), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2564 //
48995 /* 138873 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
48996 /* 138873 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWrr),
48997 /* 138878 */ GIR_RootConstrainSelectedInstOperands,
48998 /* 138879 */ // GIR_Coverage, 2564,
48999 /* 138879 */ GIR_Done,
49000 /* 138880 */ // Label 3803: @138880
49001 /* 138880 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3804*/ GIMT_Encode4(138894), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2566 //
49002 /* 138887 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49003 /* 138887 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHWrr),
49004 /* 138892 */ GIR_RootConstrainSelectedInstOperands,
49005 /* 138893 */ // GIR_Coverage, 2566,
49006 /* 138893 */ GIR_Done,
49007 /* 138894 */ // Label 3804: @138894
49008 /* 138894 */ GIM_Reject,
49009 /* 138895 */ // Label 3802: @138895
49010 /* 138895 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3805*/ GIMT_Encode4(138921), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5042 //
49011 /* 138902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49012 /* 138906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49013 /* 138910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49014 /* 138914 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
49015 /* 138914 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rr),
49016 /* 138919 */ GIR_RootConstrainSelectedInstOperands,
49017 /* 138920 */ // GIR_Coverage, 5042,
49018 /* 138920 */ GIR_Done,
49019 /* 138921 */ // Label 3805: @138921
49020 /* 138921 */ GIM_Reject,
49021 /* 138922 */ // Label 3797: @138922
49022 /* 138922 */ GIM_Reject,
49023 /* 138923 */ // Label 3794: @138923
49024 /* 138923 */ GIM_Try, /*On fail goto*//*Label 3806*/ GIMT_Encode4(139231),
49025 /* 138928 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
49026 /* 138931 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
49027 /* 138934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3807*/ GIMT_Encode4(138995), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23717 //
49028 /* 138941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49029 /* 138945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49030 /* 138949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49031 /* 138953 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49032 /* 138956 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49033 /* 138960 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49034 /* 138964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49035 /* 138968 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49036 /* 138970 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49037 /* 138977 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49038 /* 138977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
49039 /* 138980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49040 /* 138982 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49041 /* 138984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49042 /* 138988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49043 /* 138993 */ GIR_RootConstrainSelectedInstOperands,
49044 /* 138994 */ // GIR_Coverage, 23717,
49045 /* 138994 */ GIR_EraseRootFromParent_Done,
49046 /* 138995 */ // Label 3807: @138995
49047 /* 138995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3808*/ GIMT_Encode4(139056), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24090 //
49048 /* 139002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49049 /* 139006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49050 /* 139010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49051 /* 139014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49052 /* 139017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49053 /* 139021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49054 /* 139025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49055 /* 139029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49056 /* 139031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49057 /* 139038 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49058 /* 139038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
49059 /* 139041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49060 /* 139043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49061 /* 139045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49062 /* 139049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49063 /* 139054 */ GIR_RootConstrainSelectedInstOperands,
49064 /* 139055 */ // GIR_Coverage, 24090,
49065 /* 139055 */ GIR_EraseRootFromParent_Done,
49066 /* 139056 */ // Label 3808: @139056
49067 /* 139056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3809*/ GIMT_Encode4(139117), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2569 //
49068 /* 139063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49069 /* 139067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49070 /* 139071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49071 /* 139075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49072 /* 139079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49073 /* 139082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49074 /* 139086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49075 /* 139090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49076 /* 139092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49077 /* 139099 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49078 /* 139099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
49079 /* 139102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49080 /* 139104 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49081 /* 139106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49082 /* 139110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49083 /* 139115 */ GIR_RootConstrainSelectedInstOperands,
49084 /* 139116 */ // GIR_Coverage, 2569,
49085 /* 139116 */ GIR_EraseRootFromParent_Done,
49086 /* 139117 */ // Label 3809: @139117
49087 /* 139117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3810*/ GIMT_Encode4(139178), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5039 //
49088 /* 139124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49089 /* 139128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49090 /* 139132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49091 /* 139136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49092 /* 139140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49093 /* 139143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49094 /* 139147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49095 /* 139151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49096 /* 139153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49097 /* 139160 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49098 /* 139160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
49099 /* 139163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49100 /* 139165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49101 /* 139167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49102 /* 139171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49103 /* 139176 */ GIR_RootConstrainSelectedInstOperands,
49104 /* 139177 */ // GIR_Coverage, 5039,
49105 /* 139177 */ GIR_EraseRootFromParent_Done,
49106 /* 139178 */ // Label 3810: @139178
49107 /* 139178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3811*/ GIMT_Encode4(139204), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2568 //
49108 /* 139185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49109 /* 139189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49110 /* 139193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49111 /* 139197 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
49112 /* 139197 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrr),
49113 /* 139202 */ GIR_RootConstrainSelectedInstOperands,
49114 /* 139203 */ // GIR_Coverage, 2568,
49115 /* 139203 */ GIR_Done,
49116 /* 139204 */ // Label 3811: @139204
49117 /* 139204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3812*/ GIMT_Encode4(139230), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5036 //
49118 /* 139211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49119 /* 139215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49120 /* 139219 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49121 /* 139223 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
49122 /* 139223 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rr),
49123 /* 139228 */ GIR_RootConstrainSelectedInstOperands,
49124 /* 139229 */ // GIR_Coverage, 5036,
49125 /* 139229 */ GIR_Done,
49126 /* 139230 */ // Label 3812: @139230
49127 /* 139230 */ GIM_Reject,
49128 /* 139231 */ // Label 3806: @139231
49129 /* 139231 */ GIM_Reject,
49130 /* 139232 */ // Label 3795: @139232
49131 /* 139232 */ GIM_Try, /*On fail goto*//*Label 3813*/ GIMT_Encode4(139386),
49132 /* 139237 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
49133 /* 139240 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
49134 /* 139243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49135 /* 139247 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3814*/ GIMT_Encode4(139304), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24087 //
49136 /* 139254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49137 /* 139258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49138 /* 139262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49139 /* 139265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49140 /* 139269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49141 /* 139273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49142 /* 139277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49143 /* 139279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49144 /* 139286 */ // (mulhs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49145 /* 139286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
49146 /* 139289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49147 /* 139291 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49148 /* 139293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49149 /* 139297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49150 /* 139302 */ GIR_RootConstrainSelectedInstOperands,
49151 /* 139303 */ // GIR_Coverage, 24087,
49152 /* 139303 */ GIR_EraseRootFromParent_Done,
49153 /* 139304 */ // Label 3814: @139304
49154 /* 139304 */ GIM_Try, /*On fail goto*//*Label 3815*/ GIMT_Encode4(139385),
49155 /* 139309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49156 /* 139313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3816*/ GIMT_Encode4(139366), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5033 //
49157 /* 139320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49158 /* 139324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49159 /* 139328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49160 /* 139331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49161 /* 139335 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49162 /* 139339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49163 /* 139341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49164 /* 139348 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49165 /* 139348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
49166 /* 139351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49167 /* 139353 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49168 /* 139355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49169 /* 139359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49170 /* 139364 */ GIR_RootConstrainSelectedInstOperands,
49171 /* 139365 */ // GIR_Coverage, 5033,
49172 /* 139365 */ GIR_EraseRootFromParent_Done,
49173 /* 139366 */ // Label 3816: @139366
49174 /* 139366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3817*/ GIMT_Encode4(139384), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5030 //
49175 /* 139373 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49176 /* 139377 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
49177 /* 139377 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrr),
49178 /* 139382 */ GIR_RootConstrainSelectedInstOperands,
49179 /* 139383 */ // GIR_Coverage, 5030,
49180 /* 139383 */ GIR_Done,
49181 /* 139384 */ // Label 3817: @139384
49182 /* 139384 */ GIM_Reject,
49183 /* 139385 */ // Label 3815: @139385
49184 /* 139385 */ GIM_Reject,
49185 /* 139386 */ // Label 3813: @139386
49186 /* 139386 */ GIM_Reject,
49187 /* 139387 */ // Label 3796: @139387
49188 /* 139387 */ GIM_Reject,
49189 /* 139388 */ // Label 40: @139388
49190 /* 139388 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3824*/ GIMT_Encode4(141009),
49191 /* 139399 */ /*GILLT_v16s8*//*Label 3818*/ GIMT_Encode4(139423),
49192 /* 139403 */ /*GILLT_v32s8*//*Label 3819*/ GIMT_Encode4(139752),
49193 /* 139407 */ /*GILLT_v64s8*//*Label 3820*/ GIMT_Encode4(140061),
49194 /* 139411 */ /*GILLT_v8s16*//*Label 3821*/ GIMT_Encode4(140216),
49195 /* 139415 */ /*GILLT_v16s16*//*Label 3822*/ GIMT_Encode4(140545),
49196 /* 139419 */ /*GILLT_v32s16*//*Label 3823*/ GIMT_Encode4(140854),
49197 /* 139423 */ // Label 3818: @139423
49198 /* 139423 */ GIM_Try, /*On fail goto*//*Label 3825*/ GIMT_Encode4(139751),
49199 /* 139428 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
49200 /* 139431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
49201 /* 139434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3826*/ GIMT_Encode4(139495), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23703 //
49202 /* 139441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49203 /* 139445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49204 /* 139449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49205 /* 139453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49206 /* 139456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49207 /* 139460 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49208 /* 139464 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49209 /* 139468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49210 /* 139470 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49211 /* 139477 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49212 /* 139477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
49213 /* 139480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49214 /* 139482 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49215 /* 139484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49216 /* 139488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49217 /* 139493 */ GIR_RootConstrainSelectedInstOperands,
49218 /* 139494 */ // GIR_Coverage, 23703,
49219 /* 139494 */ GIR_EraseRootFromParent_Done,
49220 /* 139495 */ // Label 3826: @139495
49221 /* 139495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3827*/ GIMT_Encode4(139556), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24039 //
49222 /* 139502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49223 /* 139506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49224 /* 139510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49225 /* 139514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49226 /* 139517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49227 /* 139521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49228 /* 139525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49229 /* 139529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49230 /* 139531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49231 /* 139538 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49232 /* 139538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
49233 /* 139541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49234 /* 139543 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49235 /* 139545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49236 /* 139549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49237 /* 139554 */ GIR_RootConstrainSelectedInstOperands,
49238 /* 139555 */ // GIR_Coverage, 24039,
49239 /* 139555 */ GIR_EraseRootFromParent_Done,
49240 /* 139556 */ // Label 3827: @139556
49241 /* 139556 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3828*/ GIMT_Encode4(139617), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2541 //
49242 /* 139563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49243 /* 139567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49244 /* 139571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49245 /* 139575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49246 /* 139579 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49247 /* 139582 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49248 /* 139586 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49249 /* 139590 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49250 /* 139592 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49251 /* 139599 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49252 /* 139599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
49253 /* 139602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49254 /* 139604 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49255 /* 139606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49256 /* 139610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49257 /* 139615 */ GIR_RootConstrainSelectedInstOperands,
49258 /* 139616 */ // GIR_Coverage, 2541,
49259 /* 139616 */ GIR_EraseRootFromParent_Done,
49260 /* 139617 */ // Label 3828: @139617
49261 /* 139617 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3829*/ GIMT_Encode4(139678), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4919 //
49262 /* 139624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49263 /* 139628 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49264 /* 139632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49265 /* 139636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49266 /* 139640 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49267 /* 139643 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49268 /* 139647 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49269 /* 139651 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49270 /* 139653 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49271 /* 139660 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49272 /* 139660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
49273 /* 139663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49274 /* 139665 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49275 /* 139667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49276 /* 139671 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49277 /* 139676 */ GIR_RootConstrainSelectedInstOperands,
49278 /* 139677 */ // GIR_Coverage, 4919,
49279 /* 139677 */ GIR_EraseRootFromParent_Done,
49280 /* 139678 */ // Label 3829: @139678
49281 /* 139678 */ GIM_Try, /*On fail goto*//*Label 3830*/ GIMT_Encode4(139724),
49282 /* 139683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49283 /* 139687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49284 /* 139691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49285 /* 139695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3831*/ GIMT_Encode4(139709), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2540 //
49286 /* 139702 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
49287 /* 139702 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrr),
49288 /* 139707 */ GIR_RootConstrainSelectedInstOperands,
49289 /* 139708 */ // GIR_Coverage, 2540,
49290 /* 139708 */ GIR_Done,
49291 /* 139709 */ // Label 3831: @139709
49292 /* 139709 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3832*/ GIMT_Encode4(139723), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2542 //
49293 /* 139716 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
49294 /* 139716 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSBrr),
49295 /* 139721 */ GIR_RootConstrainSelectedInstOperands,
49296 /* 139722 */ // GIR_Coverage, 2542,
49297 /* 139722 */ GIR_Done,
49298 /* 139723 */ // Label 3832: @139723
49299 /* 139723 */ GIM_Reject,
49300 /* 139724 */ // Label 3830: @139724
49301 /* 139724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3833*/ GIMT_Encode4(139750), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4916 //
49302 /* 139731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49303 /* 139735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49304 /* 139739 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49305 /* 139743 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
49306 /* 139743 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rr),
49307 /* 139748 */ GIR_RootConstrainSelectedInstOperands,
49308 /* 139749 */ // GIR_Coverage, 4916,
49309 /* 139749 */ GIR_Done,
49310 /* 139750 */ // Label 3833: @139750
49311 /* 139750 */ GIM_Reject,
49312 /* 139751 */ // Label 3825: @139751
49313 /* 139751 */ GIM_Reject,
49314 /* 139752 */ // Label 3819: @139752
49315 /* 139752 */ GIM_Try, /*On fail goto*//*Label 3834*/ GIMT_Encode4(140060),
49316 /* 139757 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
49317 /* 139760 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
49318 /* 139763 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3835*/ GIMT_Encode4(139824), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23705 //
49319 /* 139770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49320 /* 139774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49321 /* 139778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49322 /* 139782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49323 /* 139785 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49324 /* 139789 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49325 /* 139793 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49326 /* 139797 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49327 /* 139799 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49328 /* 139806 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49329 /* 139806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
49330 /* 139809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49331 /* 139811 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49332 /* 139813 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49333 /* 139817 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49334 /* 139822 */ GIR_RootConstrainSelectedInstOperands,
49335 /* 139823 */ // GIR_Coverage, 23705,
49336 /* 139823 */ GIR_EraseRootFromParent_Done,
49337 /* 139824 */ // Label 3835: @139824
49338 /* 139824 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3836*/ GIMT_Encode4(139885), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24036 //
49339 /* 139831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49340 /* 139835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49341 /* 139839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49342 /* 139843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49343 /* 139846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49344 /* 139850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49345 /* 139854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49346 /* 139858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49347 /* 139860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49348 /* 139867 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49349 /* 139867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
49350 /* 139870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49351 /* 139872 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49352 /* 139874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49353 /* 139878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49354 /* 139883 */ GIR_RootConstrainSelectedInstOperands,
49355 /* 139884 */ // GIR_Coverage, 24036,
49356 /* 139884 */ GIR_EraseRootFromParent_Done,
49357 /* 139885 */ // Label 3836: @139885
49358 /* 139885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3837*/ GIMT_Encode4(139946), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2545 //
49359 /* 139892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49360 /* 139896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49361 /* 139900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49362 /* 139904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49363 /* 139908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49364 /* 139911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49365 /* 139915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49366 /* 139919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49367 /* 139921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49368 /* 139928 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49369 /* 139928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
49370 /* 139931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49371 /* 139933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49372 /* 139935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49373 /* 139939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49374 /* 139944 */ GIR_RootConstrainSelectedInstOperands,
49375 /* 139945 */ // GIR_Coverage, 2545,
49376 /* 139945 */ GIR_EraseRootFromParent_Done,
49377 /* 139946 */ // Label 3837: @139946
49378 /* 139946 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3838*/ GIMT_Encode4(140007), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4913 //
49379 /* 139953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49380 /* 139957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49381 /* 139961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49382 /* 139965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49383 /* 139969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49384 /* 139972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49385 /* 139976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49386 /* 139980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49387 /* 139982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49388 /* 139989 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49389 /* 139989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
49390 /* 139992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49391 /* 139994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49392 /* 139996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49393 /* 140000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49394 /* 140005 */ GIR_RootConstrainSelectedInstOperands,
49395 /* 140006 */ // GIR_Coverage, 4913,
49396 /* 140006 */ GIR_EraseRootFromParent_Done,
49397 /* 140007 */ // Label 3838: @140007
49398 /* 140007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3839*/ GIMT_Encode4(140033), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2544 //
49399 /* 140014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49400 /* 140018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49401 /* 140022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49402 /* 140026 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
49403 /* 140026 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrr),
49404 /* 140031 */ GIR_RootConstrainSelectedInstOperands,
49405 /* 140032 */ // GIR_Coverage, 2544,
49406 /* 140032 */ GIR_Done,
49407 /* 140033 */ // Label 3839: @140033
49408 /* 140033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3840*/ GIMT_Encode4(140059), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4910 //
49409 /* 140040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49410 /* 140044 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49411 /* 140048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49412 /* 140052 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
49413 /* 140052 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rr),
49414 /* 140057 */ GIR_RootConstrainSelectedInstOperands,
49415 /* 140058 */ // GIR_Coverage, 4910,
49416 /* 140058 */ GIR_Done,
49417 /* 140059 */ // Label 3840: @140059
49418 /* 140059 */ GIM_Reject,
49419 /* 140060 */ // Label 3834: @140060
49420 /* 140060 */ GIM_Reject,
49421 /* 140061 */ // Label 3820: @140061
49422 /* 140061 */ GIM_Try, /*On fail goto*//*Label 3841*/ GIMT_Encode4(140215),
49423 /* 140066 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
49424 /* 140069 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
49425 /* 140072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49426 /* 140076 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3842*/ GIMT_Encode4(140133), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24033 //
49427 /* 140083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49428 /* 140087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49429 /* 140091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49430 /* 140094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49431 /* 140098 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49432 /* 140102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49433 /* 140106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49434 /* 140108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49435 /* 140115 */ // (uaddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49436 /* 140115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
49437 /* 140118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49438 /* 140120 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49439 /* 140122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49440 /* 140126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49441 /* 140131 */ GIR_RootConstrainSelectedInstOperands,
49442 /* 140132 */ // GIR_Coverage, 24033,
49443 /* 140132 */ GIR_EraseRootFromParent_Done,
49444 /* 140133 */ // Label 3842: @140133
49445 /* 140133 */ GIM_Try, /*On fail goto*//*Label 3843*/ GIMT_Encode4(140214),
49446 /* 140138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49447 /* 140142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3844*/ GIMT_Encode4(140195), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4907 //
49448 /* 140149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49449 /* 140153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49450 /* 140157 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49451 /* 140160 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49452 /* 140164 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49453 /* 140168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49454 /* 140170 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49455 /* 140177 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49456 /* 140177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
49457 /* 140180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49458 /* 140182 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49459 /* 140184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49460 /* 140188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49461 /* 140193 */ GIR_RootConstrainSelectedInstOperands,
49462 /* 140194 */ // GIR_Coverage, 4907,
49463 /* 140194 */ GIR_EraseRootFromParent_Done,
49464 /* 140195 */ // Label 3844: @140195
49465 /* 140195 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3845*/ GIMT_Encode4(140213), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4904 //
49466 /* 140202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49467 /* 140206 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
49468 /* 140206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrr),
49469 /* 140211 */ GIR_RootConstrainSelectedInstOperands,
49470 /* 140212 */ // GIR_Coverage, 4904,
49471 /* 140212 */ GIR_Done,
49472 /* 140213 */ // Label 3845: @140213
49473 /* 140213 */ GIM_Reject,
49474 /* 140214 */ // Label 3843: @140214
49475 /* 140214 */ GIM_Reject,
49476 /* 140215 */ // Label 3841: @140215
49477 /* 140215 */ GIM_Reject,
49478 /* 140216 */ // Label 3821: @140216
49479 /* 140216 */ GIM_Try, /*On fail goto*//*Label 3846*/ GIMT_Encode4(140544),
49480 /* 140221 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
49481 /* 140224 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
49482 /* 140227 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3847*/ GIMT_Encode4(140288), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23706 //
49483 /* 140234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49484 /* 140238 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49485 /* 140242 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49486 /* 140246 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49487 /* 140249 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49488 /* 140253 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49489 /* 140257 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49490 /* 140261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49491 /* 140263 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49492 /* 140270 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49493 /* 140270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
49494 /* 140273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49495 /* 140275 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49496 /* 140277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49497 /* 140281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49498 /* 140286 */ GIR_RootConstrainSelectedInstOperands,
49499 /* 140287 */ // GIR_Coverage, 23706,
49500 /* 140287 */ GIR_EraseRootFromParent_Done,
49501 /* 140288 */ // Label 3847: @140288
49502 /* 140288 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3848*/ GIMT_Encode4(140349), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24030 //
49503 /* 140295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49504 /* 140299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49505 /* 140303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49506 /* 140307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49507 /* 140310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49508 /* 140314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49509 /* 140318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49510 /* 140322 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49511 /* 140324 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49512 /* 140331 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49513 /* 140331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
49514 /* 140334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49515 /* 140336 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49516 /* 140338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49517 /* 140342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49518 /* 140347 */ GIR_RootConstrainSelectedInstOperands,
49519 /* 140348 */ // GIR_Coverage, 24030,
49520 /* 140348 */ GIR_EraseRootFromParent_Done,
49521 /* 140349 */ // Label 3848: @140349
49522 /* 140349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3849*/ GIMT_Encode4(140410), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2547 //
49523 /* 140356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49524 /* 140360 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49525 /* 140364 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49526 /* 140368 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49527 /* 140372 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49528 /* 140375 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49529 /* 140379 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49530 /* 140383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49531 /* 140385 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49532 /* 140392 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49533 /* 140392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
49534 /* 140395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49535 /* 140397 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49536 /* 140399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49537 /* 140403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49538 /* 140408 */ GIR_RootConstrainSelectedInstOperands,
49539 /* 140409 */ // GIR_Coverage, 2547,
49540 /* 140409 */ GIR_EraseRootFromParent_Done,
49541 /* 140410 */ // Label 3849: @140410
49542 /* 140410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3850*/ GIMT_Encode4(140471), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4901 //
49543 /* 140417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49544 /* 140421 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49545 /* 140425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49546 /* 140429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49547 /* 140433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49548 /* 140436 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49549 /* 140440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49550 /* 140444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49551 /* 140446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49552 /* 140453 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49553 /* 140453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
49554 /* 140456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49555 /* 140458 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49556 /* 140460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49557 /* 140464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49558 /* 140469 */ GIR_RootConstrainSelectedInstOperands,
49559 /* 140470 */ // GIR_Coverage, 4901,
49560 /* 140470 */ GIR_EraseRootFromParent_Done,
49561 /* 140471 */ // Label 3850: @140471
49562 /* 140471 */ GIM_Try, /*On fail goto*//*Label 3851*/ GIMT_Encode4(140517),
49563 /* 140476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49564 /* 140480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49565 /* 140484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49566 /* 140488 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3852*/ GIMT_Encode4(140502), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2546 //
49567 /* 140495 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49568 /* 140495 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrr),
49569 /* 140500 */ GIR_RootConstrainSelectedInstOperands,
49570 /* 140501 */ // GIR_Coverage, 2546,
49571 /* 140501 */ GIR_Done,
49572 /* 140502 */ // Label 3852: @140502
49573 /* 140502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3853*/ GIMT_Encode4(140516), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2548 //
49574 /* 140509 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49575 /* 140509 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSWrr),
49576 /* 140514 */ GIR_RootConstrainSelectedInstOperands,
49577 /* 140515 */ // GIR_Coverage, 2548,
49578 /* 140515 */ GIR_Done,
49579 /* 140516 */ // Label 3853: @140516
49580 /* 140516 */ GIM_Reject,
49581 /* 140517 */ // Label 3851: @140517
49582 /* 140517 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3854*/ GIMT_Encode4(140543), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4898 //
49583 /* 140524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49584 /* 140528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49585 /* 140532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49586 /* 140536 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
49587 /* 140536 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rr),
49588 /* 140541 */ GIR_RootConstrainSelectedInstOperands,
49589 /* 140542 */ // GIR_Coverage, 4898,
49590 /* 140542 */ GIR_Done,
49591 /* 140543 */ // Label 3854: @140543
49592 /* 140543 */ GIM_Reject,
49593 /* 140544 */ // Label 3846: @140544
49594 /* 140544 */ GIM_Reject,
49595 /* 140545 */ // Label 3822: @140545
49596 /* 140545 */ GIM_Try, /*On fail goto*//*Label 3855*/ GIMT_Encode4(140853),
49597 /* 140550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
49598 /* 140553 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
49599 /* 140556 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3856*/ GIMT_Encode4(140617), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23708 //
49600 /* 140563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49601 /* 140567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49602 /* 140571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49603 /* 140575 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49604 /* 140578 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49605 /* 140582 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49606 /* 140586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49607 /* 140590 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49608 /* 140592 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49609 /* 140599 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49610 /* 140599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
49611 /* 140602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49612 /* 140604 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49613 /* 140606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49614 /* 140610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49615 /* 140615 */ GIR_RootConstrainSelectedInstOperands,
49616 /* 140616 */ // GIR_Coverage, 23708,
49617 /* 140616 */ GIR_EraseRootFromParent_Done,
49618 /* 140617 */ // Label 3856: @140617
49619 /* 140617 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3857*/ GIMT_Encode4(140678), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24027 //
49620 /* 140624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49621 /* 140628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49622 /* 140632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49623 /* 140636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49624 /* 140639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49625 /* 140643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49626 /* 140647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49627 /* 140651 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49628 /* 140653 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49629 /* 140660 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49630 /* 140660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
49631 /* 140663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49632 /* 140665 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49633 /* 140667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49634 /* 140671 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49635 /* 140676 */ GIR_RootConstrainSelectedInstOperands,
49636 /* 140677 */ // GIR_Coverage, 24027,
49637 /* 140677 */ GIR_EraseRootFromParent_Done,
49638 /* 140678 */ // Label 3857: @140678
49639 /* 140678 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3858*/ GIMT_Encode4(140739), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2551 //
49640 /* 140685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49641 /* 140689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49642 /* 140693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49643 /* 140697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49644 /* 140701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49645 /* 140704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49646 /* 140708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49647 /* 140712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49648 /* 140714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49649 /* 140721 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49650 /* 140721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
49651 /* 140724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49652 /* 140726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49653 /* 140728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49654 /* 140732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49655 /* 140737 */ GIR_RootConstrainSelectedInstOperands,
49656 /* 140738 */ // GIR_Coverage, 2551,
49657 /* 140738 */ GIR_EraseRootFromParent_Done,
49658 /* 140739 */ // Label 3858: @140739
49659 /* 140739 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3859*/ GIMT_Encode4(140800), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4895 //
49660 /* 140746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49661 /* 140750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49662 /* 140754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49663 /* 140758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49664 /* 140762 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49665 /* 140765 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49666 /* 140769 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49667 /* 140773 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49668 /* 140775 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49669 /* 140782 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49670 /* 140782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
49671 /* 140785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49672 /* 140787 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49673 /* 140789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49674 /* 140793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49675 /* 140798 */ GIR_RootConstrainSelectedInstOperands,
49676 /* 140799 */ // GIR_Coverage, 4895,
49677 /* 140799 */ GIR_EraseRootFromParent_Done,
49678 /* 140800 */ // Label 3859: @140800
49679 /* 140800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3860*/ GIMT_Encode4(140826), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2550 //
49680 /* 140807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49681 /* 140811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49682 /* 140815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49683 /* 140819 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
49684 /* 140819 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrr),
49685 /* 140824 */ GIR_RootConstrainSelectedInstOperands,
49686 /* 140825 */ // GIR_Coverage, 2550,
49687 /* 140825 */ GIR_Done,
49688 /* 140826 */ // Label 3860: @140826
49689 /* 140826 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3861*/ GIMT_Encode4(140852), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4892 //
49690 /* 140833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49691 /* 140837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49692 /* 140841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49693 /* 140845 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
49694 /* 140845 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rr),
49695 /* 140850 */ GIR_RootConstrainSelectedInstOperands,
49696 /* 140851 */ // GIR_Coverage, 4892,
49697 /* 140851 */ GIR_Done,
49698 /* 140852 */ // Label 3861: @140852
49699 /* 140852 */ GIM_Reject,
49700 /* 140853 */ // Label 3855: @140853
49701 /* 140853 */ GIM_Reject,
49702 /* 140854 */ // Label 3823: @140854
49703 /* 140854 */ GIM_Try, /*On fail goto*//*Label 3862*/ GIMT_Encode4(141008),
49704 /* 140859 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
49705 /* 140862 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
49706 /* 140865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49707 /* 140869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3863*/ GIMT_Encode4(140926), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24024 //
49708 /* 140876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49709 /* 140880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49710 /* 140884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49711 /* 140887 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49712 /* 140891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49713 /* 140895 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49714 /* 140899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49715 /* 140901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49716 /* 140908 */ // (uaddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49717 /* 140908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
49718 /* 140911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49719 /* 140913 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49720 /* 140915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49721 /* 140919 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49722 /* 140924 */ GIR_RootConstrainSelectedInstOperands,
49723 /* 140925 */ // GIR_Coverage, 24024,
49724 /* 140925 */ GIR_EraseRootFromParent_Done,
49725 /* 140926 */ // Label 3863: @140926
49726 /* 140926 */ GIM_Try, /*On fail goto*//*Label 3864*/ GIMT_Encode4(141007),
49727 /* 140931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49728 /* 140935 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3865*/ GIMT_Encode4(140988), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4889 //
49729 /* 140942 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49730 /* 140946 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49731 /* 140950 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49732 /* 140953 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49733 /* 140957 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49734 /* 140961 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49735 /* 140963 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49736 /* 140970 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49737 /* 140970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
49738 /* 140973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49739 /* 140975 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49740 /* 140977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49741 /* 140981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49742 /* 140986 */ GIR_RootConstrainSelectedInstOperands,
49743 /* 140987 */ // GIR_Coverage, 4889,
49744 /* 140987 */ GIR_EraseRootFromParent_Done,
49745 /* 140988 */ // Label 3865: @140988
49746 /* 140988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3866*/ GIMT_Encode4(141006), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4886 //
49747 /* 140995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49748 /* 140999 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
49749 /* 140999 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrr),
49750 /* 141004 */ GIR_RootConstrainSelectedInstOperands,
49751 /* 141005 */ // GIR_Coverage, 4886,
49752 /* 141005 */ GIR_Done,
49753 /* 141006 */ // Label 3866: @141006
49754 /* 141006 */ GIM_Reject,
49755 /* 141007 */ // Label 3864: @141007
49756 /* 141007 */ GIM_Reject,
49757 /* 141008 */ // Label 3862: @141008
49758 /* 141008 */ GIM_Reject,
49759 /* 141009 */ // Label 3824: @141009
49760 /* 141009 */ GIM_Reject,
49761 /* 141010 */ // Label 41: @141010
49762 /* 141010 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3873*/ GIMT_Encode4(142631),
49763 /* 141021 */ /*GILLT_v16s8*//*Label 3867*/ GIMT_Encode4(141045),
49764 /* 141025 */ /*GILLT_v32s8*//*Label 3868*/ GIMT_Encode4(141374),
49765 /* 141029 */ /*GILLT_v64s8*//*Label 3869*/ GIMT_Encode4(141683),
49766 /* 141033 */ /*GILLT_v8s16*//*Label 3870*/ GIMT_Encode4(141838),
49767 /* 141037 */ /*GILLT_v16s16*//*Label 3871*/ GIMT_Encode4(142167),
49768 /* 141041 */ /*GILLT_v32s16*//*Label 3872*/ GIMT_Encode4(142476),
49769 /* 141045 */ // Label 3867: @141045
49770 /* 141045 */ GIM_Try, /*On fail goto*//*Label 3874*/ GIMT_Encode4(141373),
49771 /* 141050 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
49772 /* 141053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
49773 /* 141056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3875*/ GIMT_Encode4(141117), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23697 //
49774 /* 141063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49775 /* 141067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49776 /* 141071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49777 /* 141075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49778 /* 141078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49779 /* 141082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49780 /* 141086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49781 /* 141090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49782 /* 141092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49783 /* 141099 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49784 /* 141099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
49785 /* 141102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49786 /* 141104 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49787 /* 141106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49788 /* 141110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49789 /* 141115 */ GIR_RootConstrainSelectedInstOperands,
49790 /* 141116 */ // GIR_Coverage, 23697,
49791 /* 141116 */ GIR_EraseRootFromParent_Done,
49792 /* 141117 */ // Label 3875: @141117
49793 /* 141117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3876*/ GIMT_Encode4(141178), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24021 //
49794 /* 141124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49795 /* 141128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49796 /* 141132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49797 /* 141136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49798 /* 141139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49799 /* 141143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49800 /* 141147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49801 /* 141151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49802 /* 141153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49803 /* 141160 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49804 /* 141160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
49805 /* 141163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49806 /* 141165 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49807 /* 141167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49808 /* 141171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49809 /* 141176 */ GIR_RootConstrainSelectedInstOperands,
49810 /* 141177 */ // GIR_Coverage, 24021,
49811 /* 141177 */ GIR_EraseRootFromParent_Done,
49812 /* 141178 */ // Label 3876: @141178
49813 /* 141178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3877*/ GIMT_Encode4(141239), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2529 //
49814 /* 141185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49815 /* 141189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49816 /* 141193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49817 /* 141197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49818 /* 141201 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49819 /* 141204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49820 /* 141208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49821 /* 141212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49822 /* 141214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49823 /* 141221 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49824 /* 141221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
49825 /* 141224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49826 /* 141226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49827 /* 141228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49828 /* 141232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49829 /* 141237 */ GIR_RootConstrainSelectedInstOperands,
49830 /* 141238 */ // GIR_Coverage, 2529,
49831 /* 141238 */ GIR_EraseRootFromParent_Done,
49832 /* 141239 */ // Label 3877: @141239
49833 /* 141239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3878*/ GIMT_Encode4(141300), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4847 //
49834 /* 141246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49835 /* 141250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49836 /* 141254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49837 /* 141258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49838 /* 141262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49839 /* 141265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49840 /* 141269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49841 /* 141273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49842 /* 141275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49843 /* 141282 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49844 /* 141282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
49845 /* 141285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49846 /* 141287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49847 /* 141289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49848 /* 141293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49849 /* 141298 */ GIR_RootConstrainSelectedInstOperands,
49850 /* 141299 */ // GIR_Coverage, 4847,
49851 /* 141299 */ GIR_EraseRootFromParent_Done,
49852 /* 141300 */ // Label 3878: @141300
49853 /* 141300 */ GIM_Try, /*On fail goto*//*Label 3879*/ GIMT_Encode4(141346),
49854 /* 141305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49855 /* 141309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49856 /* 141313 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49857 /* 141317 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3880*/ GIMT_Encode4(141331), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2528 //
49858 /* 141324 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
49859 /* 141324 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBrr),
49860 /* 141329 */ GIR_RootConstrainSelectedInstOperands,
49861 /* 141330 */ // GIR_Coverage, 2528,
49862 /* 141330 */ GIR_Done,
49863 /* 141331 */ // Label 3880: @141331
49864 /* 141331 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3881*/ GIMT_Encode4(141345), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2530 //
49865 /* 141338 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
49866 /* 141338 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSBrr),
49867 /* 141343 */ GIR_RootConstrainSelectedInstOperands,
49868 /* 141344 */ // GIR_Coverage, 2530,
49869 /* 141344 */ GIR_Done,
49870 /* 141345 */ // Label 3881: @141345
49871 /* 141345 */ GIM_Reject,
49872 /* 141346 */ // Label 3879: @141346
49873 /* 141346 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3882*/ GIMT_Encode4(141372), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4844 //
49874 /* 141353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49875 /* 141357 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49876 /* 141361 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49877 /* 141365 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
49878 /* 141365 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rr),
49879 /* 141370 */ GIR_RootConstrainSelectedInstOperands,
49880 /* 141371 */ // GIR_Coverage, 4844,
49881 /* 141371 */ GIR_Done,
49882 /* 141372 */ // Label 3882: @141372
49883 /* 141372 */ GIM_Reject,
49884 /* 141373 */ // Label 3874: @141373
49885 /* 141373 */ GIM_Reject,
49886 /* 141374 */ // Label 3868: @141374
49887 /* 141374 */ GIM_Try, /*On fail goto*//*Label 3883*/ GIMT_Encode4(141682),
49888 /* 141379 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
49889 /* 141382 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
49890 /* 141385 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3884*/ GIMT_Encode4(141446), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23699 //
49891 /* 141392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49892 /* 141396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49893 /* 141400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49894 /* 141404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49895 /* 141407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49896 /* 141411 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49897 /* 141415 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49898 /* 141419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49899 /* 141421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49900 /* 141428 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49901 /* 141428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
49902 /* 141431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49903 /* 141433 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49904 /* 141435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49905 /* 141439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49906 /* 141444 */ GIR_RootConstrainSelectedInstOperands,
49907 /* 141445 */ // GIR_Coverage, 23699,
49908 /* 141445 */ GIR_EraseRootFromParent_Done,
49909 /* 141446 */ // Label 3884: @141446
49910 /* 141446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3885*/ GIMT_Encode4(141507), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24018 //
49911 /* 141453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49912 /* 141457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49913 /* 141461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49914 /* 141465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49915 /* 141468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49916 /* 141472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49917 /* 141476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49918 /* 141480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49919 /* 141482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49920 /* 141489 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49921 /* 141489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
49922 /* 141492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49923 /* 141494 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49924 /* 141496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49925 /* 141500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49926 /* 141505 */ GIR_RootConstrainSelectedInstOperands,
49927 /* 141506 */ // GIR_Coverage, 24018,
49928 /* 141506 */ GIR_EraseRootFromParent_Done,
49929 /* 141507 */ // Label 3885: @141507
49930 /* 141507 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3886*/ GIMT_Encode4(141568), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2533 //
49931 /* 141514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49932 /* 141518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49933 /* 141522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49934 /* 141526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49935 /* 141530 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49936 /* 141533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49937 /* 141537 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49938 /* 141541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49939 /* 141543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49940 /* 141550 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49941 /* 141550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
49942 /* 141553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49943 /* 141555 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49944 /* 141557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49945 /* 141561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49946 /* 141566 */ GIR_RootConstrainSelectedInstOperands,
49947 /* 141567 */ // GIR_Coverage, 2533,
49948 /* 141567 */ GIR_EraseRootFromParent_Done,
49949 /* 141568 */ // Label 3886: @141568
49950 /* 141568 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3887*/ GIMT_Encode4(141629), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4841 //
49951 /* 141575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49952 /* 141579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49953 /* 141583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49954 /* 141587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49955 /* 141591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49956 /* 141594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49957 /* 141598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49958 /* 141602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49959 /* 141604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49960 /* 141611 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49961 /* 141611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
49962 /* 141614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49963 /* 141616 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49964 /* 141618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49965 /* 141622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49966 /* 141627 */ GIR_RootConstrainSelectedInstOperands,
49967 /* 141628 */ // GIR_Coverage, 4841,
49968 /* 141628 */ GIR_EraseRootFromParent_Done,
49969 /* 141629 */ // Label 3887: @141629
49970 /* 141629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3888*/ GIMT_Encode4(141655), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2532 //
49971 /* 141636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49972 /* 141640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49973 /* 141644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49974 /* 141648 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
49975 /* 141648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrr),
49976 /* 141653 */ GIR_RootConstrainSelectedInstOperands,
49977 /* 141654 */ // GIR_Coverage, 2532,
49978 /* 141654 */ GIR_Done,
49979 /* 141655 */ // Label 3888: @141655
49980 /* 141655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3889*/ GIMT_Encode4(141681), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4838 //
49981 /* 141662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49982 /* 141666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49983 /* 141670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49984 /* 141674 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
49985 /* 141674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rr),
49986 /* 141679 */ GIR_RootConstrainSelectedInstOperands,
49987 /* 141680 */ // GIR_Coverage, 4838,
49988 /* 141680 */ GIR_Done,
49989 /* 141681 */ // Label 3889: @141681
49990 /* 141681 */ GIM_Reject,
49991 /* 141682 */ // Label 3883: @141682
49992 /* 141682 */ GIM_Reject,
49993 /* 141683 */ // Label 3869: @141683
49994 /* 141683 */ GIM_Try, /*On fail goto*//*Label 3890*/ GIMT_Encode4(141837),
49995 /* 141688 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
49996 /* 141691 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
49997 /* 141694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49998 /* 141698 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3891*/ GIMT_Encode4(141755), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24015 //
49999 /* 141705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50000 /* 141709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50001 /* 141713 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50002 /* 141716 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50003 /* 141720 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50004 /* 141724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50005 /* 141728 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50006 /* 141730 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50007 /* 141737 */ // (saddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50008 /* 141737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
50009 /* 141740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50010 /* 141742 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50011 /* 141744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50012 /* 141748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50013 /* 141753 */ GIR_RootConstrainSelectedInstOperands,
50014 /* 141754 */ // GIR_Coverage, 24015,
50015 /* 141754 */ GIR_EraseRootFromParent_Done,
50016 /* 141755 */ // Label 3891: @141755
50017 /* 141755 */ GIM_Try, /*On fail goto*//*Label 3892*/ GIMT_Encode4(141836),
50018 /* 141760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50019 /* 141764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3893*/ GIMT_Encode4(141817), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4835 //
50020 /* 141771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50021 /* 141775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50022 /* 141779 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50023 /* 141782 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50024 /* 141786 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50025 /* 141790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50026 /* 141792 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50027 /* 141799 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50028 /* 141799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
50029 /* 141802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50030 /* 141804 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50031 /* 141806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50032 /* 141810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50033 /* 141815 */ GIR_RootConstrainSelectedInstOperands,
50034 /* 141816 */ // GIR_Coverage, 4835,
50035 /* 141816 */ GIR_EraseRootFromParent_Done,
50036 /* 141817 */ // Label 3893: @141817
50037 /* 141817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3894*/ GIMT_Encode4(141835), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4832 //
50038 /* 141824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50039 /* 141828 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
50040 /* 141828 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrr),
50041 /* 141833 */ GIR_RootConstrainSelectedInstOperands,
50042 /* 141834 */ // GIR_Coverage, 4832,
50043 /* 141834 */ GIR_Done,
50044 /* 141835 */ // Label 3894: @141835
50045 /* 141835 */ GIM_Reject,
50046 /* 141836 */ // Label 3892: @141836
50047 /* 141836 */ GIM_Reject,
50048 /* 141837 */ // Label 3890: @141837
50049 /* 141837 */ GIM_Reject,
50050 /* 141838 */ // Label 3870: @141838
50051 /* 141838 */ GIM_Try, /*On fail goto*//*Label 3895*/ GIMT_Encode4(142166),
50052 /* 141843 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50053 /* 141846 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50054 /* 141849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3896*/ GIMT_Encode4(141910), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23700 //
50055 /* 141856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50056 /* 141860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50057 /* 141864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50058 /* 141868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50059 /* 141871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50060 /* 141875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50061 /* 141879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50062 /* 141883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50063 /* 141885 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50064 /* 141892 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50065 /* 141892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
50066 /* 141895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50067 /* 141897 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50068 /* 141899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50069 /* 141903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50070 /* 141908 */ GIR_RootConstrainSelectedInstOperands,
50071 /* 141909 */ // GIR_Coverage, 23700,
50072 /* 141909 */ GIR_EraseRootFromParent_Done,
50073 /* 141910 */ // Label 3896: @141910
50074 /* 141910 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3897*/ GIMT_Encode4(141971), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24012 //
50075 /* 141917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50076 /* 141921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50077 /* 141925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50078 /* 141929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50079 /* 141932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50080 /* 141936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50081 /* 141940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50082 /* 141944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50083 /* 141946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50084 /* 141953 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50085 /* 141953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
50086 /* 141956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50087 /* 141958 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50088 /* 141960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50089 /* 141964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50090 /* 141969 */ GIR_RootConstrainSelectedInstOperands,
50091 /* 141970 */ // GIR_Coverage, 24012,
50092 /* 141970 */ GIR_EraseRootFromParent_Done,
50093 /* 141971 */ // Label 3897: @141971
50094 /* 141971 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3898*/ GIMT_Encode4(142032), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2535 //
50095 /* 141978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50096 /* 141982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50097 /* 141986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50098 /* 141990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50099 /* 141994 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50100 /* 141997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50101 /* 142001 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50102 /* 142005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50103 /* 142007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50104 /* 142014 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50105 /* 142014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
50106 /* 142017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50107 /* 142019 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50108 /* 142021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50109 /* 142025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50110 /* 142030 */ GIR_RootConstrainSelectedInstOperands,
50111 /* 142031 */ // GIR_Coverage, 2535,
50112 /* 142031 */ GIR_EraseRootFromParent_Done,
50113 /* 142032 */ // Label 3898: @142032
50114 /* 142032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3899*/ GIMT_Encode4(142093), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4829 //
50115 /* 142039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50116 /* 142043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50117 /* 142047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50118 /* 142051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50119 /* 142055 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50120 /* 142058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50121 /* 142062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50122 /* 142066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50123 /* 142068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50124 /* 142075 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50125 /* 142075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
50126 /* 142078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50127 /* 142080 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50128 /* 142082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50129 /* 142086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50130 /* 142091 */ GIR_RootConstrainSelectedInstOperands,
50131 /* 142092 */ // GIR_Coverage, 4829,
50132 /* 142092 */ GIR_EraseRootFromParent_Done,
50133 /* 142093 */ // Label 3899: @142093
50134 /* 142093 */ GIM_Try, /*On fail goto*//*Label 3900*/ GIMT_Encode4(142139),
50135 /* 142098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50136 /* 142102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50137 /* 142106 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50138 /* 142110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3901*/ GIMT_Encode4(142124), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2534 //
50139 /* 142117 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50140 /* 142117 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWrr),
50141 /* 142122 */ GIR_RootConstrainSelectedInstOperands,
50142 /* 142123 */ // GIR_Coverage, 2534,
50143 /* 142123 */ GIR_Done,
50144 /* 142124 */ // Label 3901: @142124
50145 /* 142124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3902*/ GIMT_Encode4(142138), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2536 //
50146 /* 142131 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50147 /* 142131 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSWrr),
50148 /* 142136 */ GIR_RootConstrainSelectedInstOperands,
50149 /* 142137 */ // GIR_Coverage, 2536,
50150 /* 142137 */ GIR_Done,
50151 /* 142138 */ // Label 3902: @142138
50152 /* 142138 */ GIM_Reject,
50153 /* 142139 */ // Label 3900: @142139
50154 /* 142139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3903*/ GIMT_Encode4(142165), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4826 //
50155 /* 142146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50156 /* 142150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50157 /* 142154 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50158 /* 142158 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50159 /* 142158 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rr),
50160 /* 142163 */ GIR_RootConstrainSelectedInstOperands,
50161 /* 142164 */ // GIR_Coverage, 4826,
50162 /* 142164 */ GIR_Done,
50163 /* 142165 */ // Label 3903: @142165
50164 /* 142165 */ GIM_Reject,
50165 /* 142166 */ // Label 3895: @142166
50166 /* 142166 */ GIM_Reject,
50167 /* 142167 */ // Label 3871: @142167
50168 /* 142167 */ GIM_Try, /*On fail goto*//*Label 3904*/ GIMT_Encode4(142475),
50169 /* 142172 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50170 /* 142175 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50171 /* 142178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3905*/ GIMT_Encode4(142239), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23702 //
50172 /* 142185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50173 /* 142189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50174 /* 142193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50175 /* 142197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50176 /* 142200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50177 /* 142204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50178 /* 142208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50179 /* 142212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50180 /* 142214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50181 /* 142221 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50182 /* 142221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
50183 /* 142224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50184 /* 142226 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50185 /* 142228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50186 /* 142232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50187 /* 142237 */ GIR_RootConstrainSelectedInstOperands,
50188 /* 142238 */ // GIR_Coverage, 23702,
50189 /* 142238 */ GIR_EraseRootFromParent_Done,
50190 /* 142239 */ // Label 3905: @142239
50191 /* 142239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3906*/ GIMT_Encode4(142300), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24009 //
50192 /* 142246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50193 /* 142250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50194 /* 142254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50195 /* 142258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50196 /* 142261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50197 /* 142265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50198 /* 142269 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50199 /* 142273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50200 /* 142275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50201 /* 142282 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50202 /* 142282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
50203 /* 142285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50204 /* 142287 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50205 /* 142289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50206 /* 142293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50207 /* 142298 */ GIR_RootConstrainSelectedInstOperands,
50208 /* 142299 */ // GIR_Coverage, 24009,
50209 /* 142299 */ GIR_EraseRootFromParent_Done,
50210 /* 142300 */ // Label 3906: @142300
50211 /* 142300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3907*/ GIMT_Encode4(142361), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2539 //
50212 /* 142307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50213 /* 142311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50214 /* 142315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50215 /* 142319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50216 /* 142323 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50217 /* 142326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50218 /* 142330 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50219 /* 142334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50220 /* 142336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50221 /* 142343 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50222 /* 142343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
50223 /* 142346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50224 /* 142348 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50225 /* 142350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50226 /* 142354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50227 /* 142359 */ GIR_RootConstrainSelectedInstOperands,
50228 /* 142360 */ // GIR_Coverage, 2539,
50229 /* 142360 */ GIR_EraseRootFromParent_Done,
50230 /* 142361 */ // Label 3907: @142361
50231 /* 142361 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3908*/ GIMT_Encode4(142422), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4823 //
50232 /* 142368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50233 /* 142372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50234 /* 142376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50235 /* 142380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50236 /* 142384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50237 /* 142387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50238 /* 142391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50239 /* 142395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50240 /* 142397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50241 /* 142404 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50242 /* 142404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
50243 /* 142407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50244 /* 142409 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50245 /* 142411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50246 /* 142415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50247 /* 142420 */ GIR_RootConstrainSelectedInstOperands,
50248 /* 142421 */ // GIR_Coverage, 4823,
50249 /* 142421 */ GIR_EraseRootFromParent_Done,
50250 /* 142422 */ // Label 3908: @142422
50251 /* 142422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3909*/ GIMT_Encode4(142448), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2538 //
50252 /* 142429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50253 /* 142433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50254 /* 142437 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50255 /* 142441 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50256 /* 142441 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrr),
50257 /* 142446 */ GIR_RootConstrainSelectedInstOperands,
50258 /* 142447 */ // GIR_Coverage, 2538,
50259 /* 142447 */ GIR_Done,
50260 /* 142448 */ // Label 3909: @142448
50261 /* 142448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3910*/ GIMT_Encode4(142474), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4820 //
50262 /* 142455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50263 /* 142459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50264 /* 142463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50265 /* 142467 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50266 /* 142467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rr),
50267 /* 142472 */ GIR_RootConstrainSelectedInstOperands,
50268 /* 142473 */ // GIR_Coverage, 4820,
50269 /* 142473 */ GIR_Done,
50270 /* 142474 */ // Label 3910: @142474
50271 /* 142474 */ GIM_Reject,
50272 /* 142475 */ // Label 3904: @142475
50273 /* 142475 */ GIM_Reject,
50274 /* 142476 */ // Label 3872: @142476
50275 /* 142476 */ GIM_Try, /*On fail goto*//*Label 3911*/ GIMT_Encode4(142630),
50276 /* 142481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50277 /* 142484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50278 /* 142487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50279 /* 142491 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3912*/ GIMT_Encode4(142548), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24006 //
50280 /* 142498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50281 /* 142502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50282 /* 142506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50283 /* 142509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50284 /* 142513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50285 /* 142517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50286 /* 142521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50287 /* 142523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50288 /* 142530 */ // (saddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50289 /* 142530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
50290 /* 142533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50291 /* 142535 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50292 /* 142537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50293 /* 142541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50294 /* 142546 */ GIR_RootConstrainSelectedInstOperands,
50295 /* 142547 */ // GIR_Coverage, 24006,
50296 /* 142547 */ GIR_EraseRootFromParent_Done,
50297 /* 142548 */ // Label 3912: @142548
50298 /* 142548 */ GIM_Try, /*On fail goto*//*Label 3913*/ GIMT_Encode4(142629),
50299 /* 142553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50300 /* 142557 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3914*/ GIMT_Encode4(142610), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4817 //
50301 /* 142564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50302 /* 142568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50303 /* 142572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50304 /* 142575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50305 /* 142579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50306 /* 142583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50307 /* 142585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50308 /* 142592 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50309 /* 142592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
50310 /* 142595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50311 /* 142597 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50312 /* 142599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50313 /* 142603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50314 /* 142608 */ GIR_RootConstrainSelectedInstOperands,
50315 /* 142609 */ // GIR_Coverage, 4817,
50316 /* 142609 */ GIR_EraseRootFromParent_Done,
50317 /* 142610 */ // Label 3914: @142610
50318 /* 142610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3915*/ GIMT_Encode4(142628), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4814 //
50319 /* 142617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50320 /* 142621 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50321 /* 142621 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrr),
50322 /* 142626 */ GIR_RootConstrainSelectedInstOperands,
50323 /* 142627 */ // GIR_Coverage, 4814,
50324 /* 142627 */ GIR_Done,
50325 /* 142628 */ // Label 3915: @142628
50326 /* 142628 */ GIM_Reject,
50327 /* 142629 */ // Label 3913: @142629
50328 /* 142629 */ GIM_Reject,
50329 /* 142630 */ // Label 3911: @142630
50330 /* 142630 */ GIM_Reject,
50331 /* 142631 */ // Label 3873: @142631
50332 /* 142631 */ GIM_Reject,
50333 /* 142632 */ // Label 42: @142632
50334 /* 142632 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3922*/ GIMT_Encode4(143639),
50335 /* 142643 */ /*GILLT_v16s8*//*Label 3916*/ GIMT_Encode4(142667),
50336 /* 142647 */ /*GILLT_v32s8*//*Label 3917*/ GIMT_Encode4(142874),
50337 /* 142651 */ /*GILLT_v64s8*//*Label 3918*/ GIMT_Encode4(143061),
50338 /* 142655 */ /*GILLT_v8s16*//*Label 3919*/ GIMT_Encode4(143153),
50339 /* 142659 */ /*GILLT_v16s16*//*Label 3920*/ GIMT_Encode4(143360),
50340 /* 142663 */ /*GILLT_v32s16*//*Label 3921*/ GIMT_Encode4(143547),
50341 /* 142667 */ // Label 3916: @142667
50342 /* 142667 */ GIM_Try, /*On fail goto*//*Label 3923*/ GIMT_Encode4(142873),
50343 /* 142672 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
50344 /* 142675 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
50345 /* 142678 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3924*/ GIMT_Encode4(142739), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2607 //
50346 /* 142685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50347 /* 142689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50348 /* 142693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50349 /* 142697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50350 /* 142701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50351 /* 142704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50352 /* 142708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50353 /* 142712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50354 /* 142714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50355 /* 142721 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50356 /* 142721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrm),
50357 /* 142724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50358 /* 142726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50359 /* 142728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50360 /* 142732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50361 /* 142737 */ GIR_RootConstrainSelectedInstOperands,
50362 /* 142738 */ // GIR_Coverage, 2607,
50363 /* 142738 */ GIR_EraseRootFromParent_Done,
50364 /* 142739 */ // Label 3924: @142739
50365 /* 142739 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3925*/ GIMT_Encode4(142800), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4955 //
50366 /* 142746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50367 /* 142750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50368 /* 142754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50369 /* 142758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50370 /* 142762 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50371 /* 142765 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50372 /* 142769 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50373 /* 142773 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50374 /* 142775 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50375 /* 142782 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50376 /* 142782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rm),
50377 /* 142785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50378 /* 142787 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50379 /* 142789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50380 /* 142793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50381 /* 142798 */ GIR_RootConstrainSelectedInstOperands,
50382 /* 142799 */ // GIR_Coverage, 4955,
50383 /* 142799 */ GIR_EraseRootFromParent_Done,
50384 /* 142800 */ // Label 3925: @142800
50385 /* 142800 */ GIM_Try, /*On fail goto*//*Label 3926*/ GIMT_Encode4(142846),
50386 /* 142805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50387 /* 142809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50388 /* 142813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50389 /* 142817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3927*/ GIMT_Encode4(142831), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2606 //
50390 /* 142824 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50391 /* 142824 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrr),
50392 /* 142829 */ GIR_RootConstrainSelectedInstOperands,
50393 /* 142830 */ // GIR_Coverage, 2606,
50394 /* 142830 */ GIR_Done,
50395 /* 142831 */ // Label 3927: @142831
50396 /* 142831 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3928*/ GIMT_Encode4(142845), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2608 //
50397 /* 142838 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50398 /* 142838 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSBrr),
50399 /* 142843 */ GIR_RootConstrainSelectedInstOperands,
50400 /* 142844 */ // GIR_Coverage, 2608,
50401 /* 142844 */ GIR_Done,
50402 /* 142845 */ // Label 3928: @142845
50403 /* 142845 */ GIM_Reject,
50404 /* 142846 */ // Label 3926: @142846
50405 /* 142846 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3929*/ GIMT_Encode4(142872), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4952 //
50406 /* 142853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50407 /* 142857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50408 /* 142861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50409 /* 142865 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
50410 /* 142865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rr),
50411 /* 142870 */ GIR_RootConstrainSelectedInstOperands,
50412 /* 142871 */ // GIR_Coverage, 4952,
50413 /* 142871 */ GIR_Done,
50414 /* 142872 */ // Label 3929: @142872
50415 /* 142872 */ GIM_Reject,
50416 /* 142873 */ // Label 3923: @142873
50417 /* 142873 */ GIM_Reject,
50418 /* 142874 */ // Label 3917: @142874
50419 /* 142874 */ GIM_Try, /*On fail goto*//*Label 3930*/ GIMT_Encode4(143060),
50420 /* 142879 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
50421 /* 142882 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
50422 /* 142885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3931*/ GIMT_Encode4(142946), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2611 //
50423 /* 142892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50424 /* 142896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50425 /* 142900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50426 /* 142904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50427 /* 142908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50428 /* 142911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50429 /* 142915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50430 /* 142919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50431 /* 142921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50432 /* 142928 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50433 /* 142928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrm),
50434 /* 142931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50435 /* 142933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50436 /* 142935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50437 /* 142939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50438 /* 142944 */ GIR_RootConstrainSelectedInstOperands,
50439 /* 142945 */ // GIR_Coverage, 2611,
50440 /* 142945 */ GIR_EraseRootFromParent_Done,
50441 /* 142946 */ // Label 3931: @142946
50442 /* 142946 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3932*/ GIMT_Encode4(143007), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4949 //
50443 /* 142953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50444 /* 142957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50445 /* 142961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50446 /* 142965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50447 /* 142969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50448 /* 142972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50449 /* 142976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50450 /* 142980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50451 /* 142982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50452 /* 142989 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50453 /* 142989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rm),
50454 /* 142992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50455 /* 142994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50456 /* 142996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50457 /* 143000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50458 /* 143005 */ GIR_RootConstrainSelectedInstOperands,
50459 /* 143006 */ // GIR_Coverage, 4949,
50460 /* 143006 */ GIR_EraseRootFromParent_Done,
50461 /* 143007 */ // Label 3932: @143007
50462 /* 143007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3933*/ GIMT_Encode4(143033), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2610 //
50463 /* 143014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50464 /* 143018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50465 /* 143022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50466 /* 143026 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
50467 /* 143026 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrr),
50468 /* 143031 */ GIR_RootConstrainSelectedInstOperands,
50469 /* 143032 */ // GIR_Coverage, 2610,
50470 /* 143032 */ GIR_Done,
50471 /* 143033 */ // Label 3933: @143033
50472 /* 143033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3934*/ GIMT_Encode4(143059), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4946 //
50473 /* 143040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50474 /* 143044 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50475 /* 143048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50476 /* 143052 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
50477 /* 143052 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rr),
50478 /* 143057 */ GIR_RootConstrainSelectedInstOperands,
50479 /* 143058 */ // GIR_Coverage, 4946,
50480 /* 143058 */ GIR_Done,
50481 /* 143059 */ // Label 3934: @143059
50482 /* 143059 */ GIM_Reject,
50483 /* 143060 */ // Label 3930: @143060
50484 /* 143060 */ GIM_Reject,
50485 /* 143061 */ // Label 3918: @143061
50486 /* 143061 */ GIM_Try, /*On fail goto*//*Label 3935*/ GIMT_Encode4(143152),
50487 /* 143066 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
50488 /* 143069 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
50489 /* 143072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50490 /* 143076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50491 /* 143080 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3936*/ GIMT_Encode4(143133), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4943 //
50492 /* 143087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50493 /* 143091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50494 /* 143095 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50495 /* 143098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50496 /* 143102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50497 /* 143106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50498 /* 143108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50499 /* 143115 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50500 /* 143115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrm),
50501 /* 143118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50502 /* 143120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50503 /* 143122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50504 /* 143126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50505 /* 143131 */ GIR_RootConstrainSelectedInstOperands,
50506 /* 143132 */ // GIR_Coverage, 4943,
50507 /* 143132 */ GIR_EraseRootFromParent_Done,
50508 /* 143133 */ // Label 3936: @143133
50509 /* 143133 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3937*/ GIMT_Encode4(143151), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4940 //
50510 /* 143140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50511 /* 143144 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
50512 /* 143144 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrr),
50513 /* 143149 */ GIR_RootConstrainSelectedInstOperands,
50514 /* 143150 */ // GIR_Coverage, 4940,
50515 /* 143150 */ GIR_Done,
50516 /* 143151 */ // Label 3937: @143151
50517 /* 143151 */ GIM_Reject,
50518 /* 143152 */ // Label 3935: @143152
50519 /* 143152 */ GIM_Reject,
50520 /* 143153 */ // Label 3919: @143153
50521 /* 143153 */ GIM_Try, /*On fail goto*//*Label 3938*/ GIMT_Encode4(143359),
50522 /* 143158 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50523 /* 143161 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50524 /* 143164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3939*/ GIMT_Encode4(143225), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2613 //
50525 /* 143171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50526 /* 143175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50527 /* 143179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50528 /* 143183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50529 /* 143187 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50530 /* 143190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50531 /* 143194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50532 /* 143198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50533 /* 143200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50534 /* 143207 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50535 /* 143207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrm),
50536 /* 143210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50537 /* 143212 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50538 /* 143214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50539 /* 143218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50540 /* 143223 */ GIR_RootConstrainSelectedInstOperands,
50541 /* 143224 */ // GIR_Coverage, 2613,
50542 /* 143224 */ GIR_EraseRootFromParent_Done,
50543 /* 143225 */ // Label 3939: @143225
50544 /* 143225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3940*/ GIMT_Encode4(143286), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4937 //
50545 /* 143232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50546 /* 143236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50547 /* 143240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50548 /* 143244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50549 /* 143248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50550 /* 143251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50551 /* 143255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50552 /* 143259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50553 /* 143261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50554 /* 143268 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50555 /* 143268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rm),
50556 /* 143271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50557 /* 143273 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50558 /* 143275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50559 /* 143279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50560 /* 143284 */ GIR_RootConstrainSelectedInstOperands,
50561 /* 143285 */ // GIR_Coverage, 4937,
50562 /* 143285 */ GIR_EraseRootFromParent_Done,
50563 /* 143286 */ // Label 3940: @143286
50564 /* 143286 */ GIM_Try, /*On fail goto*//*Label 3941*/ GIMT_Encode4(143332),
50565 /* 143291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50566 /* 143295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50567 /* 143299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50568 /* 143303 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3942*/ GIMT_Encode4(143317), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2612 //
50569 /* 143310 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50570 /* 143310 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrr),
50571 /* 143315 */ GIR_RootConstrainSelectedInstOperands,
50572 /* 143316 */ // GIR_Coverage, 2612,
50573 /* 143316 */ GIR_Done,
50574 /* 143317 */ // Label 3942: @143317
50575 /* 143317 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3943*/ GIMT_Encode4(143331), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2614 //
50576 /* 143324 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50577 /* 143324 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSWrr),
50578 /* 143329 */ GIR_RootConstrainSelectedInstOperands,
50579 /* 143330 */ // GIR_Coverage, 2614,
50580 /* 143330 */ GIR_Done,
50581 /* 143331 */ // Label 3943: @143331
50582 /* 143331 */ GIM_Reject,
50583 /* 143332 */ // Label 3941: @143332
50584 /* 143332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3944*/ GIMT_Encode4(143358), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4934 //
50585 /* 143339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50586 /* 143343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50587 /* 143347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50588 /* 143351 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50589 /* 143351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rr),
50590 /* 143356 */ GIR_RootConstrainSelectedInstOperands,
50591 /* 143357 */ // GIR_Coverage, 4934,
50592 /* 143357 */ GIR_Done,
50593 /* 143358 */ // Label 3944: @143358
50594 /* 143358 */ GIM_Reject,
50595 /* 143359 */ // Label 3938: @143359
50596 /* 143359 */ GIM_Reject,
50597 /* 143360 */ // Label 3920: @143360
50598 /* 143360 */ GIM_Try, /*On fail goto*//*Label 3945*/ GIMT_Encode4(143546),
50599 /* 143365 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50600 /* 143368 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50601 /* 143371 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3946*/ GIMT_Encode4(143432), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2617 //
50602 /* 143378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50603 /* 143382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50604 /* 143386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50605 /* 143390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50606 /* 143394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50607 /* 143397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50608 /* 143401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50609 /* 143405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50610 /* 143407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50611 /* 143414 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50612 /* 143414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrm),
50613 /* 143417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50614 /* 143419 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50615 /* 143421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50616 /* 143425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50617 /* 143430 */ GIR_RootConstrainSelectedInstOperands,
50618 /* 143431 */ // GIR_Coverage, 2617,
50619 /* 143431 */ GIR_EraseRootFromParent_Done,
50620 /* 143432 */ // Label 3946: @143432
50621 /* 143432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3947*/ GIMT_Encode4(143493), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4931 //
50622 /* 143439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50623 /* 143443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50624 /* 143447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50625 /* 143451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50626 /* 143455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50627 /* 143458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50628 /* 143462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50629 /* 143466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50630 /* 143468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50631 /* 143475 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50632 /* 143475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rm),
50633 /* 143478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50634 /* 143480 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50635 /* 143482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50636 /* 143486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50637 /* 143491 */ GIR_RootConstrainSelectedInstOperands,
50638 /* 143492 */ // GIR_Coverage, 4931,
50639 /* 143492 */ GIR_EraseRootFromParent_Done,
50640 /* 143493 */ // Label 3947: @143493
50641 /* 143493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3948*/ GIMT_Encode4(143519), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2616 //
50642 /* 143500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50643 /* 143504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50644 /* 143508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50645 /* 143512 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50646 /* 143512 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrr),
50647 /* 143517 */ GIR_RootConstrainSelectedInstOperands,
50648 /* 143518 */ // GIR_Coverage, 2616,
50649 /* 143518 */ GIR_Done,
50650 /* 143519 */ // Label 3948: @143519
50651 /* 143519 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3949*/ GIMT_Encode4(143545), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4928 //
50652 /* 143526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50653 /* 143530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50654 /* 143534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50655 /* 143538 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50656 /* 143538 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rr),
50657 /* 143543 */ GIR_RootConstrainSelectedInstOperands,
50658 /* 143544 */ // GIR_Coverage, 4928,
50659 /* 143544 */ GIR_Done,
50660 /* 143545 */ // Label 3949: @143545
50661 /* 143545 */ GIM_Reject,
50662 /* 143546 */ // Label 3945: @143546
50663 /* 143546 */ GIM_Reject,
50664 /* 143547 */ // Label 3921: @143547
50665 /* 143547 */ GIM_Try, /*On fail goto*//*Label 3950*/ GIMT_Encode4(143638),
50666 /* 143552 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50667 /* 143555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50668 /* 143558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50669 /* 143562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50670 /* 143566 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3951*/ GIMT_Encode4(143619), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4925 //
50671 /* 143573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50672 /* 143577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50673 /* 143581 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50674 /* 143584 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50675 /* 143588 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50676 /* 143592 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50677 /* 143594 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50678 /* 143601 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50679 /* 143601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrm),
50680 /* 143604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50681 /* 143606 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50682 /* 143608 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50683 /* 143612 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50684 /* 143617 */ GIR_RootConstrainSelectedInstOperands,
50685 /* 143618 */ // GIR_Coverage, 4925,
50686 /* 143618 */ GIR_EraseRootFromParent_Done,
50687 /* 143619 */ // Label 3951: @143619
50688 /* 143619 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3952*/ GIMT_Encode4(143637), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4922 //
50689 /* 143626 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50690 /* 143630 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50691 /* 143630 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrr),
50692 /* 143635 */ GIR_RootConstrainSelectedInstOperands,
50693 /* 143636 */ // GIR_Coverage, 4922,
50694 /* 143636 */ GIR_Done,
50695 /* 143637 */ // Label 3952: @143637
50696 /* 143637 */ GIM_Reject,
50697 /* 143638 */ // Label 3950: @143638
50698 /* 143638 */ GIM_Reject,
50699 /* 143639 */ // Label 3922: @143639
50700 /* 143639 */ GIM_Reject,
50701 /* 143640 */ // Label 43: @143640
50702 /* 143640 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3959*/ GIMT_Encode4(144647),
50703 /* 143651 */ /*GILLT_v16s8*//*Label 3953*/ GIMT_Encode4(143675),
50704 /* 143655 */ /*GILLT_v32s8*//*Label 3954*/ GIMT_Encode4(143882),
50705 /* 143659 */ /*GILLT_v64s8*//*Label 3955*/ GIMT_Encode4(144069),
50706 /* 143663 */ /*GILLT_v8s16*//*Label 3956*/ GIMT_Encode4(144161),
50707 /* 143667 */ /*GILLT_v16s16*//*Label 3957*/ GIMT_Encode4(144368),
50708 /* 143671 */ /*GILLT_v32s16*//*Label 3958*/ GIMT_Encode4(144555),
50709 /* 143675 */ // Label 3953: @143675
50710 /* 143675 */ GIM_Try, /*On fail goto*//*Label 3960*/ GIMT_Encode4(143881),
50711 /* 143680 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
50712 /* 143683 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
50713 /* 143686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3961*/ GIMT_Encode4(143747), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2595 //
50714 /* 143693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50715 /* 143697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50716 /* 143701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50717 /* 143705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50718 /* 143709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50719 /* 143712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50720 /* 143716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50721 /* 143720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50722 /* 143722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50723 /* 143729 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50724 /* 143729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrm),
50725 /* 143732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50726 /* 143734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50727 /* 143736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50728 /* 143740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50729 /* 143745 */ GIR_RootConstrainSelectedInstOperands,
50730 /* 143746 */ // GIR_Coverage, 2595,
50731 /* 143746 */ GIR_EraseRootFromParent_Done,
50732 /* 143747 */ // Label 3961: @143747
50733 /* 143747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3962*/ GIMT_Encode4(143808), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4883 //
50734 /* 143754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50735 /* 143758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50736 /* 143762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50737 /* 143766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50738 /* 143770 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50739 /* 143773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50740 /* 143777 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50741 /* 143781 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50742 /* 143783 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50743 /* 143790 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50744 /* 143790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rm),
50745 /* 143793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50746 /* 143795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50747 /* 143797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50748 /* 143801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50749 /* 143806 */ GIR_RootConstrainSelectedInstOperands,
50750 /* 143807 */ // GIR_Coverage, 4883,
50751 /* 143807 */ GIR_EraseRootFromParent_Done,
50752 /* 143808 */ // Label 3962: @143808
50753 /* 143808 */ GIM_Try, /*On fail goto*//*Label 3963*/ GIMT_Encode4(143854),
50754 /* 143813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50755 /* 143817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50756 /* 143821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50757 /* 143825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3964*/ GIMT_Encode4(143839), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2594 //
50758 /* 143832 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50759 /* 143832 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrr),
50760 /* 143837 */ GIR_RootConstrainSelectedInstOperands,
50761 /* 143838 */ // GIR_Coverage, 2594,
50762 /* 143838 */ GIR_Done,
50763 /* 143839 */ // Label 3964: @143839
50764 /* 143839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3965*/ GIMT_Encode4(143853), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2596 //
50765 /* 143846 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50766 /* 143846 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSBrr),
50767 /* 143851 */ GIR_RootConstrainSelectedInstOperands,
50768 /* 143852 */ // GIR_Coverage, 2596,
50769 /* 143852 */ GIR_Done,
50770 /* 143853 */ // Label 3965: @143853
50771 /* 143853 */ GIM_Reject,
50772 /* 143854 */ // Label 3963: @143854
50773 /* 143854 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3966*/ GIMT_Encode4(143880), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4880 //
50774 /* 143861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50775 /* 143865 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50776 /* 143869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50777 /* 143873 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
50778 /* 143873 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rr),
50779 /* 143878 */ GIR_RootConstrainSelectedInstOperands,
50780 /* 143879 */ // GIR_Coverage, 4880,
50781 /* 143879 */ GIR_Done,
50782 /* 143880 */ // Label 3966: @143880
50783 /* 143880 */ GIM_Reject,
50784 /* 143881 */ // Label 3960: @143881
50785 /* 143881 */ GIM_Reject,
50786 /* 143882 */ // Label 3954: @143882
50787 /* 143882 */ GIM_Try, /*On fail goto*//*Label 3967*/ GIMT_Encode4(144068),
50788 /* 143887 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
50789 /* 143890 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
50790 /* 143893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3968*/ GIMT_Encode4(143954), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2599 //
50791 /* 143900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50792 /* 143904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50793 /* 143908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50794 /* 143912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50795 /* 143916 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50796 /* 143919 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50797 /* 143923 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50798 /* 143927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50799 /* 143929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50800 /* 143936 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50801 /* 143936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrm),
50802 /* 143939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50803 /* 143941 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50804 /* 143943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50805 /* 143947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50806 /* 143952 */ GIR_RootConstrainSelectedInstOperands,
50807 /* 143953 */ // GIR_Coverage, 2599,
50808 /* 143953 */ GIR_EraseRootFromParent_Done,
50809 /* 143954 */ // Label 3968: @143954
50810 /* 143954 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3969*/ GIMT_Encode4(144015), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4877 //
50811 /* 143961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50812 /* 143965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50813 /* 143969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50814 /* 143973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50815 /* 143977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50816 /* 143980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50817 /* 143984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50818 /* 143988 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50819 /* 143990 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50820 /* 143997 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50821 /* 143997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rm),
50822 /* 144000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50823 /* 144002 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50824 /* 144004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50825 /* 144008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50826 /* 144013 */ GIR_RootConstrainSelectedInstOperands,
50827 /* 144014 */ // GIR_Coverage, 4877,
50828 /* 144014 */ GIR_EraseRootFromParent_Done,
50829 /* 144015 */ // Label 3969: @144015
50830 /* 144015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3970*/ GIMT_Encode4(144041), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2598 //
50831 /* 144022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50832 /* 144026 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50833 /* 144030 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50834 /* 144034 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
50835 /* 144034 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrr),
50836 /* 144039 */ GIR_RootConstrainSelectedInstOperands,
50837 /* 144040 */ // GIR_Coverage, 2598,
50838 /* 144040 */ GIR_Done,
50839 /* 144041 */ // Label 3970: @144041
50840 /* 144041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3971*/ GIMT_Encode4(144067), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4874 //
50841 /* 144048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50842 /* 144052 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50843 /* 144056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50844 /* 144060 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
50845 /* 144060 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rr),
50846 /* 144065 */ GIR_RootConstrainSelectedInstOperands,
50847 /* 144066 */ // GIR_Coverage, 4874,
50848 /* 144066 */ GIR_Done,
50849 /* 144067 */ // Label 3971: @144067
50850 /* 144067 */ GIM_Reject,
50851 /* 144068 */ // Label 3967: @144068
50852 /* 144068 */ GIM_Reject,
50853 /* 144069 */ // Label 3955: @144069
50854 /* 144069 */ GIM_Try, /*On fail goto*//*Label 3972*/ GIMT_Encode4(144160),
50855 /* 144074 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
50856 /* 144077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
50857 /* 144080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50858 /* 144084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50859 /* 144088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3973*/ GIMT_Encode4(144141), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4871 //
50860 /* 144095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50861 /* 144099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50862 /* 144103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50863 /* 144106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50864 /* 144110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50865 /* 144114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50866 /* 144116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50867 /* 144123 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50868 /* 144123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrm),
50869 /* 144126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50870 /* 144128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50871 /* 144130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50872 /* 144134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50873 /* 144139 */ GIR_RootConstrainSelectedInstOperands,
50874 /* 144140 */ // GIR_Coverage, 4871,
50875 /* 144140 */ GIR_EraseRootFromParent_Done,
50876 /* 144141 */ // Label 3973: @144141
50877 /* 144141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3974*/ GIMT_Encode4(144159), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4868 //
50878 /* 144148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50879 /* 144152 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
50880 /* 144152 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrr),
50881 /* 144157 */ GIR_RootConstrainSelectedInstOperands,
50882 /* 144158 */ // GIR_Coverage, 4868,
50883 /* 144158 */ GIR_Done,
50884 /* 144159 */ // Label 3974: @144159
50885 /* 144159 */ GIM_Reject,
50886 /* 144160 */ // Label 3972: @144160
50887 /* 144160 */ GIM_Reject,
50888 /* 144161 */ // Label 3956: @144161
50889 /* 144161 */ GIM_Try, /*On fail goto*//*Label 3975*/ GIMT_Encode4(144367),
50890 /* 144166 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50891 /* 144169 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50892 /* 144172 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3976*/ GIMT_Encode4(144233), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2601 //
50893 /* 144179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50894 /* 144183 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50895 /* 144187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50896 /* 144191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50897 /* 144195 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50898 /* 144198 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50899 /* 144202 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50900 /* 144206 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50901 /* 144208 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50902 /* 144215 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50903 /* 144215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrm),
50904 /* 144218 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50905 /* 144220 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50906 /* 144222 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50907 /* 144226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50908 /* 144231 */ GIR_RootConstrainSelectedInstOperands,
50909 /* 144232 */ // GIR_Coverage, 2601,
50910 /* 144232 */ GIR_EraseRootFromParent_Done,
50911 /* 144233 */ // Label 3976: @144233
50912 /* 144233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3977*/ GIMT_Encode4(144294), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4865 //
50913 /* 144240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50914 /* 144244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50915 /* 144248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50916 /* 144252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50917 /* 144256 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50918 /* 144259 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50919 /* 144263 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50920 /* 144267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50921 /* 144269 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50922 /* 144276 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50923 /* 144276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rm),
50924 /* 144279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50925 /* 144281 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50926 /* 144283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50927 /* 144287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50928 /* 144292 */ GIR_RootConstrainSelectedInstOperands,
50929 /* 144293 */ // GIR_Coverage, 4865,
50930 /* 144293 */ GIR_EraseRootFromParent_Done,
50931 /* 144294 */ // Label 3977: @144294
50932 /* 144294 */ GIM_Try, /*On fail goto*//*Label 3978*/ GIMT_Encode4(144340),
50933 /* 144299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50934 /* 144303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50935 /* 144307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50936 /* 144311 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3979*/ GIMT_Encode4(144325), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2600 //
50937 /* 144318 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50938 /* 144318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrr),
50939 /* 144323 */ GIR_RootConstrainSelectedInstOperands,
50940 /* 144324 */ // GIR_Coverage, 2600,
50941 /* 144324 */ GIR_Done,
50942 /* 144325 */ // Label 3979: @144325
50943 /* 144325 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3980*/ GIMT_Encode4(144339), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2602 //
50944 /* 144332 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50945 /* 144332 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSWrr),
50946 /* 144337 */ GIR_RootConstrainSelectedInstOperands,
50947 /* 144338 */ // GIR_Coverage, 2602,
50948 /* 144338 */ GIR_Done,
50949 /* 144339 */ // Label 3980: @144339
50950 /* 144339 */ GIM_Reject,
50951 /* 144340 */ // Label 3978: @144340
50952 /* 144340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3981*/ GIMT_Encode4(144366), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4862 //
50953 /* 144347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50954 /* 144351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50955 /* 144355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50956 /* 144359 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50957 /* 144359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rr),
50958 /* 144364 */ GIR_RootConstrainSelectedInstOperands,
50959 /* 144365 */ // GIR_Coverage, 4862,
50960 /* 144365 */ GIR_Done,
50961 /* 144366 */ // Label 3981: @144366
50962 /* 144366 */ GIM_Reject,
50963 /* 144367 */ // Label 3975: @144367
50964 /* 144367 */ GIM_Reject,
50965 /* 144368 */ // Label 3957: @144368
50966 /* 144368 */ GIM_Try, /*On fail goto*//*Label 3982*/ GIMT_Encode4(144554),
50967 /* 144373 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50968 /* 144376 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50969 /* 144379 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3983*/ GIMT_Encode4(144440), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2605 //
50970 /* 144386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50971 /* 144390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50972 /* 144394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50973 /* 144398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50974 /* 144402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50975 /* 144405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50976 /* 144409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50977 /* 144413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50978 /* 144415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50979 /* 144422 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50980 /* 144422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrm),
50981 /* 144425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50982 /* 144427 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50983 /* 144429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50984 /* 144433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50985 /* 144438 */ GIR_RootConstrainSelectedInstOperands,
50986 /* 144439 */ // GIR_Coverage, 2605,
50987 /* 144439 */ GIR_EraseRootFromParent_Done,
50988 /* 144440 */ // Label 3983: @144440
50989 /* 144440 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3984*/ GIMT_Encode4(144501), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4859 //
50990 /* 144447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50991 /* 144451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50992 /* 144455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50993 /* 144459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50994 /* 144463 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50995 /* 144466 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50996 /* 144470 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50997 /* 144474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50998 /* 144476 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50999 /* 144483 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51000 /* 144483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rm),
51001 /* 144486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51002 /* 144488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51003 /* 144490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51004 /* 144494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51005 /* 144499 */ GIR_RootConstrainSelectedInstOperands,
51006 /* 144500 */ // GIR_Coverage, 4859,
51007 /* 144500 */ GIR_EraseRootFromParent_Done,
51008 /* 144501 */ // Label 3984: @144501
51009 /* 144501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3985*/ GIMT_Encode4(144527), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2604 //
51010 /* 144508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51011 /* 144512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51012 /* 144516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51013 /* 144520 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
51014 /* 144520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrr),
51015 /* 144525 */ GIR_RootConstrainSelectedInstOperands,
51016 /* 144526 */ // GIR_Coverage, 2604,
51017 /* 144526 */ GIR_Done,
51018 /* 144527 */ // Label 3985: @144527
51019 /* 144527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3986*/ GIMT_Encode4(144553), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4856 //
51020 /* 144534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51021 /* 144538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51022 /* 144542 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51023 /* 144546 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51024 /* 144546 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rr),
51025 /* 144551 */ GIR_RootConstrainSelectedInstOperands,
51026 /* 144552 */ // GIR_Coverage, 4856,
51027 /* 144552 */ GIR_Done,
51028 /* 144553 */ // Label 3986: @144553
51029 /* 144553 */ GIM_Reject,
51030 /* 144554 */ // Label 3982: @144554
51031 /* 144554 */ GIM_Reject,
51032 /* 144555 */ // Label 3958: @144555
51033 /* 144555 */ GIM_Try, /*On fail goto*//*Label 3987*/ GIMT_Encode4(144646),
51034 /* 144560 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51035 /* 144563 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51036 /* 144566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51037 /* 144570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51038 /* 144574 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3988*/ GIMT_Encode4(144627), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4853 //
51039 /* 144581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51040 /* 144585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51041 /* 144589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51042 /* 144592 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51043 /* 144596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51044 /* 144600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51045 /* 144602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51046 /* 144609 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51047 /* 144609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrm),
51048 /* 144612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51049 /* 144614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51050 /* 144616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51051 /* 144620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51052 /* 144625 */ GIR_RootConstrainSelectedInstOperands,
51053 /* 144626 */ // GIR_Coverage, 4853,
51054 /* 144626 */ GIR_EraseRootFromParent_Done,
51055 /* 144627 */ // Label 3988: @144627
51056 /* 144627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3989*/ GIMT_Encode4(144645), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4850 //
51057 /* 144634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51058 /* 144638 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51059 /* 144638 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrr),
51060 /* 144643 */ GIR_RootConstrainSelectedInstOperands,
51061 /* 144644 */ // GIR_Coverage, 4850,
51062 /* 144644 */ GIR_Done,
51063 /* 144645 */ // Label 3989: @144645
51064 /* 144645 */ GIM_Reject,
51065 /* 144646 */ // Label 3987: @144646
51066 /* 144646 */ GIM_Reject,
51067 /* 144647 */ // Label 3959: @144647
51068 /* 144647 */ GIM_Reject,
51069 /* 144648 */ // Label 44: @144648
51070 /* 144648 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4003*/ GIMT_Encode4(150370),
51071 /* 144659 */ /*GILLT_s16*//*Label 3990*/ GIMT_Encode4(144751),
51072 /* 144663 */ /*GILLT_s32*//*Label 3991*/ GIMT_Encode4(144910),
51073 /* 144667 */ /*GILLT_s64*//*Label 3992*/ GIMT_Encode4(146251),
51074 /* 144671 */ /*GILLT_s80*//*Label 3993*/ GIMT_Encode4(147718), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51075 /* 144715 */ /*GILLT_v8s16*//*Label 3994*/ GIMT_Encode4(148259),
51076 /* 144719 */ /*GILLT_v16s16*//*Label 3995*/ GIMT_Encode4(148418),
51077 /* 144723 */ /*GILLT_v32s16*//*Label 3996*/ GIMT_Encode4(148577),
51078 /* 144727 */ /*GILLT_v4s32*//*Label 3997*/ GIMT_Encode4(148736),
51079 /* 144731 */ /*GILLT_v8s32*//*Label 3998*/ GIMT_Encode4(149077),
51080 /* 144735 */ /*GILLT_v16s32*//*Label 3999*/ GIMT_Encode4(149394),
51081 /* 144739 */ /*GILLT_v2s64*//*Label 4000*/ GIMT_Encode4(149553),
51082 /* 144743 */ /*GILLT_v4s64*//*Label 4001*/ GIMT_Encode4(149894),
51083 /* 144747 */ /*GILLT_v8s64*//*Label 4002*/ GIMT_Encode4(150211),
51084 /* 144751 */ // Label 3990: @144751
51085 /* 144751 */ GIM_Try, /*On fail goto*//*Label 4004*/ GIMT_Encode4(144909),
51086 /* 144756 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
51087 /* 144759 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
51088 /* 144762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
51089 /* 144766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4005*/ GIMT_Encode4(144823), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24506 //
51090 /* 144773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51091 /* 144777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51092 /* 144781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51093 /* 144784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51094 /* 144788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51095 /* 144792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
51096 /* 144796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51097 /* 144798 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51098 /* 144805 */ // (fadd:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
51099 /* 144805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
51100 /* 144808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51101 /* 144810 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51102 /* 144812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51103 /* 144816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51104 /* 144821 */ GIR_RootConstrainSelectedInstOperands,
51105 /* 144822 */ // GIR_Coverage, 24506,
51106 /* 144822 */ GIR_EraseRootFromParent_Done,
51107 /* 144823 */ // Label 4005: @144823
51108 /* 144823 */ GIM_Try, /*On fail goto*//*Label 4006*/ GIMT_Encode4(144908),
51109 /* 144828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
51110 /* 144832 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4007*/ GIMT_Encode4(144885), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 5956 //
51111 /* 144839 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51112 /* 144843 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51113 /* 144847 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51114 /* 144850 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51115 /* 144854 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51116 /* 144858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51117 /* 144860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51118 /* 144867 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
51119 /* 144867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
51120 /* 144870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51121 /* 144872 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51122 /* 144874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51123 /* 144878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51124 /* 144883 */ GIR_RootConstrainSelectedInstOperands,
51125 /* 144884 */ // GIR_Coverage, 5956,
51126 /* 144884 */ GIR_EraseRootFromParent_Done,
51127 /* 144885 */ // Label 4007: @144885
51128 /* 144885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4008*/ GIMT_Encode4(144907), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 5954 //
51129 /* 144892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
51130 /* 144896 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
51131 /* 144896 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
51132 /* 144901 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
51133 /* 144905 */ GIR_RootConstrainSelectedInstOperands,
51134 /* 144906 */ // GIR_Coverage, 5954,
51135 /* 144906 */ GIR_Done,
51136 /* 144907 */ // Label 4008: @144907
51137 /* 144907 */ GIM_Reject,
51138 /* 144908 */ // Label 4006: @144908
51139 /* 144908 */ GIM_Reject,
51140 /* 144909 */ // Label 4004: @144909
51141 /* 144909 */ GIM_Reject,
51142 /* 144910 */ // Label 3991: @144910
51143 /* 144910 */ GIM_Try, /*On fail goto*//*Label 4009*/ GIMT_Encode4(146250),
51144 /* 144915 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
51145 /* 144918 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
51146 /* 144921 */ GIM_Try, /*On fail goto*//*Label 4010*/ GIMT_Encode4(145081),
51147 /* 144926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51148 /* 144930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51149 /* 144934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4011*/ GIMT_Encode4(145007), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 26278 //
51150 /* 144941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51151 /* 144945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51152 /* 144949 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51153 /* 144953 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51154 /* 144957 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51155 /* 144961 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51156 /* 144964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51157 /* 144968 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51158 /* 144975 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51159 /* 144979 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51160 /* 144981 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51161 /* 144988 */ // (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)
51162 /* 144988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
51163 /* 144991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51164 /* 144993 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51165 /* 144995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51166 /* 144999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51167 /* 145005 */ GIR_RootConstrainSelectedInstOperands,
51168 /* 145006 */ // GIR_Coverage, 26278,
51169 /* 145006 */ GIR_EraseRootFromParent_Done,
51170 /* 145007 */ // Label 4011: @145007
51171 /* 145007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4012*/ GIMT_Encode4(145080), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 26279 //
51172 /* 145014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51173 /* 145018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51174 /* 145022 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51175 /* 145026 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51176 /* 145030 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51177 /* 145034 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51178 /* 145037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51179 /* 145041 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51180 /* 145048 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51181 /* 145052 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51182 /* 145054 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51183 /* 145061 */ // (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)
51184 /* 145061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
51185 /* 145064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51186 /* 145066 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51187 /* 145068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51188 /* 145072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51189 /* 145078 */ GIR_RootConstrainSelectedInstOperands,
51190 /* 145079 */ // GIR_Coverage, 26279,
51191 /* 145079 */ GIR_EraseRootFromParent_Done,
51192 /* 145080 */ // Label 4012: @145080
51193 /* 145080 */ GIM_Reject,
51194 /* 145081 */ // Label 4010: @145081
51195 /* 145081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4013*/ GIMT_Encode4(145162), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 26280 //
51196 /* 145088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51197 /* 145092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51198 /* 145096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51199 /* 145100 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51200 /* 145104 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51201 /* 145108 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51202 /* 145112 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51203 /* 145115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51204 /* 145119 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51205 /* 145126 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51206 /* 145130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51207 /* 145134 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51208 /* 145136 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51209 /* 145143 */ // (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)
51210 /* 145143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
51211 /* 145146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51212 /* 145148 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51213 /* 145150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51214 /* 145154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51215 /* 145160 */ GIR_RootConstrainSelectedInstOperands,
51216 /* 145161 */ // GIR_Coverage, 26280,
51217 /* 145161 */ GIR_EraseRootFromParent_Done,
51218 /* 145162 */ // Label 4013: @145162
51219 /* 145162 */ GIM_Try, /*On fail goto*//*Label 4014*/ GIMT_Encode4(145322),
51220 /* 145167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51221 /* 145171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51222 /* 145175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4015*/ GIMT_Encode4(145248), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22671 //
51223 /* 145182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51224 /* 145186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51225 /* 145190 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51226 /* 145194 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51227 /* 145198 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51228 /* 145202 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51229 /* 145205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51230 /* 145209 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51231 /* 145216 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51232 /* 145220 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51233 /* 145222 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51234 /* 145229 */ // (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)
51235 /* 145229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
51236 /* 145232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51237 /* 145234 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51238 /* 145236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51239 /* 145240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51240 /* 145246 */ GIR_RootConstrainSelectedInstOperands,
51241 /* 145247 */ // GIR_Coverage, 22671,
51242 /* 145247 */ GIR_EraseRootFromParent_Done,
51243 /* 145248 */ // Label 4015: @145248
51244 /* 145248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4016*/ GIMT_Encode4(145321), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22672 //
51245 /* 145255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51246 /* 145259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51247 /* 145263 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51248 /* 145267 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51249 /* 145271 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51250 /* 145275 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51251 /* 145278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51252 /* 145282 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51253 /* 145289 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51254 /* 145293 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51255 /* 145295 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51256 /* 145302 */ // (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)
51257 /* 145302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
51258 /* 145305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51259 /* 145307 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51260 /* 145309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51261 /* 145313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51262 /* 145319 */ GIR_RootConstrainSelectedInstOperands,
51263 /* 145320 */ // GIR_Coverage, 22672,
51264 /* 145320 */ GIR_EraseRootFromParent_Done,
51265 /* 145321 */ // Label 4016: @145321
51266 /* 145321 */ GIM_Reject,
51267 /* 145322 */ // Label 4014: @145322
51268 /* 145322 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4017*/ GIMT_Encode4(145403), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22673 //
51269 /* 145329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51270 /* 145333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51271 /* 145337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51272 /* 145341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51273 /* 145345 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51274 /* 145349 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51275 /* 145353 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51276 /* 145357 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51277 /* 145360 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51278 /* 145364 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51279 /* 145371 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51280 /* 145375 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51281 /* 145377 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51282 /* 145384 */ // (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)
51283 /* 145384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
51284 /* 145387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51285 /* 145389 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51286 /* 145391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51287 /* 145395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51288 /* 145401 */ GIR_RootConstrainSelectedInstOperands,
51289 /* 145402 */ // GIR_Coverage, 22673,
51290 /* 145402 */ GIR_EraseRootFromParent_Done,
51291 /* 145403 */ // Label 4017: @145403
51292 /* 145403 */ GIM_Try, /*On fail goto*//*Label 4018*/ GIMT_Encode4(145585),
51293 /* 145408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51294 /* 145412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51295 /* 145416 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4019*/ GIMT_Encode4(145472), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23503 //
51296 /* 145423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51297 /* 145427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51298 /* 145431 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
51299 /* 145438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51300 /* 145442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51301 /* 145444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51302 /* 145451 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51303 /* 145451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
51304 /* 145454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51305 /* 145456 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51306 /* 145458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51307 /* 145462 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51308 /* 145465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51309 /* 145470 */ GIR_RootConstrainSelectedInstOperands,
51310 /* 145471 */ // GIR_Coverage, 23503,
51311 /* 145471 */ GIR_EraseRootFromParent_Done,
51312 /* 145472 */ // Label 4019: @145472
51313 /* 145472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4020*/ GIMT_Encode4(145528), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23505 //
51314 /* 145479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51315 /* 145483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51316 /* 145487 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51317 /* 145494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51318 /* 145498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51319 /* 145500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51320 /* 145507 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51321 /* 145507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
51322 /* 145510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51323 /* 145512 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51324 /* 145514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51325 /* 145518 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51326 /* 145521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51327 /* 145526 */ GIR_RootConstrainSelectedInstOperands,
51328 /* 145527 */ // GIR_Coverage, 23505,
51329 /* 145527 */ GIR_EraseRootFromParent_Done,
51330 /* 145528 */ // Label 4020: @145528
51331 /* 145528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4021*/ GIMT_Encode4(145584), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23493 //
51332 /* 145535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51333 /* 145539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51334 /* 145543 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51335 /* 145546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51336 /* 145550 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51337 /* 145554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51338 /* 145556 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51339 /* 145563 */ // (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)
51340 /* 145563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
51341 /* 145566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51342 /* 145568 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51343 /* 145570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51344 /* 145574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51345 /* 145577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51346 /* 145582 */ GIR_RootConstrainSelectedInstOperands,
51347 /* 145583 */ // GIR_Coverage, 23493,
51348 /* 145583 */ GIR_EraseRootFromParent_Done,
51349 /* 145584 */ // Label 4021: @145584
51350 /* 145584 */ GIM_Reject,
51351 /* 145585 */ // Label 4018: @145585
51352 /* 145585 */ GIM_Try, /*On fail goto*//*Label 4022*/ GIMT_Encode4(145705),
51353 /* 145590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51354 /* 145594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51355 /* 145598 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4023*/ GIMT_Encode4(145651), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23638 //
51356 /* 145605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51357 /* 145609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51358 /* 145613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51359 /* 145616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51360 /* 145620 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51361 /* 145624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51362 /* 145626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51363 /* 145633 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51364 /* 145633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
51365 /* 145636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51366 /* 145638 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51367 /* 145640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51368 /* 145644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51369 /* 145649 */ GIR_RootConstrainSelectedInstOperands,
51370 /* 145650 */ // GIR_Coverage, 23638,
51371 /* 145650 */ GIR_EraseRootFromParent_Done,
51372 /* 145651 */ // Label 4023: @145651
51373 /* 145651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4024*/ GIMT_Encode4(145704), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 23642 //
51374 /* 145658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51375 /* 145662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51376 /* 145666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51377 /* 145669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51378 /* 145673 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51379 /* 145677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51380 /* 145679 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51381 /* 145686 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51382 /* 145686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
51383 /* 145689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51384 /* 145691 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51385 /* 145693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51386 /* 145697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51387 /* 145702 */ GIR_RootConstrainSelectedInstOperands,
51388 /* 145703 */ // GIR_Coverage, 23642,
51389 /* 145703 */ GIR_EraseRootFromParent_Done,
51390 /* 145704 */ // Label 4024: @145704
51391 /* 145704 */ GIM_Reject,
51392 /* 145705 */ // Label 4022: @145705
51393 /* 145705 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4025*/ GIMT_Encode4(145766), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24502 //
51394 /* 145712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51395 /* 145716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51396 /* 145720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51397 /* 145724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51398 /* 145727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51399 /* 145731 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51400 /* 145735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51401 /* 145739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51402 /* 145741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51403 /* 145748 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51404 /* 145748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
51405 /* 145751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51406 /* 145753 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51407 /* 145755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51408 /* 145759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51409 /* 145764 */ GIR_RootConstrainSelectedInstOperands,
51410 /* 145765 */ // GIR_Coverage, 24502,
51411 /* 145765 */ GIR_EraseRootFromParent_Done,
51412 /* 145766 */ // Label 4025: @145766
51413 /* 145766 */ GIM_Try, /*On fail goto*//*Label 4026*/ GIMT_Encode4(145948),
51414 /* 145771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51415 /* 145775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51416 /* 145779 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4027*/ GIMT_Encode4(145835), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 897 //
51417 /* 145786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51418 /* 145790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51419 /* 145794 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
51420 /* 145801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51421 /* 145805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51422 /* 145807 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51423 /* 145814 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51424 /* 145814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
51425 /* 145817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51426 /* 145819 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51427 /* 145821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51428 /* 145825 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51429 /* 145828 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51430 /* 145833 */ GIR_RootConstrainSelectedInstOperands,
51431 /* 145834 */ // GIR_Coverage, 897,
51432 /* 145834 */ GIR_EraseRootFromParent_Done,
51433 /* 145835 */ // Label 4027: @145835
51434 /* 145835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4028*/ GIMT_Encode4(145891), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 899 //
51435 /* 145842 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51436 /* 145846 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51437 /* 145850 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51438 /* 145857 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51439 /* 145861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51440 /* 145863 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51441 /* 145870 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51442 /* 145870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
51443 /* 145873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51444 /* 145875 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51445 /* 145877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51446 /* 145881 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51447 /* 145884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51448 /* 145889 */ GIR_RootConstrainSelectedInstOperands,
51449 /* 145890 */ // GIR_Coverage, 899,
51450 /* 145890 */ GIR_EraseRootFromParent_Done,
51451 /* 145891 */ // Label 4028: @145891
51452 /* 145891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4029*/ GIMT_Encode4(145947), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 887 //
51453 /* 145898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51454 /* 145902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51455 /* 145906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51456 /* 145909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51457 /* 145913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51458 /* 145917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51459 /* 145919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51460 /* 145926 */ // (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)
51461 /* 145926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
51462 /* 145929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51463 /* 145931 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51464 /* 145933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51465 /* 145937 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51466 /* 145940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51467 /* 145945 */ GIR_RootConstrainSelectedInstOperands,
51468 /* 145946 */ // GIR_Coverage, 887,
51469 /* 145946 */ GIR_EraseRootFromParent_Done,
51470 /* 145947 */ // Label 4029: @145947
51471 /* 145947 */ GIM_Reject,
51472 /* 145948 */ // Label 4026: @145948
51473 /* 145948 */ GIM_Try, /*On fail goto*//*Label 4030*/ GIMT_Encode4(146068),
51474 /* 145953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51475 /* 145957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51476 /* 145961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4031*/ GIMT_Encode4(146014), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2142 //
51477 /* 145968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51478 /* 145972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51479 /* 145976 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51480 /* 145979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51481 /* 145983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51482 /* 145987 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51483 /* 145989 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51484 /* 145996 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51485 /* 145996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
51486 /* 145999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51487 /* 146001 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51488 /* 146003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51489 /* 146007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51490 /* 146012 */ GIR_RootConstrainSelectedInstOperands,
51491 /* 146013 */ // GIR_Coverage, 2142,
51492 /* 146013 */ GIR_EraseRootFromParent_Done,
51493 /* 146014 */ // Label 4031: @146014
51494 /* 146014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4032*/ GIMT_Encode4(146067), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2150 //
51495 /* 146021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51496 /* 146025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51497 /* 146029 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51498 /* 146032 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51499 /* 146036 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51500 /* 146040 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51501 /* 146042 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51502 /* 146049 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51503 /* 146049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
51504 /* 146052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51505 /* 146054 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51506 /* 146056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51507 /* 146060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51508 /* 146065 */ GIR_RootConstrainSelectedInstOperands,
51509 /* 146066 */ // GIR_Coverage, 2150,
51510 /* 146066 */ GIR_EraseRootFromParent_Done,
51511 /* 146067 */ // Label 4032: @146067
51512 /* 146067 */ GIM_Reject,
51513 /* 146068 */ // Label 4030: @146068
51514 /* 146068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4033*/ GIMT_Encode4(146129), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5918 //
51515 /* 146075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51516 /* 146079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51517 /* 146083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51518 /* 146087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51519 /* 146091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51520 /* 146094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51521 /* 146098 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51522 /* 146102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51523 /* 146104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51524 /* 146111 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51525 /* 146111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
51526 /* 146114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51527 /* 146116 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51528 /* 146118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51529 /* 146122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51530 /* 146127 */ GIR_RootConstrainSelectedInstOperands,
51531 /* 146128 */ // GIR_Coverage, 5918,
51532 /* 146128 */ GIR_EraseRootFromParent_Done,
51533 /* 146129 */ // Label 4033: @146129
51534 /* 146129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4034*/ GIMT_Encode4(146165), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 863 //
51535 /* 146136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51536 /* 146140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51537 /* 146144 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51538 /* 146148 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
51539 /* 146148 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
51540 /* 146153 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
51541 /* 146159 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
51542 /* 146163 */ GIR_RootConstrainSelectedInstOperands,
51543 /* 146164 */ // GIR_Coverage, 863,
51544 /* 146164 */ GIR_Done,
51545 /* 146165 */ // Label 4034: @146165
51546 /* 146165 */ GIM_Try, /*On fail goto*//*Label 4035*/ GIMT_Encode4(146219),
51547 /* 146170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51548 /* 146174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51549 /* 146178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51550 /* 146182 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4036*/ GIMT_Encode4(146200), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2140 //
51551 /* 146189 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
51552 /* 146189 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
51553 /* 146194 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
51554 /* 146198 */ GIR_RootConstrainSelectedInstOperands,
51555 /* 146199 */ // GIR_Coverage, 2140,
51556 /* 146199 */ GIR_Done,
51557 /* 146200 */ // Label 4036: @146200
51558 /* 146200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4037*/ GIMT_Encode4(146218), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2148 //
51559 /* 146207 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
51560 /* 146207 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
51561 /* 146212 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
51562 /* 146216 */ GIR_RootConstrainSelectedInstOperands,
51563 /* 146217 */ // GIR_Coverage, 2148,
51564 /* 146217 */ GIR_Done,
51565 /* 146218 */ // Label 4037: @146218
51566 /* 146218 */ GIM_Reject,
51567 /* 146219 */ // Label 4035: @146219
51568 /* 146219 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4038*/ GIMT_Encode4(146249), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5916 //
51569 /* 146226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51570 /* 146230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51571 /* 146234 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51572 /* 146238 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
51573 /* 146238 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
51574 /* 146243 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
51575 /* 146247 */ GIR_RootConstrainSelectedInstOperands,
51576 /* 146248 */ // GIR_Coverage, 5916,
51577 /* 146248 */ GIR_Done,
51578 /* 146249 */ // Label 4038: @146249
51579 /* 146249 */ GIM_Reject,
51580 /* 146250 */ // Label 4009: @146250
51581 /* 146250 */ GIM_Reject,
51582 /* 146251 */ // Label 3992: @146251
51583 /* 146251 */ GIM_Try, /*On fail goto*//*Label 4039*/ GIMT_Encode4(147717),
51584 /* 146256 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
51585 /* 146259 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
51586 /* 146262 */ GIM_Try, /*On fail goto*//*Label 4040*/ GIMT_Encode4(146422),
51587 /* 146267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51588 /* 146271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51589 /* 146275 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4041*/ GIMT_Encode4(146348), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 26281 //
51590 /* 146282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51591 /* 146286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51592 /* 146290 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51593 /* 146294 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51594 /* 146298 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51595 /* 146302 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51596 /* 146305 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51597 /* 146309 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51598 /* 146316 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51599 /* 146320 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51600 /* 146322 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51601 /* 146329 */ // (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)
51602 /* 146329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
51603 /* 146332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51604 /* 146334 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51605 /* 146336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51606 /* 146340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51607 /* 146346 */ GIR_RootConstrainSelectedInstOperands,
51608 /* 146347 */ // GIR_Coverage, 26281,
51609 /* 146347 */ GIR_EraseRootFromParent_Done,
51610 /* 146348 */ // Label 4041: @146348
51611 /* 146348 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4042*/ GIMT_Encode4(146421), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 26282 //
51612 /* 146355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51613 /* 146359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51614 /* 146363 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51615 /* 146367 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51616 /* 146371 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51617 /* 146375 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51618 /* 146378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51619 /* 146382 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51620 /* 146389 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51621 /* 146393 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51622 /* 146395 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51623 /* 146402 */ // (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)
51624 /* 146402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
51625 /* 146405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51626 /* 146407 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51627 /* 146409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51628 /* 146413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51629 /* 146419 */ GIR_RootConstrainSelectedInstOperands,
51630 /* 146420 */ // GIR_Coverage, 26282,
51631 /* 146420 */ GIR_EraseRootFromParent_Done,
51632 /* 146421 */ // Label 4042: @146421
51633 /* 146421 */ GIM_Reject,
51634 /* 146422 */ // Label 4040: @146422
51635 /* 146422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4043*/ GIMT_Encode4(146503), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 26283 //
51636 /* 146429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51637 /* 146433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51638 /* 146437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51639 /* 146441 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51640 /* 146445 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51641 /* 146449 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51642 /* 146453 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51643 /* 146456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51644 /* 146460 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51645 /* 146467 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51646 /* 146471 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51647 /* 146475 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51648 /* 146477 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51649 /* 146484 */ // (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)
51650 /* 146484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
51651 /* 146487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51652 /* 146489 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51653 /* 146491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51654 /* 146495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51655 /* 146501 */ GIR_RootConstrainSelectedInstOperands,
51656 /* 146502 */ // GIR_Coverage, 26283,
51657 /* 146502 */ GIR_EraseRootFromParent_Done,
51658 /* 146503 */ // Label 4043: @146503
51659 /* 146503 */ GIM_Try, /*On fail goto*//*Label 4044*/ GIMT_Encode4(146663),
51660 /* 146508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51661 /* 146512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51662 /* 146516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4045*/ GIMT_Encode4(146589), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22674 //
51663 /* 146523 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51664 /* 146527 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51665 /* 146531 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51666 /* 146535 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51667 /* 146539 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51668 /* 146543 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51669 /* 146546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51670 /* 146550 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51671 /* 146557 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51672 /* 146561 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51673 /* 146563 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51674 /* 146570 */ // (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)
51675 /* 146570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
51676 /* 146573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51677 /* 146575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51678 /* 146577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51679 /* 146581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51680 /* 146587 */ GIR_RootConstrainSelectedInstOperands,
51681 /* 146588 */ // GIR_Coverage, 22674,
51682 /* 146588 */ GIR_EraseRootFromParent_Done,
51683 /* 146589 */ // Label 4045: @146589
51684 /* 146589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4046*/ GIMT_Encode4(146662), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22675 //
51685 /* 146596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51686 /* 146600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51687 /* 146604 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51688 /* 146608 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51689 /* 146612 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51690 /* 146616 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51691 /* 146619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51692 /* 146623 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51693 /* 146630 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51694 /* 146634 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51695 /* 146636 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51696 /* 146643 */ // (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)
51697 /* 146643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
51698 /* 146646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51699 /* 146648 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51700 /* 146650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51701 /* 146654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51702 /* 146660 */ GIR_RootConstrainSelectedInstOperands,
51703 /* 146661 */ // GIR_Coverage, 22675,
51704 /* 146661 */ GIR_EraseRootFromParent_Done,
51705 /* 146662 */ // Label 4046: @146662
51706 /* 146662 */ GIM_Reject,
51707 /* 146663 */ // Label 4044: @146663
51708 /* 146663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4047*/ GIMT_Encode4(146744), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22676 //
51709 /* 146670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51710 /* 146674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51711 /* 146678 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51712 /* 146682 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51713 /* 146686 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51714 /* 146690 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51715 /* 146694 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51716 /* 146698 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51717 /* 146701 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51718 /* 146705 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51719 /* 146712 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51720 /* 146716 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51721 /* 146718 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51722 /* 146725 */ // (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)
51723 /* 146725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
51724 /* 146728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51725 /* 146730 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51726 /* 146732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51727 /* 146736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51728 /* 146742 */ GIR_RootConstrainSelectedInstOperands,
51729 /* 146743 */ // GIR_Coverage, 22676,
51730 /* 146743 */ GIR_EraseRootFromParent_Done,
51731 /* 146744 */ // Label 4047: @146744
51732 /* 146744 */ GIM_Try, /*On fail goto*//*Label 4048*/ GIMT_Encode4(146989),
51733 /* 146749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51734 /* 146753 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51735 /* 146757 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4049*/ GIMT_Encode4(146813), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23507 //
51736 /* 146764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51737 /* 146768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51738 /* 146772 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
51739 /* 146779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51740 /* 146783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51741 /* 146785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51742 /* 146792 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51743 /* 146792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
51744 /* 146795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51745 /* 146797 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51746 /* 146799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51747 /* 146803 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51748 /* 146806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51749 /* 146811 */ GIR_RootConstrainSelectedInstOperands,
51750 /* 146812 */ // GIR_Coverage, 23507,
51751 /* 146812 */ GIR_EraseRootFromParent_Done,
51752 /* 146813 */ // Label 4049: @146813
51753 /* 146813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4050*/ GIMT_Encode4(146869), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23509 //
51754 /* 146820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51755 /* 146824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51756 /* 146828 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51757 /* 146835 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51758 /* 146839 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51759 /* 146841 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51760 /* 146848 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51761 /* 146848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
51762 /* 146851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51763 /* 146853 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51764 /* 146855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51765 /* 146859 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51766 /* 146862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51767 /* 146867 */ GIR_RootConstrainSelectedInstOperands,
51768 /* 146868 */ // GIR_Coverage, 23509,
51769 /* 146868 */ GIR_EraseRootFromParent_Done,
51770 /* 146869 */ // Label 4050: @146869
51771 /* 146869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4051*/ GIMT_Encode4(146932), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23497 //
51772 /* 146876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51773 /* 146880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
51774 /* 146884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51775 /* 146887 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51776 /* 146891 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51777 /* 146898 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51778 /* 146902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51779 /* 146904 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51780 /* 146911 */ // (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)
51781 /* 146911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
51782 /* 146914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51783 /* 146916 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51784 /* 146918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51785 /* 146922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51786 /* 146925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51787 /* 146930 */ GIR_RootConstrainSelectedInstOperands,
51788 /* 146931 */ // GIR_Coverage, 23497,
51789 /* 146931 */ GIR_EraseRootFromParent_Done,
51790 /* 146932 */ // Label 4051: @146932
51791 /* 146932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4052*/ GIMT_Encode4(146988), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23495 //
51792 /* 146939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51793 /* 146943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51794 /* 146947 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51795 /* 146950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51796 /* 146954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51797 /* 146958 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51798 /* 146960 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51799 /* 146967 */ // (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)
51800 /* 146967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
51801 /* 146970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51802 /* 146972 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51803 /* 146974 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51804 /* 146978 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51805 /* 146981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51806 /* 146986 */ GIR_RootConstrainSelectedInstOperands,
51807 /* 146987 */ // GIR_Coverage, 23495,
51808 /* 146987 */ GIR_EraseRootFromParent_Done,
51809 /* 146988 */ // Label 4052: @146988
51810 /* 146988 */ GIM_Reject,
51811 /* 146989 */ // Label 4048: @146989
51812 /* 146989 */ GIM_Try, /*On fail goto*//*Label 4053*/ GIMT_Encode4(147109),
51813 /* 146994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51814 /* 146998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51815 /* 147002 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4054*/ GIMT_Encode4(147055), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23640 //
51816 /* 147009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51817 /* 147013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51818 /* 147017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51819 /* 147020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51820 /* 147024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51821 /* 147028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51822 /* 147030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51823 /* 147037 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51824 /* 147037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
51825 /* 147040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51826 /* 147042 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51827 /* 147044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51828 /* 147048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51829 /* 147053 */ GIR_RootConstrainSelectedInstOperands,
51830 /* 147054 */ // GIR_Coverage, 23640,
51831 /* 147054 */ GIR_EraseRootFromParent_Done,
51832 /* 147055 */ // Label 4054: @147055
51833 /* 147055 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4055*/ GIMT_Encode4(147108), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 23644 //
51834 /* 147062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51835 /* 147066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51836 /* 147070 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51837 /* 147073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51838 /* 147077 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51839 /* 147081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51840 /* 147083 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51841 /* 147090 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51842 /* 147090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
51843 /* 147093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51844 /* 147095 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51845 /* 147097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51846 /* 147101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51847 /* 147106 */ GIR_RootConstrainSelectedInstOperands,
51848 /* 147107 */ // GIR_Coverage, 23644,
51849 /* 147107 */ GIR_EraseRootFromParent_Done,
51850 /* 147108 */ // Label 4055: @147108
51851 /* 147108 */ GIM_Reject,
51852 /* 147109 */ // Label 4053: @147109
51853 /* 147109 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4056*/ GIMT_Encode4(147170), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24504 //
51854 /* 147116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51855 /* 147120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51856 /* 147124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51857 /* 147128 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51858 /* 147131 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51859 /* 147135 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51860 /* 147139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51861 /* 147143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51862 /* 147145 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51863 /* 147152 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51864 /* 147152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
51865 /* 147155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51866 /* 147157 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51867 /* 147159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51868 /* 147163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51869 /* 147168 */ GIR_RootConstrainSelectedInstOperands,
51870 /* 147169 */ // GIR_Coverage, 24504,
51871 /* 147169 */ GIR_EraseRootFromParent_Done,
51872 /* 147170 */ // Label 4056: @147170
51873 /* 147170 */ GIM_Try, /*On fail goto*//*Label 4057*/ GIMT_Encode4(147415),
51874 /* 147175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51875 /* 147179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51876 /* 147183 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4058*/ GIMT_Encode4(147239), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 901 //
51877 /* 147190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51878 /* 147194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51879 /* 147198 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
51880 /* 147205 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51881 /* 147209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51882 /* 147211 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51883 /* 147218 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51884 /* 147218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
51885 /* 147221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51886 /* 147223 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51887 /* 147225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51888 /* 147229 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51889 /* 147232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51890 /* 147237 */ GIR_RootConstrainSelectedInstOperands,
51891 /* 147238 */ // GIR_Coverage, 901,
51892 /* 147238 */ GIR_EraseRootFromParent_Done,
51893 /* 147239 */ // Label 4058: @147239
51894 /* 147239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4059*/ GIMT_Encode4(147295), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 903 //
51895 /* 147246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51896 /* 147250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51897 /* 147254 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51898 /* 147261 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51899 /* 147265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51900 /* 147267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51901 /* 147274 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51902 /* 147274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
51903 /* 147277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51904 /* 147279 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51905 /* 147281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51906 /* 147285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51907 /* 147288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51908 /* 147293 */ GIR_RootConstrainSelectedInstOperands,
51909 /* 147294 */ // GIR_Coverage, 903,
51910 /* 147294 */ GIR_EraseRootFromParent_Done,
51911 /* 147295 */ // Label 4059: @147295
51912 /* 147295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4060*/ GIMT_Encode4(147358), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 891 //
51913 /* 147302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51914 /* 147306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
51915 /* 147310 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51916 /* 147313 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51917 /* 147317 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51918 /* 147324 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51919 /* 147328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51920 /* 147330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51921 /* 147337 */ // (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)
51922 /* 147337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
51923 /* 147340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51924 /* 147342 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51925 /* 147344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51926 /* 147348 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51927 /* 147351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51928 /* 147356 */ GIR_RootConstrainSelectedInstOperands,
51929 /* 147357 */ // GIR_Coverage, 891,
51930 /* 147357 */ GIR_EraseRootFromParent_Done,
51931 /* 147358 */ // Label 4060: @147358
51932 /* 147358 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4061*/ GIMT_Encode4(147414), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 889 //
51933 /* 147365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51934 /* 147369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51935 /* 147373 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51936 /* 147376 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51937 /* 147380 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51938 /* 147384 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51939 /* 147386 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51940 /* 147393 */ // (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)
51941 /* 147393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
51942 /* 147396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51943 /* 147398 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51944 /* 147400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51945 /* 147404 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51946 /* 147407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51947 /* 147412 */ GIR_RootConstrainSelectedInstOperands,
51948 /* 147413 */ // GIR_Coverage, 889,
51949 /* 147413 */ GIR_EraseRootFromParent_Done,
51950 /* 147414 */ // Label 4061: @147414
51951 /* 147414 */ GIM_Reject,
51952 /* 147415 */ // Label 4057: @147415
51953 /* 147415 */ GIM_Try, /*On fail goto*//*Label 4062*/ GIMT_Encode4(147535),
51954 /* 147420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51955 /* 147424 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51956 /* 147428 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4063*/ GIMT_Encode4(147481), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2146 //
51957 /* 147435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51958 /* 147439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51959 /* 147443 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51960 /* 147446 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51961 /* 147450 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51962 /* 147454 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51963 /* 147456 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51964 /* 147463 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51965 /* 147463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
51966 /* 147466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51967 /* 147468 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51968 /* 147470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51969 /* 147474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51970 /* 147479 */ GIR_RootConstrainSelectedInstOperands,
51971 /* 147480 */ // GIR_Coverage, 2146,
51972 /* 147480 */ GIR_EraseRootFromParent_Done,
51973 /* 147481 */ // Label 4063: @147481
51974 /* 147481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4064*/ GIMT_Encode4(147534), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2154 //
51975 /* 147488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51976 /* 147492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51977 /* 147496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51978 /* 147499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51979 /* 147503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51980 /* 147507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51981 /* 147509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51982 /* 147516 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51983 /* 147516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
51984 /* 147519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51985 /* 147521 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51986 /* 147523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51987 /* 147527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51988 /* 147532 */ GIR_RootConstrainSelectedInstOperands,
51989 /* 147533 */ // GIR_Coverage, 2154,
51990 /* 147533 */ GIR_EraseRootFromParent_Done,
51991 /* 147534 */ // Label 4064: @147534
51992 /* 147534 */ GIM_Reject,
51993 /* 147535 */ // Label 4062: @147535
51994 /* 147535 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4065*/ GIMT_Encode4(147596), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5937 //
51995 /* 147542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51996 /* 147546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51997 /* 147550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51998 /* 147554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51999 /* 147558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52000 /* 147561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52001 /* 147565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52002 /* 147569 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52003 /* 147571 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52004 /* 147578 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52005 /* 147578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
52006 /* 147581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52007 /* 147583 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52008 /* 147585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52009 /* 147589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52010 /* 147594 */ GIR_RootConstrainSelectedInstOperands,
52011 /* 147595 */ // GIR_Coverage, 5937,
52012 /* 147595 */ GIR_EraseRootFromParent_Done,
52013 /* 147596 */ // Label 4065: @147596
52014 /* 147596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4066*/ GIMT_Encode4(147632), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 865 //
52015 /* 147603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52016 /* 147607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52017 /* 147611 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52018 /* 147615 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
52019 /* 147615 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
52020 /* 147620 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
52021 /* 147626 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
52022 /* 147630 */ GIR_RootConstrainSelectedInstOperands,
52023 /* 147631 */ // GIR_Coverage, 865,
52024 /* 147631 */ GIR_Done,
52025 /* 147632 */ // Label 4066: @147632
52026 /* 147632 */ GIM_Try, /*On fail goto*//*Label 4067*/ GIMT_Encode4(147686),
52027 /* 147637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52028 /* 147641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52029 /* 147645 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52030 /* 147649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4068*/ GIMT_Encode4(147667), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2144 //
52031 /* 147656 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
52032 /* 147656 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
52033 /* 147661 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52034 /* 147665 */ GIR_RootConstrainSelectedInstOperands,
52035 /* 147666 */ // GIR_Coverage, 2144,
52036 /* 147666 */ GIR_Done,
52037 /* 147667 */ // Label 4068: @147667
52038 /* 147667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4069*/ GIMT_Encode4(147685), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2152 //
52039 /* 147674 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
52040 /* 147674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
52041 /* 147679 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52042 /* 147683 */ GIR_RootConstrainSelectedInstOperands,
52043 /* 147684 */ // GIR_Coverage, 2152,
52044 /* 147684 */ GIR_Done,
52045 /* 147685 */ // Label 4069: @147685
52046 /* 147685 */ GIM_Reject,
52047 /* 147686 */ // Label 4067: @147686
52048 /* 147686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4070*/ GIMT_Encode4(147716), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5935 //
52049 /* 147693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52050 /* 147697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52051 /* 147701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52052 /* 147705 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
52053 /* 147705 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
52054 /* 147710 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52055 /* 147714 */ GIR_RootConstrainSelectedInstOperands,
52056 /* 147715 */ // GIR_Coverage, 5935,
52057 /* 147715 */ GIR_Done,
52058 /* 147716 */ // Label 4070: @147716
52059 /* 147716 */ GIM_Reject,
52060 /* 147717 */ // Label 4039: @147717
52061 /* 147717 */ GIM_Reject,
52062 /* 147718 */ // Label 3993: @147718
52063 /* 147718 */ GIM_Try, /*On fail goto*//*Label 4071*/ GIMT_Encode4(148258),
52064 /* 147723 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
52065 /* 147726 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
52066 /* 147729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
52067 /* 147733 */ GIM_Try, /*On fail goto*//*Label 4072*/ GIMT_Encode4(147981),
52068 /* 147738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
52069 /* 147742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4073*/ GIMT_Encode4(147798), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23511 //
52070 /* 147749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52071 /* 147753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52072 /* 147757 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52073 /* 147764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52074 /* 147768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52075 /* 147770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52076 /* 147777 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
52077 /* 147777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
52078 /* 147780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52079 /* 147782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52080 /* 147784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52081 /* 147788 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52082 /* 147791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52083 /* 147796 */ GIR_RootConstrainSelectedInstOperands,
52084 /* 147797 */ // GIR_Coverage, 23511,
52085 /* 147797 */ GIR_EraseRootFromParent_Done,
52086 /* 147798 */ // Label 4073: @147798
52087 /* 147798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4074*/ GIMT_Encode4(147854), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23513 //
52088 /* 147805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52089 /* 147809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52090 /* 147813 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52091 /* 147820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52092 /* 147824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52093 /* 147826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52094 /* 147833 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
52095 /* 147833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
52096 /* 147836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52097 /* 147838 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52098 /* 147840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52099 /* 147844 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52100 /* 147847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52101 /* 147852 */ GIR_RootConstrainSelectedInstOperands,
52102 /* 147853 */ // GIR_Coverage, 23513,
52103 /* 147853 */ GIR_EraseRootFromParent_Done,
52104 /* 147854 */ // Label 4074: @147854
52105 /* 147854 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4075*/ GIMT_Encode4(147917), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23499 //
52106 /* 147861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52107 /* 147865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
52108 /* 147869 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52109 /* 147872 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52110 /* 147876 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52111 /* 147883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52112 /* 147887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52113 /* 147889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52114 /* 147896 */ // (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)
52115 /* 147896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
52116 /* 147899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52117 /* 147901 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52118 /* 147903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52119 /* 147907 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52120 /* 147910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52121 /* 147915 */ GIR_RootConstrainSelectedInstOperands,
52122 /* 147916 */ // GIR_Coverage, 23499,
52123 /* 147916 */ GIR_EraseRootFromParent_Done,
52124 /* 147917 */ // Label 4075: @147917
52125 /* 147917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4076*/ GIMT_Encode4(147980), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23501 //
52126 /* 147924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52127 /* 147928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
52128 /* 147932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52129 /* 147935 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52130 /* 147939 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52131 /* 147946 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52132 /* 147950 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52133 /* 147952 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52134 /* 147959 */ // (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)
52135 /* 147959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
52136 /* 147962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52137 /* 147964 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52138 /* 147966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52139 /* 147970 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52140 /* 147973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52141 /* 147978 */ GIR_RootConstrainSelectedInstOperands,
52142 /* 147979 */ // GIR_Coverage, 23501,
52143 /* 147979 */ GIR_EraseRootFromParent_Done,
52144 /* 147980 */ // Label 4076: @147980
52145 /* 147980 */ GIM_Reject,
52146 /* 147981 */ // Label 4072: @147981
52147 /* 147981 */ GIM_Try, /*On fail goto*//*Label 4077*/ GIMT_Encode4(148257),
52148 /* 147986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
52149 /* 147990 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4078*/ GIMT_Encode4(148046), GIMT_Encode2(GIFBS_HasX87), // Rule ID 905 //
52150 /* 147997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52151 /* 148001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52152 /* 148005 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52153 /* 148012 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52154 /* 148016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52155 /* 148018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52156 /* 148025 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
52157 /* 148025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
52158 /* 148028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52159 /* 148030 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52160 /* 148032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52161 /* 148036 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52162 /* 148039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52163 /* 148044 */ GIR_RootConstrainSelectedInstOperands,
52164 /* 148045 */ // GIR_Coverage, 905,
52165 /* 148045 */ GIR_EraseRootFromParent_Done,
52166 /* 148046 */ // Label 4078: @148046
52167 /* 148046 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4079*/ GIMT_Encode4(148102), GIMT_Encode2(GIFBS_HasX87), // Rule ID 907 //
52168 /* 148053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52169 /* 148057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52170 /* 148061 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52171 /* 148068 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52172 /* 148072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52173 /* 148074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52174 /* 148081 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
52175 /* 148081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
52176 /* 148084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52177 /* 148086 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52178 /* 148088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52179 /* 148092 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52180 /* 148095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52181 /* 148100 */ GIR_RootConstrainSelectedInstOperands,
52182 /* 148101 */ // GIR_Coverage, 907,
52183 /* 148101 */ GIR_EraseRootFromParent_Done,
52184 /* 148102 */ // Label 4079: @148102
52185 /* 148102 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4080*/ GIMT_Encode4(148165), GIMT_Encode2(GIFBS_HasX87), // Rule ID 893 //
52186 /* 148109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52187 /* 148113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
52188 /* 148117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52189 /* 148120 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52190 /* 148124 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52191 /* 148131 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52192 /* 148135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52193 /* 148137 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52194 /* 148144 */ // (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)
52195 /* 148144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
52196 /* 148147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52197 /* 148149 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52198 /* 148151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52199 /* 148155 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52200 /* 148158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52201 /* 148163 */ GIR_RootConstrainSelectedInstOperands,
52202 /* 148164 */ // GIR_Coverage, 893,
52203 /* 148164 */ GIR_EraseRootFromParent_Done,
52204 /* 148165 */ // Label 4080: @148165
52205 /* 148165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4081*/ GIMT_Encode4(148228), GIMT_Encode2(GIFBS_HasX87), // Rule ID 895 //
52206 /* 148172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52207 /* 148176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
52208 /* 148180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52209 /* 148183 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52210 /* 148187 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52211 /* 148194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52212 /* 148198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52213 /* 148200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52214 /* 148207 */ // (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)
52215 /* 148207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
52216 /* 148210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52217 /* 148212 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52218 /* 148214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52219 /* 148218 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52220 /* 148221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52221 /* 148226 */ GIR_RootConstrainSelectedInstOperands,
52222 /* 148227 */ // GIR_Coverage, 895,
52223 /* 148227 */ GIR_EraseRootFromParent_Done,
52224 /* 148228 */ // Label 4081: @148228
52225 /* 148228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4082*/ GIMT_Encode4(148256), GIMT_Encode2(GIFBS_HasX87), // Rule ID 867 //
52226 /* 148235 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
52227 /* 148239 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
52228 /* 148239 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
52229 /* 148244 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
52230 /* 148250 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
52231 /* 148254 */ GIR_RootConstrainSelectedInstOperands,
52232 /* 148255 */ // GIR_Coverage, 867,
52233 /* 148255 */ GIR_Done,
52234 /* 148256 */ // Label 4082: @148256
52235 /* 148256 */ GIM_Reject,
52236 /* 148257 */ // Label 4077: @148257
52237 /* 148257 */ GIM_Reject,
52238 /* 148258 */ // Label 4071: @148258
52239 /* 148258 */ GIM_Reject,
52240 /* 148259 */ // Label 3994: @148259
52241 /* 148259 */ GIM_Try, /*On fail goto*//*Label 4083*/ GIMT_Encode4(148417),
52242 /* 148264 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
52243 /* 148267 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
52244 /* 148270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52245 /* 148274 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4084*/ GIMT_Encode4(148331), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24576 //
52246 /* 148281 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52247 /* 148285 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52248 /* 148289 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52249 /* 148292 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52250 /* 148296 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52251 /* 148300 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52252 /* 148304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52253 /* 148306 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52254 /* 148313 */ // (fadd:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52255 /* 148313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
52256 /* 148316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52257 /* 148318 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52258 /* 148320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52259 /* 148324 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52260 /* 148329 */ GIR_RootConstrainSelectedInstOperands,
52261 /* 148330 */ // GIR_Coverage, 24576,
52262 /* 148330 */ GIR_EraseRootFromParent_Done,
52263 /* 148331 */ // Label 4084: @148331
52264 /* 148331 */ GIM_Try, /*On fail goto*//*Label 4085*/ GIMT_Encode4(148416),
52265 /* 148336 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52266 /* 148340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4086*/ GIMT_Encode4(148393), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6346 //
52267 /* 148347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52268 /* 148351 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52269 /* 148355 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52270 /* 148358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52271 /* 148362 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52272 /* 148366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52273 /* 148368 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52274 /* 148375 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52275 /* 148375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
52276 /* 148378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52277 /* 148380 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52278 /* 148382 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52279 /* 148386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52280 /* 148391 */ GIR_RootConstrainSelectedInstOperands,
52281 /* 148392 */ // GIR_Coverage, 6346,
52282 /* 148392 */ GIR_EraseRootFromParent_Done,
52283 /* 148393 */ // Label 4086: @148393
52284 /* 148393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4087*/ GIMT_Encode4(148415), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6342 //
52285 /* 148400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52286 /* 148404 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
52287 /* 148404 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
52288 /* 148409 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52289 /* 148413 */ GIR_RootConstrainSelectedInstOperands,
52290 /* 148414 */ // GIR_Coverage, 6342,
52291 /* 148414 */ GIR_Done,
52292 /* 148415 */ // Label 4087: @148415
52293 /* 148415 */ GIM_Reject,
52294 /* 148416 */ // Label 4085: @148416
52295 /* 148416 */ GIM_Reject,
52296 /* 148417 */ // Label 4083: @148417
52297 /* 148417 */ GIM_Reject,
52298 /* 148418 */ // Label 3995: @148418
52299 /* 148418 */ GIM_Try, /*On fail goto*//*Label 4088*/ GIMT_Encode4(148576),
52300 /* 148423 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
52301 /* 148426 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
52302 /* 148429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52303 /* 148433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4089*/ GIMT_Encode4(148490), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24584 //
52304 /* 148440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52305 /* 148444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52306 /* 148448 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52307 /* 148451 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52308 /* 148455 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52309 /* 148459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52310 /* 148463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52311 /* 148465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52312 /* 148472 */ // (fadd:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52313 /* 148472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
52314 /* 148475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52315 /* 148477 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52316 /* 148479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52317 /* 148483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52318 /* 148488 */ GIR_RootConstrainSelectedInstOperands,
52319 /* 148489 */ // GIR_Coverage, 24584,
52320 /* 148489 */ GIR_EraseRootFromParent_Done,
52321 /* 148490 */ // Label 4089: @148490
52322 /* 148490 */ GIM_Try, /*On fail goto*//*Label 4090*/ GIMT_Encode4(148575),
52323 /* 148495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52324 /* 148499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4091*/ GIMT_Encode4(148552), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6358 //
52325 /* 148506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52326 /* 148510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52327 /* 148514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52328 /* 148517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52329 /* 148521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52330 /* 148525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52331 /* 148527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52332 /* 148534 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52333 /* 148534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
52334 /* 148537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52335 /* 148539 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52336 /* 148541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52337 /* 148545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52338 /* 148550 */ GIR_RootConstrainSelectedInstOperands,
52339 /* 148551 */ // GIR_Coverage, 6358,
52340 /* 148551 */ GIR_EraseRootFromParent_Done,
52341 /* 148552 */ // Label 4091: @148552
52342 /* 148552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4092*/ GIMT_Encode4(148574), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6354 //
52343 /* 148559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52344 /* 148563 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
52345 /* 148563 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
52346 /* 148568 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52347 /* 148572 */ GIR_RootConstrainSelectedInstOperands,
52348 /* 148573 */ // GIR_Coverage, 6354,
52349 /* 148573 */ GIR_Done,
52350 /* 148574 */ // Label 4092: @148574
52351 /* 148574 */ GIM_Reject,
52352 /* 148575 */ // Label 4090: @148575
52353 /* 148575 */ GIM_Reject,
52354 /* 148576 */ // Label 4088: @148576
52355 /* 148576 */ GIM_Reject,
52356 /* 148577 */ // Label 3996: @148577
52357 /* 148577 */ GIM_Try, /*On fail goto*//*Label 4093*/ GIMT_Encode4(148735),
52358 /* 148582 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
52359 /* 148585 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
52360 /* 148588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52361 /* 148592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4094*/ GIMT_Encode4(148649), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24568 //
52362 /* 148599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52363 /* 148603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52364 /* 148607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52365 /* 148610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52366 /* 148614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52367 /* 148618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52368 /* 148622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52369 /* 148624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52370 /* 148631 */ // (fadd:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52371 /* 148631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
52372 /* 148634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52373 /* 148636 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52374 /* 148638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52375 /* 148642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52376 /* 148647 */ GIR_RootConstrainSelectedInstOperands,
52377 /* 148648 */ // GIR_Coverage, 24568,
52378 /* 148648 */ GIR_EraseRootFromParent_Done,
52379 /* 148649 */ // Label 4094: @148649
52380 /* 148649 */ GIM_Try, /*On fail goto*//*Label 4095*/ GIMT_Encode4(148734),
52381 /* 148654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52382 /* 148658 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4096*/ GIMT_Encode4(148711), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6334 //
52383 /* 148665 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52384 /* 148669 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52385 /* 148673 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52386 /* 148676 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52387 /* 148680 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52388 /* 148684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52389 /* 148686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52390 /* 148693 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52391 /* 148693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
52392 /* 148696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52393 /* 148698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52394 /* 148700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52395 /* 148704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52396 /* 148709 */ GIR_RootConstrainSelectedInstOperands,
52397 /* 148710 */ // GIR_Coverage, 6334,
52398 /* 148710 */ GIR_EraseRootFromParent_Done,
52399 /* 148711 */ // Label 4096: @148711
52400 /* 148711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4097*/ GIMT_Encode4(148733), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6330 //
52401 /* 148718 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52402 /* 148722 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
52403 /* 148722 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
52404 /* 148727 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52405 /* 148731 */ GIR_RootConstrainSelectedInstOperands,
52406 /* 148732 */ // GIR_Coverage, 6330,
52407 /* 148732 */ GIR_Done,
52408 /* 148733 */ // Label 4097: @148733
52409 /* 148733 */ GIM_Reject,
52410 /* 148734 */ // Label 4095: @148734
52411 /* 148734 */ GIM_Reject,
52412 /* 148735 */ // Label 4093: @148735
52413 /* 148735 */ GIM_Reject,
52414 /* 148736 */ // Label 3997: @148736
52415 /* 148736 */ GIM_Try, /*On fail goto*//*Label 4098*/ GIMT_Encode4(149076),
52416 /* 148741 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
52417 /* 148744 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
52418 /* 148747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4099*/ GIMT_Encode4(148808), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23626 //
52419 /* 148754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52420 /* 148758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52421 /* 148762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52422 /* 148766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52423 /* 148769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52424 /* 148773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52425 /* 148777 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52426 /* 148781 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52427 /* 148783 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52428 /* 148790 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52429 /* 148790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
52430 /* 148793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52431 /* 148795 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52432 /* 148797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52433 /* 148801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52434 /* 148806 */ GIR_RootConstrainSelectedInstOperands,
52435 /* 148807 */ // GIR_Coverage, 23626,
52436 /* 148807 */ GIR_EraseRootFromParent_Done,
52437 /* 148808 */ // Label 4099: @148808
52438 /* 148808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4100*/ GIMT_Encode4(148869), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24536 //
52439 /* 148815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52440 /* 148819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52441 /* 148823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52442 /* 148827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52443 /* 148830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52444 /* 148834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52445 /* 148838 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52446 /* 148842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52447 /* 148844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52448 /* 148851 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52449 /* 148851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
52450 /* 148854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52451 /* 148856 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52452 /* 148858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52453 /* 148862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52454 /* 148867 */ GIR_RootConstrainSelectedInstOperands,
52455 /* 148868 */ // GIR_Coverage, 24536,
52456 /* 148868 */ GIR_EraseRootFromParent_Done,
52457 /* 148869 */ // Label 4100: @148869
52458 /* 148869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4101*/ GIMT_Encode4(148930), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2118 //
52459 /* 148876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52460 /* 148880 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52461 /* 148884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52462 /* 148888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52463 /* 148892 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52464 /* 148895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52465 /* 148899 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52466 /* 148903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52467 /* 148905 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52468 /* 148912 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52469 /* 148912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
52470 /* 148915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52471 /* 148917 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52472 /* 148919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52473 /* 148923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52474 /* 148928 */ GIR_RootConstrainSelectedInstOperands,
52475 /* 148929 */ // GIR_Coverage, 2118,
52476 /* 148929 */ GIR_EraseRootFromParent_Done,
52477 /* 148930 */ // Label 4101: @148930
52478 /* 148930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4102*/ GIMT_Encode4(148991), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6286 //
52479 /* 148937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52480 /* 148941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52481 /* 148945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52482 /* 148949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52483 /* 148953 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52484 /* 148956 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52485 /* 148960 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52486 /* 148964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52487 /* 148966 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52488 /* 148973 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52489 /* 148973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
52490 /* 148976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52491 /* 148978 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52492 /* 148980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52493 /* 148984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52494 /* 148989 */ GIR_RootConstrainSelectedInstOperands,
52495 /* 148990 */ // GIR_Coverage, 6286,
52496 /* 148990 */ GIR_EraseRootFromParent_Done,
52497 /* 148991 */ // Label 4102: @148991
52498 /* 148991 */ GIM_Try, /*On fail goto*//*Label 4103*/ GIMT_Encode4(149045),
52499 /* 148996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52500 /* 149000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52501 /* 149004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52502 /* 149008 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4104*/ GIMT_Encode4(149026), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2116 //
52503 /* 149015 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
52504 /* 149015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
52505 /* 149020 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52506 /* 149024 */ GIR_RootConstrainSelectedInstOperands,
52507 /* 149025 */ // GIR_Coverage, 2116,
52508 /* 149025 */ GIR_Done,
52509 /* 149026 */ // Label 4104: @149026
52510 /* 149026 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4105*/ GIMT_Encode4(149044), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2132 //
52511 /* 149033 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
52512 /* 149033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
52513 /* 149038 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52514 /* 149042 */ GIR_RootConstrainSelectedInstOperands,
52515 /* 149043 */ // GIR_Coverage, 2132,
52516 /* 149043 */ GIR_Done,
52517 /* 149044 */ // Label 4105: @149044
52518 /* 149044 */ GIM_Reject,
52519 /* 149045 */ // Label 4103: @149045
52520 /* 149045 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4106*/ GIMT_Encode4(149075), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6282 //
52521 /* 149052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52522 /* 149056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52523 /* 149060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52524 /* 149064 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
52525 /* 149064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
52526 /* 149069 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52527 /* 149073 */ GIR_RootConstrainSelectedInstOperands,
52528 /* 149074 */ // GIR_Coverage, 6282,
52529 /* 149074 */ GIR_Done,
52530 /* 149075 */ // Label 4106: @149075
52531 /* 149075 */ GIM_Reject,
52532 /* 149076 */ // Label 4098: @149076
52533 /* 149076 */ GIM_Reject,
52534 /* 149077 */ // Label 3998: @149077
52535 /* 149077 */ GIM_Try, /*On fail goto*//*Label 4107*/ GIMT_Encode4(149393),
52536 /* 149082 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
52537 /* 149085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
52538 /* 149088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4108*/ GIMT_Encode4(149149), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23630 //
52539 /* 149095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52540 /* 149099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52541 /* 149103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52542 /* 149107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52543 /* 149110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52544 /* 149114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52545 /* 149118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52546 /* 149122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52547 /* 149124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52548 /* 149131 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52549 /* 149131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
52550 /* 149134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52551 /* 149136 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52552 /* 149138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52553 /* 149142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52554 /* 149147 */ GIR_RootConstrainSelectedInstOperands,
52555 /* 149148 */ // GIR_Coverage, 23630,
52556 /* 149148 */ GIR_EraseRootFromParent_Done,
52557 /* 149149 */ // Label 4108: @149149
52558 /* 149149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4109*/ GIMT_Encode4(149210), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24544 //
52559 /* 149156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52560 /* 149160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52561 /* 149164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52562 /* 149168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52563 /* 149171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52564 /* 149175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52565 /* 149179 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52566 /* 149183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52567 /* 149185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52568 /* 149192 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52569 /* 149192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
52570 /* 149195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52571 /* 149197 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52572 /* 149199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52573 /* 149203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52574 /* 149208 */ GIR_RootConstrainSelectedInstOperands,
52575 /* 149209 */ // GIR_Coverage, 24544,
52576 /* 149209 */ GIR_EraseRootFromParent_Done,
52577 /* 149210 */ // Label 4109: @149210
52578 /* 149210 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4110*/ GIMT_Encode4(149271), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2126 //
52579 /* 149217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52580 /* 149221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52581 /* 149225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52582 /* 149229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52583 /* 149233 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52584 /* 149236 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52585 /* 149240 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52586 /* 149244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52587 /* 149246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52588 /* 149253 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52589 /* 149253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
52590 /* 149256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52591 /* 149258 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52592 /* 149260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52593 /* 149264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52594 /* 149269 */ GIR_RootConstrainSelectedInstOperands,
52595 /* 149270 */ // GIR_Coverage, 2126,
52596 /* 149270 */ GIR_EraseRootFromParent_Done,
52597 /* 149271 */ // Label 4110: @149271
52598 /* 149271 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4111*/ GIMT_Encode4(149332), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6298 //
52599 /* 149278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52600 /* 149282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52601 /* 149286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52602 /* 149290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52603 /* 149294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52604 /* 149297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52605 /* 149301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52606 /* 149305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52607 /* 149307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52608 /* 149314 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52609 /* 149314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
52610 /* 149317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52611 /* 149319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52612 /* 149321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52613 /* 149325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52614 /* 149330 */ GIR_RootConstrainSelectedInstOperands,
52615 /* 149331 */ // GIR_Coverage, 6298,
52616 /* 149331 */ GIR_EraseRootFromParent_Done,
52617 /* 149332 */ // Label 4111: @149332
52618 /* 149332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4112*/ GIMT_Encode4(149362), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2124 //
52619 /* 149339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52620 /* 149343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52621 /* 149347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52622 /* 149351 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
52623 /* 149351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
52624 /* 149356 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52625 /* 149360 */ GIR_RootConstrainSelectedInstOperands,
52626 /* 149361 */ // GIR_Coverage, 2124,
52627 /* 149361 */ GIR_Done,
52628 /* 149362 */ // Label 4112: @149362
52629 /* 149362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4113*/ GIMT_Encode4(149392), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6294 //
52630 /* 149369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52631 /* 149373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52632 /* 149377 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52633 /* 149381 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
52634 /* 149381 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
52635 /* 149386 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52636 /* 149390 */ GIR_RootConstrainSelectedInstOperands,
52637 /* 149391 */ // GIR_Coverage, 6294,
52638 /* 149391 */ GIR_Done,
52639 /* 149392 */ // Label 4113: @149392
52640 /* 149392 */ GIM_Reject,
52641 /* 149393 */ // Label 4107: @149393
52642 /* 149393 */ GIM_Reject,
52643 /* 149394 */ // Label 3999: @149394
52644 /* 149394 */ GIM_Try, /*On fail goto*//*Label 4114*/ GIMT_Encode4(149552),
52645 /* 149399 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
52646 /* 149402 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
52647 /* 149405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52648 /* 149409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4115*/ GIMT_Encode4(149466), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24520 //
52649 /* 149416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52650 /* 149420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52651 /* 149424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52652 /* 149427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52653 /* 149431 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52654 /* 149435 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52655 /* 149439 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52656 /* 149441 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52657 /* 149448 */ // (fadd:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52658 /* 149448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
52659 /* 149451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52660 /* 149453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52661 /* 149455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52662 /* 149459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52663 /* 149464 */ GIR_RootConstrainSelectedInstOperands,
52664 /* 149465 */ // GIR_Coverage, 24520,
52665 /* 149465 */ GIR_EraseRootFromParent_Done,
52666 /* 149466 */ // Label 4115: @149466
52667 /* 149466 */ GIM_Try, /*On fail goto*//*Label 4116*/ GIMT_Encode4(149551),
52668 /* 149471 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52669 /* 149475 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4117*/ GIMT_Encode4(149528), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6262 //
52670 /* 149482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52671 /* 149486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52672 /* 149490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52673 /* 149493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52674 /* 149497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52675 /* 149501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52676 /* 149503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52677 /* 149510 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52678 /* 149510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
52679 /* 149513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52680 /* 149515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52681 /* 149517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52682 /* 149521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52683 /* 149526 */ GIR_RootConstrainSelectedInstOperands,
52684 /* 149527 */ // GIR_Coverage, 6262,
52685 /* 149527 */ GIR_EraseRootFromParent_Done,
52686 /* 149528 */ // Label 4117: @149528
52687 /* 149528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4118*/ GIMT_Encode4(149550), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6258 //
52688 /* 149535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52689 /* 149539 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
52690 /* 149539 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
52691 /* 149544 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52692 /* 149548 */ GIR_RootConstrainSelectedInstOperands,
52693 /* 149549 */ // GIR_Coverage, 6258,
52694 /* 149549 */ GIR_Done,
52695 /* 149550 */ // Label 4118: @149550
52696 /* 149550 */ GIM_Reject,
52697 /* 149551 */ // Label 4116: @149551
52698 /* 149551 */ GIM_Reject,
52699 /* 149552 */ // Label 4114: @149552
52700 /* 149552 */ GIM_Reject,
52701 /* 149553 */ // Label 4000: @149553
52702 /* 149553 */ GIM_Try, /*On fail goto*//*Label 4119*/ GIMT_Encode4(149893),
52703 /* 149558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
52704 /* 149561 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
52705 /* 149564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4120*/ GIMT_Encode4(149625), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23628 //
52706 /* 149571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52707 /* 149575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52708 /* 149579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52709 /* 149583 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52710 /* 149586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52711 /* 149590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52712 /* 149594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52713 /* 149598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52714 /* 149600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52715 /* 149607 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52716 /* 149607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
52717 /* 149610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52718 /* 149612 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52719 /* 149614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52720 /* 149618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52721 /* 149623 */ GIR_RootConstrainSelectedInstOperands,
52722 /* 149624 */ // GIR_Coverage, 23628,
52723 /* 149624 */ GIR_EraseRootFromParent_Done,
52724 /* 149625 */ // Label 4120: @149625
52725 /* 149625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4121*/ GIMT_Encode4(149686), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24552 //
52726 /* 149632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52727 /* 149636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52728 /* 149640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52729 /* 149644 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52730 /* 149647 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52731 /* 149651 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52732 /* 149655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52733 /* 149659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52734 /* 149661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52735 /* 149668 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52736 /* 149668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
52737 /* 149671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52738 /* 149673 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52739 /* 149675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52740 /* 149679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52741 /* 149684 */ GIR_RootConstrainSelectedInstOperands,
52742 /* 149685 */ // GIR_Coverage, 24552,
52743 /* 149685 */ GIR_EraseRootFromParent_Done,
52744 /* 149686 */ // Label 4121: @149686
52745 /* 149686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4122*/ GIMT_Encode4(149747), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2122 //
52746 /* 149693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52747 /* 149697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52748 /* 149701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52749 /* 149705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52750 /* 149709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52751 /* 149712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52752 /* 149716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52753 /* 149720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52754 /* 149722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52755 /* 149729 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52756 /* 149729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
52757 /* 149732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52758 /* 149734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52759 /* 149736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52760 /* 149740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52761 /* 149745 */ GIR_RootConstrainSelectedInstOperands,
52762 /* 149746 */ // GIR_Coverage, 2122,
52763 /* 149746 */ GIR_EraseRootFromParent_Done,
52764 /* 149747 */ // Label 4122: @149747
52765 /* 149747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4123*/ GIMT_Encode4(149808), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6310 //
52766 /* 149754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52767 /* 149758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52768 /* 149762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52769 /* 149766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52770 /* 149770 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52771 /* 149773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52772 /* 149777 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52773 /* 149781 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52774 /* 149783 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52775 /* 149790 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52776 /* 149790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
52777 /* 149793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52778 /* 149795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52779 /* 149797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52780 /* 149801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52781 /* 149806 */ GIR_RootConstrainSelectedInstOperands,
52782 /* 149807 */ // GIR_Coverage, 6310,
52783 /* 149807 */ GIR_EraseRootFromParent_Done,
52784 /* 149808 */ // Label 4123: @149808
52785 /* 149808 */ GIM_Try, /*On fail goto*//*Label 4124*/ GIMT_Encode4(149862),
52786 /* 149813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52787 /* 149817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52788 /* 149821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52789 /* 149825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4125*/ GIMT_Encode4(149843), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2120 //
52790 /* 149832 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
52791 /* 149832 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
52792 /* 149837 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52793 /* 149841 */ GIR_RootConstrainSelectedInstOperands,
52794 /* 149842 */ // GIR_Coverage, 2120,
52795 /* 149842 */ GIR_Done,
52796 /* 149843 */ // Label 4125: @149843
52797 /* 149843 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4126*/ GIMT_Encode4(149861), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2136 //
52798 /* 149850 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
52799 /* 149850 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
52800 /* 149855 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52801 /* 149859 */ GIR_RootConstrainSelectedInstOperands,
52802 /* 149860 */ // GIR_Coverage, 2136,
52803 /* 149860 */ GIR_Done,
52804 /* 149861 */ // Label 4126: @149861
52805 /* 149861 */ GIM_Reject,
52806 /* 149862 */ // Label 4124: @149862
52807 /* 149862 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4127*/ GIMT_Encode4(149892), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6306 //
52808 /* 149869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52809 /* 149873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52810 /* 149877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52811 /* 149881 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
52812 /* 149881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
52813 /* 149886 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52814 /* 149890 */ GIR_RootConstrainSelectedInstOperands,
52815 /* 149891 */ // GIR_Coverage, 6306,
52816 /* 149891 */ GIR_Done,
52817 /* 149892 */ // Label 4127: @149892
52818 /* 149892 */ GIM_Reject,
52819 /* 149893 */ // Label 4119: @149893
52820 /* 149893 */ GIM_Reject,
52821 /* 149894 */ // Label 4001: @149894
52822 /* 149894 */ GIM_Try, /*On fail goto*//*Label 4128*/ GIMT_Encode4(150210),
52823 /* 149899 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
52824 /* 149902 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
52825 /* 149905 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4129*/ GIMT_Encode4(149966), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23632 //
52826 /* 149912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52827 /* 149916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52828 /* 149920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52829 /* 149924 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52830 /* 149927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52831 /* 149931 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52832 /* 149935 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52833 /* 149939 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52834 /* 149941 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52835 /* 149948 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52836 /* 149948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
52837 /* 149951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52838 /* 149953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52839 /* 149955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52840 /* 149959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52841 /* 149964 */ GIR_RootConstrainSelectedInstOperands,
52842 /* 149965 */ // GIR_Coverage, 23632,
52843 /* 149965 */ GIR_EraseRootFromParent_Done,
52844 /* 149966 */ // Label 4129: @149966
52845 /* 149966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4130*/ GIMT_Encode4(150027), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24560 //
52846 /* 149973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52847 /* 149977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52848 /* 149981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52849 /* 149985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52850 /* 149988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52851 /* 149992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52852 /* 149996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52853 /* 150000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52854 /* 150002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52855 /* 150009 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52856 /* 150009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
52857 /* 150012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52858 /* 150014 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52859 /* 150016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52860 /* 150020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52861 /* 150025 */ GIR_RootConstrainSelectedInstOperands,
52862 /* 150026 */ // GIR_Coverage, 24560,
52863 /* 150026 */ GIR_EraseRootFromParent_Done,
52864 /* 150027 */ // Label 4130: @150027
52865 /* 150027 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4131*/ GIMT_Encode4(150088), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2130 //
52866 /* 150034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52867 /* 150038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52868 /* 150042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52869 /* 150046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52870 /* 150050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52871 /* 150053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52872 /* 150057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52873 /* 150061 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52874 /* 150063 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52875 /* 150070 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52876 /* 150070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
52877 /* 150073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52878 /* 150075 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52879 /* 150077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52880 /* 150081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52881 /* 150086 */ GIR_RootConstrainSelectedInstOperands,
52882 /* 150087 */ // GIR_Coverage, 2130,
52883 /* 150087 */ GIR_EraseRootFromParent_Done,
52884 /* 150088 */ // Label 4131: @150088
52885 /* 150088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4132*/ GIMT_Encode4(150149), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6322 //
52886 /* 150095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52887 /* 150099 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52888 /* 150103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52889 /* 150107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52890 /* 150111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52891 /* 150114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52892 /* 150118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52893 /* 150122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52894 /* 150124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52895 /* 150131 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52896 /* 150131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
52897 /* 150134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52898 /* 150136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52899 /* 150138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52900 /* 150142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52901 /* 150147 */ GIR_RootConstrainSelectedInstOperands,
52902 /* 150148 */ // GIR_Coverage, 6322,
52903 /* 150148 */ GIR_EraseRootFromParent_Done,
52904 /* 150149 */ // Label 4132: @150149
52905 /* 150149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4133*/ GIMT_Encode4(150179), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2128 //
52906 /* 150156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52907 /* 150160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52908 /* 150164 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52909 /* 150168 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
52910 /* 150168 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
52911 /* 150173 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52912 /* 150177 */ GIR_RootConstrainSelectedInstOperands,
52913 /* 150178 */ // GIR_Coverage, 2128,
52914 /* 150178 */ GIR_Done,
52915 /* 150179 */ // Label 4133: @150179
52916 /* 150179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4134*/ GIMT_Encode4(150209), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6318 //
52917 /* 150186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52918 /* 150190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52919 /* 150194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52920 /* 150198 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
52921 /* 150198 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
52922 /* 150203 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52923 /* 150207 */ GIR_RootConstrainSelectedInstOperands,
52924 /* 150208 */ // GIR_Coverage, 6318,
52925 /* 150208 */ GIR_Done,
52926 /* 150209 */ // Label 4134: @150209
52927 /* 150209 */ GIM_Reject,
52928 /* 150210 */ // Label 4128: @150210
52929 /* 150210 */ GIM_Reject,
52930 /* 150211 */ // Label 4002: @150211
52931 /* 150211 */ GIM_Try, /*On fail goto*//*Label 4135*/ GIMT_Encode4(150369),
52932 /* 150216 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
52933 /* 150219 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
52934 /* 150222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52935 /* 150226 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4136*/ GIMT_Encode4(150283), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24528 //
52936 /* 150233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52937 /* 150237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52938 /* 150241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52939 /* 150244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52940 /* 150248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52941 /* 150252 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52942 /* 150256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52943 /* 150258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52944 /* 150265 */ // (fadd:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52945 /* 150265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
52946 /* 150268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52947 /* 150270 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52948 /* 150272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52949 /* 150276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52950 /* 150281 */ GIR_RootConstrainSelectedInstOperands,
52951 /* 150282 */ // GIR_Coverage, 24528,
52952 /* 150282 */ GIR_EraseRootFromParent_Done,
52953 /* 150283 */ // Label 4136: @150283
52954 /* 150283 */ GIM_Try, /*On fail goto*//*Label 4137*/ GIMT_Encode4(150368),
52955 /* 150288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52956 /* 150292 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4138*/ GIMT_Encode4(150345), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6274 //
52957 /* 150299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52958 /* 150303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52959 /* 150307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52960 /* 150310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52961 /* 150314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52962 /* 150318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52963 /* 150320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52964 /* 150327 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52965 /* 150327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
52966 /* 150330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52967 /* 150332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52968 /* 150334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52969 /* 150338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52970 /* 150343 */ GIR_RootConstrainSelectedInstOperands,
52971 /* 150344 */ // GIR_Coverage, 6274,
52972 /* 150344 */ GIR_EraseRootFromParent_Done,
52973 /* 150345 */ // Label 4138: @150345
52974 /* 150345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4139*/ GIMT_Encode4(150367), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6270 //
52975 /* 150352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52976 /* 150356 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
52977 /* 150356 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
52978 /* 150361 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52979 /* 150365 */ GIR_RootConstrainSelectedInstOperands,
52980 /* 150366 */ // GIR_Coverage, 6270,
52981 /* 150366 */ GIR_Done,
52982 /* 150367 */ // Label 4139: @150367
52983 /* 150367 */ GIM_Reject,
52984 /* 150368 */ // Label 4137: @150368
52985 /* 150368 */ GIM_Reject,
52986 /* 150369 */ // Label 4135: @150369
52987 /* 150369 */ GIM_Reject,
52988 /* 150370 */ // Label 4003: @150370
52989 /* 150370 */ GIM_Reject,
52990 /* 150371 */ // Label 45: @150371
52991 /* 150371 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4153*/ GIMT_Encode4(154387),
52992 /* 150382 */ /*GILLT_s16*//*Label 4140*/ GIMT_Encode4(150474),
52993 /* 150386 */ /*GILLT_s32*//*Label 4141*/ GIMT_Encode4(150570),
52994 /* 150390 */ /*GILLT_s64*//*Label 4142*/ GIMT_Encode4(151491),
52995 /* 150394 */ /*GILLT_s80*//*Label 4143*/ GIMT_Encode4(152538), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
52996 /* 150438 */ /*GILLT_v8s16*//*Label 4144*/ GIMT_Encode4(153079),
52997 /* 150442 */ /*GILLT_v16s16*//*Label 4145*/ GIMT_Encode4(153175),
52998 /* 150446 */ /*GILLT_v32s16*//*Label 4146*/ GIMT_Encode4(153271),
52999 /* 150450 */ /*GILLT_v4s32*//*Label 4147*/ GIMT_Encode4(153367),
53000 /* 150454 */ /*GILLT_v8s32*//*Label 4148*/ GIMT_Encode4(153586),
53001 /* 150458 */ /*GILLT_v16s32*//*Label 4149*/ GIMT_Encode4(153781),
53002 /* 150462 */ /*GILLT_v2s64*//*Label 4150*/ GIMT_Encode4(153877),
53003 /* 150466 */ /*GILLT_v4s64*//*Label 4151*/ GIMT_Encode4(154096),
53004 /* 150470 */ /*GILLT_v8s64*//*Label 4152*/ GIMT_Encode4(154291),
53005 /* 150474 */ // Label 4140: @150474
53006 /* 150474 */ GIM_Try, /*On fail goto*//*Label 4154*/ GIMT_Encode4(150569),
53007 /* 150479 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
53008 /* 150482 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
53009 /* 150485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
53010 /* 150489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
53011 /* 150493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4155*/ GIMT_Encode4(150546), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6070 //
53012 /* 150500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53013 /* 150504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53014 /* 150508 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53015 /* 150511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53016 /* 150515 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53017 /* 150519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53018 /* 150521 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53019 /* 150528 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53020 /* 150528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
53021 /* 150531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53022 /* 150533 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53023 /* 150535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53024 /* 150539 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53025 /* 150544 */ GIR_RootConstrainSelectedInstOperands,
53026 /* 150545 */ // GIR_Coverage, 6070,
53027 /* 150545 */ GIR_EraseRootFromParent_Done,
53028 /* 150546 */ // Label 4155: @150546
53029 /* 150546 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4156*/ GIMT_Encode4(150568), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6068 //
53030 /* 150553 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
53031 /* 150557 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
53032 /* 150557 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
53033 /* 150562 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53034 /* 150566 */ GIR_RootConstrainSelectedInstOperands,
53035 /* 150567 */ // GIR_Coverage, 6068,
53036 /* 150567 */ GIR_Done,
53037 /* 150568 */ // Label 4156: @150568
53038 /* 150568 */ GIM_Reject,
53039 /* 150569 */ // Label 4154: @150569
53040 /* 150569 */ GIM_Reject,
53041 /* 150570 */ // Label 4141: @150570
53042 /* 150570 */ GIM_Try, /*On fail goto*//*Label 4157*/ GIMT_Encode4(151490),
53043 /* 150575 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
53044 /* 150578 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
53045 /* 150581 */ GIM_Try, /*On fail goto*//*Label 4158*/ GIMT_Encode4(150741),
53046 /* 150586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53047 /* 150590 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53048 /* 150594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4159*/ GIMT_Encode4(150667), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22677 //
53049 /* 150601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53050 /* 150605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53051 /* 150609 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53052 /* 150613 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53053 /* 150617 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53054 /* 150621 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53055 /* 150624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53056 /* 150628 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53057 /* 150635 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53058 /* 150639 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53059 /* 150641 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53060 /* 150648 */ // (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)
53061 /* 150648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
53062 /* 150651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53063 /* 150653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53064 /* 150655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53065 /* 150659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53066 /* 150665 */ GIR_RootConstrainSelectedInstOperands,
53067 /* 150666 */ // GIR_Coverage, 22677,
53068 /* 150666 */ GIR_EraseRootFromParent_Done,
53069 /* 150667 */ // Label 4159: @150667
53070 /* 150667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4160*/ GIMT_Encode4(150740), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22678 //
53071 /* 150674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53072 /* 150678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53073 /* 150682 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53074 /* 150686 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53075 /* 150690 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53076 /* 150694 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53077 /* 150697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53078 /* 150701 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53079 /* 150708 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53080 /* 150712 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53081 /* 150714 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53082 /* 150721 */ // (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)
53083 /* 150721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
53084 /* 150724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53085 /* 150726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53086 /* 150728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53087 /* 150732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53088 /* 150738 */ GIR_RootConstrainSelectedInstOperands,
53089 /* 150739 */ // GIR_Coverage, 22678,
53090 /* 150739 */ GIR_EraseRootFromParent_Done,
53091 /* 150740 */ // Label 4160: @150740
53092 /* 150740 */ GIM_Reject,
53093 /* 150741 */ // Label 4158: @150741
53094 /* 150741 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4161*/ GIMT_Encode4(150822), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22679 //
53095 /* 150748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53096 /* 150752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53097 /* 150756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53098 /* 150760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53099 /* 150764 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53100 /* 150768 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53101 /* 150772 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53102 /* 150776 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53103 /* 150779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53104 /* 150783 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53105 /* 150790 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53106 /* 150794 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53107 /* 150796 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53108 /* 150803 */ // (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)
53109 /* 150803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
53110 /* 150806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53111 /* 150808 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53112 /* 150810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53113 /* 150814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53114 /* 150820 */ GIR_RootConstrainSelectedInstOperands,
53115 /* 150821 */ // GIR_Coverage, 22679,
53116 /* 150821 */ GIR_EraseRootFromParent_Done,
53117 /* 150822 */ // Label 4161: @150822
53118 /* 150822 */ GIM_Try, /*On fail goto*//*Label 4162*/ GIMT_Encode4(151188),
53119 /* 150827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53120 /* 150831 */ GIM_Try, /*On fail goto*//*Label 4163*/ GIMT_Encode4(151009),
53121 /* 150836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53122 /* 150840 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4164*/ GIMT_Encode4(150896), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 941 //
53123 /* 150847 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53124 /* 150851 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53125 /* 150855 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53126 /* 150862 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53127 /* 150866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53128 /* 150868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53129 /* 150875 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53130 /* 150875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
53131 /* 150878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53132 /* 150880 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53133 /* 150882 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53134 /* 150886 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53135 /* 150889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53136 /* 150894 */ GIR_RootConstrainSelectedInstOperands,
53137 /* 150895 */ // GIR_Coverage, 941,
53138 /* 150895 */ GIR_EraseRootFromParent_Done,
53139 /* 150896 */ // Label 4164: @150896
53140 /* 150896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4165*/ GIMT_Encode4(150952), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 943 //
53141 /* 150903 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53142 /* 150907 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53143 /* 150911 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53144 /* 150918 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53145 /* 150922 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53146 /* 150924 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53147 /* 150931 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53148 /* 150931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
53149 /* 150934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53150 /* 150936 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53151 /* 150938 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53152 /* 150942 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53153 /* 150945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53154 /* 150950 */ GIR_RootConstrainSelectedInstOperands,
53155 /* 150951 */ // GIR_Coverage, 943,
53156 /* 150951 */ GIR_EraseRootFromParent_Done,
53157 /* 150952 */ // Label 4165: @150952
53158 /* 150952 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4166*/ GIMT_Encode4(151008), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 931 //
53159 /* 150959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53160 /* 150963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53161 /* 150967 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53162 /* 150970 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53163 /* 150974 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53164 /* 150978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53165 /* 150980 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53166 /* 150987 */ // (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)
53167 /* 150987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
53168 /* 150990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53169 /* 150992 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53170 /* 150994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53171 /* 150998 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53172 /* 151001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53173 /* 151006 */ GIR_RootConstrainSelectedInstOperands,
53174 /* 151007 */ // GIR_Coverage, 931,
53175 /* 151007 */ GIR_EraseRootFromParent_Done,
53176 /* 151008 */ // Label 4166: @151008
53177 /* 151008 */ GIM_Reject,
53178 /* 151009 */ // Label 4163: @151009
53179 /* 151009 */ GIM_Try, /*On fail goto*//*Label 4167*/ GIMT_Encode4(151187),
53180 /* 151014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53181 /* 151018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4168*/ GIMT_Encode4(151074), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 919 //
53182 /* 151025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53183 /* 151029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53184 /* 151033 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53185 /* 151040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53186 /* 151044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53187 /* 151046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53188 /* 151053 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53189 /* 151053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
53190 /* 151056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53191 /* 151058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53192 /* 151060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53193 /* 151064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53194 /* 151067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53195 /* 151072 */ GIR_RootConstrainSelectedInstOperands,
53196 /* 151073 */ // GIR_Coverage, 919,
53197 /* 151073 */ GIR_EraseRootFromParent_Done,
53198 /* 151074 */ // Label 4168: @151074
53199 /* 151074 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4169*/ GIMT_Encode4(151130), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 921 //
53200 /* 151081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53201 /* 151085 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53202 /* 151089 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53203 /* 151096 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53204 /* 151100 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53205 /* 151102 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53206 /* 151109 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53207 /* 151109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
53208 /* 151112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53209 /* 151114 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53210 /* 151116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53211 /* 151120 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53212 /* 151123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53213 /* 151128 */ GIR_RootConstrainSelectedInstOperands,
53214 /* 151129 */ // GIR_Coverage, 921,
53215 /* 151129 */ GIR_EraseRootFromParent_Done,
53216 /* 151130 */ // Label 4169: @151130
53217 /* 151130 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4170*/ GIMT_Encode4(151186), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 909 //
53218 /* 151137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53219 /* 151141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53220 /* 151145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53221 /* 151148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53222 /* 151152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53223 /* 151156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53224 /* 151158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53225 /* 151165 */ // (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)
53226 /* 151165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
53227 /* 151168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53228 /* 151170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53229 /* 151172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53230 /* 151176 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53231 /* 151179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53232 /* 151184 */ GIR_RootConstrainSelectedInstOperands,
53233 /* 151185 */ // GIR_Coverage, 909,
53234 /* 151185 */ GIR_EraseRootFromParent_Done,
53235 /* 151186 */ // Label 4170: @151186
53236 /* 151186 */ GIM_Reject,
53237 /* 151187 */ // Label 4167: @151187
53238 /* 151187 */ GIM_Reject,
53239 /* 151188 */ // Label 4162: @151188
53240 /* 151188 */ GIM_Try, /*On fail goto*//*Label 4171*/ GIMT_Encode4(151308),
53241 /* 151193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53242 /* 151197 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53243 /* 151201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4172*/ GIMT_Encode4(151254), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2222 //
53244 /* 151208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53245 /* 151212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53246 /* 151216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53247 /* 151219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53248 /* 151223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53249 /* 151227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53250 /* 151229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53251 /* 151236 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53252 /* 151236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
53253 /* 151239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53254 /* 151241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53255 /* 151243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53256 /* 151247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53257 /* 151252 */ GIR_RootConstrainSelectedInstOperands,
53258 /* 151253 */ // GIR_Coverage, 2222,
53259 /* 151253 */ GIR_EraseRootFromParent_Done,
53260 /* 151254 */ // Label 4172: @151254
53261 /* 151254 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4173*/ GIMT_Encode4(151307), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2230 //
53262 /* 151261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53263 /* 151265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53264 /* 151269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53265 /* 151272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53266 /* 151276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53267 /* 151280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53268 /* 151282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53269 /* 151289 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53270 /* 151289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
53271 /* 151292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53272 /* 151294 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53273 /* 151296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53274 /* 151300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53275 /* 151305 */ GIR_RootConstrainSelectedInstOperands,
53276 /* 151306 */ // GIR_Coverage, 2230,
53277 /* 151306 */ GIR_EraseRootFromParent_Done,
53278 /* 151307 */ // Label 4173: @151307
53279 /* 151307 */ GIM_Reject,
53280 /* 151308 */ // Label 4171: @151308
53281 /* 151308 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4174*/ GIMT_Encode4(151369), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6032 //
53282 /* 151315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53283 /* 151319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53284 /* 151323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53285 /* 151327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53286 /* 151331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53287 /* 151334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53288 /* 151338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53289 /* 151342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53290 /* 151344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53291 /* 151351 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53292 /* 151351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
53293 /* 151354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53294 /* 151356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53295 /* 151358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53296 /* 151362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53297 /* 151367 */ GIR_RootConstrainSelectedInstOperands,
53298 /* 151368 */ // GIR_Coverage, 6032,
53299 /* 151368 */ GIR_EraseRootFromParent_Done,
53300 /* 151369 */ // Label 4174: @151369
53301 /* 151369 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4175*/ GIMT_Encode4(151405), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 869 //
53302 /* 151376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53303 /* 151380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53304 /* 151384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53305 /* 151388 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
53306 /* 151388 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
53307 /* 151393 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53308 /* 151399 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53309 /* 151403 */ GIR_RootConstrainSelectedInstOperands,
53310 /* 151404 */ // GIR_Coverage, 869,
53311 /* 151404 */ GIR_Done,
53312 /* 151405 */ // Label 4175: @151405
53313 /* 151405 */ GIM_Try, /*On fail goto*//*Label 4176*/ GIMT_Encode4(151459),
53314 /* 151410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53315 /* 151414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53316 /* 151418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53317 /* 151422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4177*/ GIMT_Encode4(151440), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2220 //
53318 /* 151429 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
53319 /* 151429 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
53320 /* 151434 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53321 /* 151438 */ GIR_RootConstrainSelectedInstOperands,
53322 /* 151439 */ // GIR_Coverage, 2220,
53323 /* 151439 */ GIR_Done,
53324 /* 151440 */ // Label 4177: @151440
53325 /* 151440 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4178*/ GIMT_Encode4(151458), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2228 //
53326 /* 151447 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
53327 /* 151447 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
53328 /* 151452 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53329 /* 151456 */ GIR_RootConstrainSelectedInstOperands,
53330 /* 151457 */ // GIR_Coverage, 2228,
53331 /* 151457 */ GIR_Done,
53332 /* 151458 */ // Label 4178: @151458
53333 /* 151458 */ GIM_Reject,
53334 /* 151459 */ // Label 4176: @151459
53335 /* 151459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4179*/ GIMT_Encode4(151489), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6030 //
53336 /* 151466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53337 /* 151470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53338 /* 151474 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53339 /* 151478 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
53340 /* 151478 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
53341 /* 151483 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53342 /* 151487 */ GIR_RootConstrainSelectedInstOperands,
53343 /* 151488 */ // GIR_Coverage, 6030,
53344 /* 151488 */ GIR_Done,
53345 /* 151489 */ // Label 4179: @151489
53346 /* 151489 */ GIM_Reject,
53347 /* 151490 */ // Label 4157: @151490
53348 /* 151490 */ GIM_Reject,
53349 /* 151491 */ // Label 4142: @151491
53350 /* 151491 */ GIM_Try, /*On fail goto*//*Label 4180*/ GIMT_Encode4(152537),
53351 /* 151496 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
53352 /* 151499 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
53353 /* 151502 */ GIM_Try, /*On fail goto*//*Label 4181*/ GIMT_Encode4(151662),
53354 /* 151507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53355 /* 151511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53356 /* 151515 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4182*/ GIMT_Encode4(151588), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22680 //
53357 /* 151522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53358 /* 151526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53359 /* 151530 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53360 /* 151534 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53361 /* 151538 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53362 /* 151542 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53363 /* 151545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53364 /* 151549 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53365 /* 151556 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53366 /* 151560 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53367 /* 151562 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53368 /* 151569 */ // (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)
53369 /* 151569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
53370 /* 151572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53371 /* 151574 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53372 /* 151576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53373 /* 151580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53374 /* 151586 */ GIR_RootConstrainSelectedInstOperands,
53375 /* 151587 */ // GIR_Coverage, 22680,
53376 /* 151587 */ GIR_EraseRootFromParent_Done,
53377 /* 151588 */ // Label 4182: @151588
53378 /* 151588 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4183*/ GIMT_Encode4(151661), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22681 //
53379 /* 151595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53380 /* 151599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53381 /* 151603 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53382 /* 151607 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53383 /* 151611 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53384 /* 151615 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53385 /* 151618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53386 /* 151622 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53387 /* 151629 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53388 /* 151633 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53389 /* 151635 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53390 /* 151642 */ // (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)
53391 /* 151642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
53392 /* 151645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53393 /* 151647 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53394 /* 151649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53395 /* 151653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53396 /* 151659 */ GIR_RootConstrainSelectedInstOperands,
53397 /* 151660 */ // GIR_Coverage, 22681,
53398 /* 151660 */ GIR_EraseRootFromParent_Done,
53399 /* 151661 */ // Label 4183: @151661
53400 /* 151661 */ GIM_Reject,
53401 /* 151662 */ // Label 4181: @151662
53402 /* 151662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4184*/ GIMT_Encode4(151743), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22682 //
53403 /* 151669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53404 /* 151673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53405 /* 151677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53406 /* 151681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53407 /* 151685 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53408 /* 151689 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53409 /* 151693 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53410 /* 151697 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53411 /* 151700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53412 /* 151704 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53413 /* 151711 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53414 /* 151715 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53415 /* 151717 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53416 /* 151724 */ // (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)
53417 /* 151724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
53418 /* 151727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53419 /* 151729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53420 /* 151731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53421 /* 151735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53422 /* 151741 */ GIR_RootConstrainSelectedInstOperands,
53423 /* 151742 */ // GIR_Coverage, 22682,
53424 /* 151742 */ GIR_EraseRootFromParent_Done,
53425 /* 151743 */ // Label 4184: @151743
53426 /* 151743 */ GIM_Try, /*On fail goto*//*Label 4185*/ GIMT_Encode4(152235),
53427 /* 151748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53428 /* 151752 */ GIM_Try, /*On fail goto*//*Label 4186*/ GIMT_Encode4(151993),
53429 /* 151757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53430 /* 151761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4187*/ GIMT_Encode4(151817), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 945 //
53431 /* 151768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53432 /* 151772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53433 /* 151776 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53434 /* 151783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53435 /* 151787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53436 /* 151789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53437 /* 151796 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53438 /* 151796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
53439 /* 151799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53440 /* 151801 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53441 /* 151803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53442 /* 151807 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53443 /* 151810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53444 /* 151815 */ GIR_RootConstrainSelectedInstOperands,
53445 /* 151816 */ // GIR_Coverage, 945,
53446 /* 151816 */ GIR_EraseRootFromParent_Done,
53447 /* 151817 */ // Label 4187: @151817
53448 /* 151817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4188*/ GIMT_Encode4(151873), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 947 //
53449 /* 151824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53450 /* 151828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53451 /* 151832 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53452 /* 151839 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53453 /* 151843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53454 /* 151845 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53455 /* 151852 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53456 /* 151852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
53457 /* 151855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53458 /* 151857 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53459 /* 151859 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53460 /* 151863 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53461 /* 151866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53462 /* 151871 */ GIR_RootConstrainSelectedInstOperands,
53463 /* 151872 */ // GIR_Coverage, 947,
53464 /* 151872 */ GIR_EraseRootFromParent_Done,
53465 /* 151873 */ // Label 4188: @151873
53466 /* 151873 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4189*/ GIMT_Encode4(151936), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 935 //
53467 /* 151880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53468 /* 151884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53469 /* 151888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53470 /* 151891 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53471 /* 151895 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53472 /* 151902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53473 /* 151906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53474 /* 151908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53475 /* 151915 */ // (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)
53476 /* 151915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
53477 /* 151918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53478 /* 151920 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53479 /* 151922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53480 /* 151926 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53481 /* 151929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53482 /* 151934 */ GIR_RootConstrainSelectedInstOperands,
53483 /* 151935 */ // GIR_Coverage, 935,
53484 /* 151935 */ GIR_EraseRootFromParent_Done,
53485 /* 151936 */ // Label 4189: @151936
53486 /* 151936 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4190*/ GIMT_Encode4(151992), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 933 //
53487 /* 151943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53488 /* 151947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53489 /* 151951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53490 /* 151954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53491 /* 151958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53492 /* 151962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53493 /* 151964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53494 /* 151971 */ // (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)
53495 /* 151971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
53496 /* 151974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53497 /* 151976 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53498 /* 151978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53499 /* 151982 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53500 /* 151985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53501 /* 151990 */ GIR_RootConstrainSelectedInstOperands,
53502 /* 151991 */ // GIR_Coverage, 933,
53503 /* 151991 */ GIR_EraseRootFromParent_Done,
53504 /* 151992 */ // Label 4190: @151992
53505 /* 151992 */ GIM_Reject,
53506 /* 151993 */ // Label 4186: @151993
53507 /* 151993 */ GIM_Try, /*On fail goto*//*Label 4191*/ GIMT_Encode4(152234),
53508 /* 151998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53509 /* 152002 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4192*/ GIMT_Encode4(152058), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 923 //
53510 /* 152009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53511 /* 152013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53512 /* 152017 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53513 /* 152024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53514 /* 152028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53515 /* 152030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53516 /* 152037 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53517 /* 152037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
53518 /* 152040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53519 /* 152042 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53520 /* 152044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53521 /* 152048 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53522 /* 152051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53523 /* 152056 */ GIR_RootConstrainSelectedInstOperands,
53524 /* 152057 */ // GIR_Coverage, 923,
53525 /* 152057 */ GIR_EraseRootFromParent_Done,
53526 /* 152058 */ // Label 4192: @152058
53527 /* 152058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4193*/ GIMT_Encode4(152114), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 925 //
53528 /* 152065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53529 /* 152069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53530 /* 152073 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53531 /* 152080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53532 /* 152084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53533 /* 152086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53534 /* 152093 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53535 /* 152093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
53536 /* 152096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53537 /* 152098 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53538 /* 152100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53539 /* 152104 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53540 /* 152107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53541 /* 152112 */ GIR_RootConstrainSelectedInstOperands,
53542 /* 152113 */ // GIR_Coverage, 925,
53543 /* 152113 */ GIR_EraseRootFromParent_Done,
53544 /* 152114 */ // Label 4193: @152114
53545 /* 152114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4194*/ GIMT_Encode4(152177), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 913 //
53546 /* 152121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53547 /* 152125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53548 /* 152129 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53549 /* 152132 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53550 /* 152136 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53551 /* 152143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53552 /* 152147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53553 /* 152149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53554 /* 152156 */ // (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)
53555 /* 152156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
53556 /* 152159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53557 /* 152161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53558 /* 152163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53559 /* 152167 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53560 /* 152170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53561 /* 152175 */ GIR_RootConstrainSelectedInstOperands,
53562 /* 152176 */ // GIR_Coverage, 913,
53563 /* 152176 */ GIR_EraseRootFromParent_Done,
53564 /* 152177 */ // Label 4194: @152177
53565 /* 152177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4195*/ GIMT_Encode4(152233), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 911 //
53566 /* 152184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53567 /* 152188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53568 /* 152192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53569 /* 152195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53570 /* 152199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53571 /* 152203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53572 /* 152205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53573 /* 152212 */ // (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)
53574 /* 152212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
53575 /* 152215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53576 /* 152217 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53577 /* 152219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53578 /* 152223 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53579 /* 152226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53580 /* 152231 */ GIR_RootConstrainSelectedInstOperands,
53581 /* 152232 */ // GIR_Coverage, 911,
53582 /* 152232 */ GIR_EraseRootFromParent_Done,
53583 /* 152233 */ // Label 4195: @152233
53584 /* 152233 */ GIM_Reject,
53585 /* 152234 */ // Label 4191: @152234
53586 /* 152234 */ GIM_Reject,
53587 /* 152235 */ // Label 4185: @152235
53588 /* 152235 */ GIM_Try, /*On fail goto*//*Label 4196*/ GIMT_Encode4(152355),
53589 /* 152240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53590 /* 152244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53591 /* 152248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4197*/ GIMT_Encode4(152301), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2226 //
53592 /* 152255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53593 /* 152259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53594 /* 152263 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53595 /* 152266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53596 /* 152270 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53597 /* 152274 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53598 /* 152276 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53599 /* 152283 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53600 /* 152283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
53601 /* 152286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53602 /* 152288 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53603 /* 152290 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53604 /* 152294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53605 /* 152299 */ GIR_RootConstrainSelectedInstOperands,
53606 /* 152300 */ // GIR_Coverage, 2226,
53607 /* 152300 */ GIR_EraseRootFromParent_Done,
53608 /* 152301 */ // Label 4197: @152301
53609 /* 152301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4198*/ GIMT_Encode4(152354), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2234 //
53610 /* 152308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53611 /* 152312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53612 /* 152316 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53613 /* 152319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53614 /* 152323 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53615 /* 152327 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53616 /* 152329 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53617 /* 152336 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53618 /* 152336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
53619 /* 152339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53620 /* 152341 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53621 /* 152343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53622 /* 152347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53623 /* 152352 */ GIR_RootConstrainSelectedInstOperands,
53624 /* 152353 */ // GIR_Coverage, 2234,
53625 /* 152353 */ GIR_EraseRootFromParent_Done,
53626 /* 152354 */ // Label 4198: @152354
53627 /* 152354 */ GIM_Reject,
53628 /* 152355 */ // Label 4196: @152355
53629 /* 152355 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4199*/ GIMT_Encode4(152416), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6051 //
53630 /* 152362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53631 /* 152366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53632 /* 152370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53633 /* 152374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53634 /* 152378 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53635 /* 152381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53636 /* 152385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53637 /* 152389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53638 /* 152391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53639 /* 152398 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53640 /* 152398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
53641 /* 152401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53642 /* 152403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53643 /* 152405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53644 /* 152409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53645 /* 152414 */ GIR_RootConstrainSelectedInstOperands,
53646 /* 152415 */ // GIR_Coverage, 6051,
53647 /* 152415 */ GIR_EraseRootFromParent_Done,
53648 /* 152416 */ // Label 4199: @152416
53649 /* 152416 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4200*/ GIMT_Encode4(152452), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 871 //
53650 /* 152423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53651 /* 152427 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53652 /* 152431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53653 /* 152435 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
53654 /* 152435 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
53655 /* 152440 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53656 /* 152446 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53657 /* 152450 */ GIR_RootConstrainSelectedInstOperands,
53658 /* 152451 */ // GIR_Coverage, 871,
53659 /* 152451 */ GIR_Done,
53660 /* 152452 */ // Label 4200: @152452
53661 /* 152452 */ GIM_Try, /*On fail goto*//*Label 4201*/ GIMT_Encode4(152506),
53662 /* 152457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53663 /* 152461 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53664 /* 152465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53665 /* 152469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4202*/ GIMT_Encode4(152487), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2224 //
53666 /* 152476 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53667 /* 152476 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
53668 /* 152481 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53669 /* 152485 */ GIR_RootConstrainSelectedInstOperands,
53670 /* 152486 */ // GIR_Coverage, 2224,
53671 /* 152486 */ GIR_Done,
53672 /* 152487 */ // Label 4202: @152487
53673 /* 152487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4203*/ GIMT_Encode4(152505), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2232 //
53674 /* 152494 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53675 /* 152494 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
53676 /* 152499 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53677 /* 152503 */ GIR_RootConstrainSelectedInstOperands,
53678 /* 152504 */ // GIR_Coverage, 2232,
53679 /* 152504 */ GIR_Done,
53680 /* 152505 */ // Label 4203: @152505
53681 /* 152505 */ GIM_Reject,
53682 /* 152506 */ // Label 4201: @152506
53683 /* 152506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4204*/ GIMT_Encode4(152536), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6049 //
53684 /* 152513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53685 /* 152517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53686 /* 152521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53687 /* 152525 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
53688 /* 152525 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
53689 /* 152530 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53690 /* 152534 */ GIR_RootConstrainSelectedInstOperands,
53691 /* 152535 */ // GIR_Coverage, 6049,
53692 /* 152535 */ GIR_Done,
53693 /* 152536 */ // Label 4204: @152536
53694 /* 152536 */ GIM_Reject,
53695 /* 152537 */ // Label 4180: @152537
53696 /* 152537 */ GIM_Reject,
53697 /* 152538 */ // Label 4143: @152538
53698 /* 152538 */ GIM_Try, /*On fail goto*//*Label 4205*/ GIMT_Encode4(153078),
53699 /* 152543 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
53700 /* 152546 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
53701 /* 152549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53702 /* 152553 */ GIM_Try, /*On fail goto*//*Label 4206*/ GIMT_Encode4(152801),
53703 /* 152558 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53704 /* 152562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4207*/ GIMT_Encode4(152618), GIMT_Encode2(GIFBS_HasX87), // Rule ID 949 //
53705 /* 152569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53706 /* 152573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53707 /* 152577 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53708 /* 152584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53709 /* 152588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53710 /* 152590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53711 /* 152597 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53712 /* 152597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
53713 /* 152600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53714 /* 152602 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53715 /* 152604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53716 /* 152608 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53717 /* 152611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53718 /* 152616 */ GIR_RootConstrainSelectedInstOperands,
53719 /* 152617 */ // GIR_Coverage, 949,
53720 /* 152617 */ GIR_EraseRootFromParent_Done,
53721 /* 152618 */ // Label 4207: @152618
53722 /* 152618 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4208*/ GIMT_Encode4(152674), GIMT_Encode2(GIFBS_HasX87), // Rule ID 951 //
53723 /* 152625 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53724 /* 152629 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53725 /* 152633 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53726 /* 152640 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53727 /* 152644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53728 /* 152646 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53729 /* 152653 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53730 /* 152653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
53731 /* 152656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53732 /* 152658 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53733 /* 152660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53734 /* 152664 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53735 /* 152667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53736 /* 152672 */ GIR_RootConstrainSelectedInstOperands,
53737 /* 152673 */ // GIR_Coverage, 951,
53738 /* 152673 */ GIR_EraseRootFromParent_Done,
53739 /* 152674 */ // Label 4208: @152674
53740 /* 152674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4209*/ GIMT_Encode4(152737), GIMT_Encode2(GIFBS_HasX87), // Rule ID 937 //
53741 /* 152681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53742 /* 152685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53743 /* 152689 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53744 /* 152692 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53745 /* 152696 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53746 /* 152703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53747 /* 152707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53748 /* 152709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53749 /* 152716 */ // (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)
53750 /* 152716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
53751 /* 152719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53752 /* 152721 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53753 /* 152723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53754 /* 152727 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53755 /* 152730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53756 /* 152735 */ GIR_RootConstrainSelectedInstOperands,
53757 /* 152736 */ // GIR_Coverage, 937,
53758 /* 152736 */ GIR_EraseRootFromParent_Done,
53759 /* 152737 */ // Label 4209: @152737
53760 /* 152737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4210*/ GIMT_Encode4(152800), GIMT_Encode2(GIFBS_HasX87), // Rule ID 939 //
53761 /* 152744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53762 /* 152748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53763 /* 152752 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53764 /* 152755 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53765 /* 152759 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53766 /* 152766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53767 /* 152770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53768 /* 152772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53769 /* 152779 */ // (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)
53770 /* 152779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
53771 /* 152782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53772 /* 152784 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53773 /* 152786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53774 /* 152790 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53775 /* 152793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53776 /* 152798 */ GIR_RootConstrainSelectedInstOperands,
53777 /* 152799 */ // GIR_Coverage, 939,
53778 /* 152799 */ GIR_EraseRootFromParent_Done,
53779 /* 152800 */ // Label 4210: @152800
53780 /* 152800 */ GIM_Reject,
53781 /* 152801 */ // Label 4206: @152801
53782 /* 152801 */ GIM_Try, /*On fail goto*//*Label 4211*/ GIMT_Encode4(153077),
53783 /* 152806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53784 /* 152810 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4212*/ GIMT_Encode4(152866), GIMT_Encode2(GIFBS_HasX87), // Rule ID 927 //
53785 /* 152817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53786 /* 152821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53787 /* 152825 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53788 /* 152832 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53789 /* 152836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53790 /* 152838 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53791 /* 152845 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53792 /* 152845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
53793 /* 152848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53794 /* 152850 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53795 /* 152852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53796 /* 152856 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53797 /* 152859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53798 /* 152864 */ GIR_RootConstrainSelectedInstOperands,
53799 /* 152865 */ // GIR_Coverage, 927,
53800 /* 152865 */ GIR_EraseRootFromParent_Done,
53801 /* 152866 */ // Label 4212: @152866
53802 /* 152866 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4213*/ GIMT_Encode4(152922), GIMT_Encode2(GIFBS_HasX87), // Rule ID 929 //
53803 /* 152873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53804 /* 152877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53805 /* 152881 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53806 /* 152888 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53807 /* 152892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53808 /* 152894 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53809 /* 152901 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53810 /* 152901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
53811 /* 152904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53812 /* 152906 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53813 /* 152908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53814 /* 152912 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53815 /* 152915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53816 /* 152920 */ GIR_RootConstrainSelectedInstOperands,
53817 /* 152921 */ // GIR_Coverage, 929,
53818 /* 152921 */ GIR_EraseRootFromParent_Done,
53819 /* 152922 */ // Label 4213: @152922
53820 /* 152922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4214*/ GIMT_Encode4(152985), GIMT_Encode2(GIFBS_HasX87), // Rule ID 915 //
53821 /* 152929 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53822 /* 152933 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53823 /* 152937 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53824 /* 152940 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53825 /* 152944 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53826 /* 152951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53827 /* 152955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53828 /* 152957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53829 /* 152964 */ // (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)
53830 /* 152964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
53831 /* 152967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53832 /* 152969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53833 /* 152971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53834 /* 152975 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53835 /* 152978 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53836 /* 152983 */ GIR_RootConstrainSelectedInstOperands,
53837 /* 152984 */ // GIR_Coverage, 915,
53838 /* 152984 */ GIR_EraseRootFromParent_Done,
53839 /* 152985 */ // Label 4214: @152985
53840 /* 152985 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4215*/ GIMT_Encode4(153048), GIMT_Encode2(GIFBS_HasX87), // Rule ID 917 //
53841 /* 152992 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53842 /* 152996 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53843 /* 153000 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53844 /* 153003 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53845 /* 153007 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53846 /* 153014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53847 /* 153018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53848 /* 153020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53849 /* 153027 */ // (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)
53850 /* 153027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
53851 /* 153030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53852 /* 153032 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53853 /* 153034 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53854 /* 153038 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53855 /* 153041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53856 /* 153046 */ GIR_RootConstrainSelectedInstOperands,
53857 /* 153047 */ // GIR_Coverage, 917,
53858 /* 153047 */ GIR_EraseRootFromParent_Done,
53859 /* 153048 */ // Label 4215: @153048
53860 /* 153048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4216*/ GIMT_Encode4(153076), GIMT_Encode2(GIFBS_HasX87), // Rule ID 873 //
53861 /* 153055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53862 /* 153059 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
53863 /* 153059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
53864 /* 153064 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53865 /* 153070 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53866 /* 153074 */ GIR_RootConstrainSelectedInstOperands,
53867 /* 153075 */ // GIR_Coverage, 873,
53868 /* 153075 */ GIR_Done,
53869 /* 153076 */ // Label 4216: @153076
53870 /* 153076 */ GIM_Reject,
53871 /* 153077 */ // Label 4211: @153077
53872 /* 153077 */ GIM_Reject,
53873 /* 153078 */ // Label 4205: @153078
53874 /* 153078 */ GIM_Reject,
53875 /* 153079 */ // Label 4144: @153079
53876 /* 153079 */ GIM_Try, /*On fail goto*//*Label 4217*/ GIMT_Encode4(153174),
53877 /* 153084 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
53878 /* 153087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
53879 /* 153090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53880 /* 153094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53881 /* 153098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4218*/ GIMT_Encode4(153151), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6580 //
53882 /* 153105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53883 /* 153109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53884 /* 153113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53885 /* 153116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53886 /* 153120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53887 /* 153124 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53888 /* 153126 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53889 /* 153133 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53890 /* 153133 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
53891 /* 153136 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53892 /* 153138 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53893 /* 153140 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53894 /* 153144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53895 /* 153149 */ GIR_RootConstrainSelectedInstOperands,
53896 /* 153150 */ // GIR_Coverage, 6580,
53897 /* 153150 */ GIR_EraseRootFromParent_Done,
53898 /* 153151 */ // Label 4218: @153151
53899 /* 153151 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4219*/ GIMT_Encode4(153173), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6576 //
53900 /* 153158 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53901 /* 153162 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
53902 /* 153162 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
53903 /* 153167 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53904 /* 153171 */ GIR_RootConstrainSelectedInstOperands,
53905 /* 153172 */ // GIR_Coverage, 6576,
53906 /* 153172 */ GIR_Done,
53907 /* 153173 */ // Label 4219: @153173
53908 /* 153173 */ GIM_Reject,
53909 /* 153174 */ // Label 4217: @153174
53910 /* 153174 */ GIM_Reject,
53911 /* 153175 */ // Label 4145: @153175
53912 /* 153175 */ GIM_Try, /*On fail goto*//*Label 4220*/ GIMT_Encode4(153270),
53913 /* 153180 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
53914 /* 153183 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
53915 /* 153186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53916 /* 153190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53917 /* 153194 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4221*/ GIMT_Encode4(153247), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6592 //
53918 /* 153201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53919 /* 153205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53920 /* 153209 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53921 /* 153212 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53922 /* 153216 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53923 /* 153220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53924 /* 153222 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53925 /* 153229 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53926 /* 153229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
53927 /* 153232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53928 /* 153234 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53929 /* 153236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53930 /* 153240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53931 /* 153245 */ GIR_RootConstrainSelectedInstOperands,
53932 /* 153246 */ // GIR_Coverage, 6592,
53933 /* 153246 */ GIR_EraseRootFromParent_Done,
53934 /* 153247 */ // Label 4221: @153247
53935 /* 153247 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4222*/ GIMT_Encode4(153269), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6588 //
53936 /* 153254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53937 /* 153258 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
53938 /* 153258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
53939 /* 153263 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53940 /* 153267 */ GIR_RootConstrainSelectedInstOperands,
53941 /* 153268 */ // GIR_Coverage, 6588,
53942 /* 153268 */ GIR_Done,
53943 /* 153269 */ // Label 4222: @153269
53944 /* 153269 */ GIM_Reject,
53945 /* 153270 */ // Label 4220: @153270
53946 /* 153270 */ GIM_Reject,
53947 /* 153271 */ // Label 4146: @153271
53948 /* 153271 */ GIM_Try, /*On fail goto*//*Label 4223*/ GIMT_Encode4(153366),
53949 /* 153276 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
53950 /* 153279 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
53951 /* 153282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53952 /* 153286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53953 /* 153290 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4224*/ GIMT_Encode4(153343), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6568 //
53954 /* 153297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53955 /* 153301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53956 /* 153305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53957 /* 153308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53958 /* 153312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53959 /* 153316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53960 /* 153318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53961 /* 153325 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53962 /* 153325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
53963 /* 153328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53964 /* 153330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53965 /* 153332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53966 /* 153336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53967 /* 153341 */ GIR_RootConstrainSelectedInstOperands,
53968 /* 153342 */ // GIR_Coverage, 6568,
53969 /* 153342 */ GIR_EraseRootFromParent_Done,
53970 /* 153343 */ // Label 4224: @153343
53971 /* 153343 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4225*/ GIMT_Encode4(153365), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6564 //
53972 /* 153350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53973 /* 153354 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
53974 /* 153354 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
53975 /* 153359 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53976 /* 153363 */ GIR_RootConstrainSelectedInstOperands,
53977 /* 153364 */ // GIR_Coverage, 6564,
53978 /* 153364 */ GIR_Done,
53979 /* 153365 */ // Label 4225: @153365
53980 /* 153365 */ GIM_Reject,
53981 /* 153366 */ // Label 4223: @153366
53982 /* 153366 */ GIM_Reject,
53983 /* 153367 */ // Label 4147: @153367
53984 /* 153367 */ GIM_Try, /*On fail goto*//*Label 4226*/ GIMT_Encode4(153585),
53985 /* 153372 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
53986 /* 153375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
53987 /* 153378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4227*/ GIMT_Encode4(153439), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2198 //
53988 /* 153385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53989 /* 153389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53990 /* 153393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53991 /* 153397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53992 /* 153401 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53993 /* 153404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53994 /* 153408 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53995 /* 153412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53996 /* 153414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53997 /* 153421 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53998 /* 153421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
53999 /* 153424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54000 /* 153426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54001 /* 153428 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54002 /* 153432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54003 /* 153437 */ GIR_RootConstrainSelectedInstOperands,
54004 /* 153438 */ // GIR_Coverage, 2198,
54005 /* 153438 */ GIR_EraseRootFromParent_Done,
54006 /* 153439 */ // Label 4227: @153439
54007 /* 153439 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4228*/ GIMT_Encode4(153500), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6520 //
54008 /* 153446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54009 /* 153450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54010 /* 153454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54011 /* 153458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54012 /* 153462 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54013 /* 153465 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54014 /* 153469 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54015 /* 153473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54016 /* 153475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54017 /* 153482 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54018 /* 153482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
54019 /* 153485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54020 /* 153487 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54021 /* 153489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54022 /* 153493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54023 /* 153498 */ GIR_RootConstrainSelectedInstOperands,
54024 /* 153499 */ // GIR_Coverage, 6520,
54025 /* 153499 */ GIR_EraseRootFromParent_Done,
54026 /* 153500 */ // Label 4228: @153500
54027 /* 153500 */ GIM_Try, /*On fail goto*//*Label 4229*/ GIMT_Encode4(153554),
54028 /* 153505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54029 /* 153509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54030 /* 153513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54031 /* 153517 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4230*/ GIMT_Encode4(153535), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2196 //
54032 /* 153524 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
54033 /* 153524 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
54034 /* 153529 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54035 /* 153533 */ GIR_RootConstrainSelectedInstOperands,
54036 /* 153534 */ // GIR_Coverage, 2196,
54037 /* 153534 */ GIR_Done,
54038 /* 153535 */ // Label 4230: @153535
54039 /* 153535 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4231*/ GIMT_Encode4(153553), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2212 //
54040 /* 153542 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
54041 /* 153542 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
54042 /* 153547 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54043 /* 153551 */ GIR_RootConstrainSelectedInstOperands,
54044 /* 153552 */ // GIR_Coverage, 2212,
54045 /* 153552 */ GIR_Done,
54046 /* 153553 */ // Label 4231: @153553
54047 /* 153553 */ GIM_Reject,
54048 /* 153554 */ // Label 4229: @153554
54049 /* 153554 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4232*/ GIMT_Encode4(153584), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6516 //
54050 /* 153561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54051 /* 153565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54052 /* 153569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54053 /* 153573 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
54054 /* 153573 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
54055 /* 153578 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54056 /* 153582 */ GIR_RootConstrainSelectedInstOperands,
54057 /* 153583 */ // GIR_Coverage, 6516,
54058 /* 153583 */ GIR_Done,
54059 /* 153584 */ // Label 4232: @153584
54060 /* 153584 */ GIM_Reject,
54061 /* 153585 */ // Label 4226: @153585
54062 /* 153585 */ GIM_Reject,
54063 /* 153586 */ // Label 4148: @153586
54064 /* 153586 */ GIM_Try, /*On fail goto*//*Label 4233*/ GIMT_Encode4(153780),
54065 /* 153591 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
54066 /* 153594 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
54067 /* 153597 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4234*/ GIMT_Encode4(153658), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2206 //
54068 /* 153604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54069 /* 153608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54070 /* 153612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54071 /* 153616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54072 /* 153620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54073 /* 153623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54074 /* 153627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54075 /* 153631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54076 /* 153633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54077 /* 153640 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54078 /* 153640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
54079 /* 153643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54080 /* 153645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54081 /* 153647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54082 /* 153651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54083 /* 153656 */ GIR_RootConstrainSelectedInstOperands,
54084 /* 153657 */ // GIR_Coverage, 2206,
54085 /* 153657 */ GIR_EraseRootFromParent_Done,
54086 /* 153658 */ // Label 4234: @153658
54087 /* 153658 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4235*/ GIMT_Encode4(153719), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6532 //
54088 /* 153665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54089 /* 153669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54090 /* 153673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54091 /* 153677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54092 /* 153681 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54093 /* 153684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54094 /* 153688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54095 /* 153692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54096 /* 153694 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54097 /* 153701 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54098 /* 153701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
54099 /* 153704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54100 /* 153706 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54101 /* 153708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54102 /* 153712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54103 /* 153717 */ GIR_RootConstrainSelectedInstOperands,
54104 /* 153718 */ // GIR_Coverage, 6532,
54105 /* 153718 */ GIR_EraseRootFromParent_Done,
54106 /* 153719 */ // Label 4235: @153719
54107 /* 153719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4236*/ GIMT_Encode4(153749), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2204 //
54108 /* 153726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54109 /* 153730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54110 /* 153734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54111 /* 153738 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
54112 /* 153738 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
54113 /* 153743 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54114 /* 153747 */ GIR_RootConstrainSelectedInstOperands,
54115 /* 153748 */ // GIR_Coverage, 2204,
54116 /* 153748 */ GIR_Done,
54117 /* 153749 */ // Label 4236: @153749
54118 /* 153749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4237*/ GIMT_Encode4(153779), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6528 //
54119 /* 153756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54120 /* 153760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54121 /* 153764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54122 /* 153768 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
54123 /* 153768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
54124 /* 153773 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54125 /* 153777 */ GIR_RootConstrainSelectedInstOperands,
54126 /* 153778 */ // GIR_Coverage, 6528,
54127 /* 153778 */ GIR_Done,
54128 /* 153779 */ // Label 4237: @153779
54129 /* 153779 */ GIM_Reject,
54130 /* 153780 */ // Label 4233: @153780
54131 /* 153780 */ GIM_Reject,
54132 /* 153781 */ // Label 4149: @153781
54133 /* 153781 */ GIM_Try, /*On fail goto*//*Label 4238*/ GIMT_Encode4(153876),
54134 /* 153786 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
54135 /* 153789 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
54136 /* 153792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54137 /* 153796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54138 /* 153800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4239*/ GIMT_Encode4(153853), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6496 //
54139 /* 153807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54140 /* 153811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54141 /* 153815 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54142 /* 153818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54143 /* 153822 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54144 /* 153826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54145 /* 153828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54146 /* 153835 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54147 /* 153835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
54148 /* 153838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54149 /* 153840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54150 /* 153842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54151 /* 153846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54152 /* 153851 */ GIR_RootConstrainSelectedInstOperands,
54153 /* 153852 */ // GIR_Coverage, 6496,
54154 /* 153852 */ GIR_EraseRootFromParent_Done,
54155 /* 153853 */ // Label 4239: @153853
54156 /* 153853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4240*/ GIMT_Encode4(153875), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6492 //
54157 /* 153860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54158 /* 153864 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
54159 /* 153864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
54160 /* 153869 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54161 /* 153873 */ GIR_RootConstrainSelectedInstOperands,
54162 /* 153874 */ // GIR_Coverage, 6492,
54163 /* 153874 */ GIR_Done,
54164 /* 153875 */ // Label 4240: @153875
54165 /* 153875 */ GIM_Reject,
54166 /* 153876 */ // Label 4238: @153876
54167 /* 153876 */ GIM_Reject,
54168 /* 153877 */ // Label 4150: @153877
54169 /* 153877 */ GIM_Try, /*On fail goto*//*Label 4241*/ GIMT_Encode4(154095),
54170 /* 153882 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
54171 /* 153885 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
54172 /* 153888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4242*/ GIMT_Encode4(153949), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2202 //
54173 /* 153895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54174 /* 153899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54175 /* 153903 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54176 /* 153907 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54177 /* 153911 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54178 /* 153914 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54179 /* 153918 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54180 /* 153922 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54181 /* 153924 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54182 /* 153931 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54183 /* 153931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
54184 /* 153934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54185 /* 153936 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54186 /* 153938 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54187 /* 153942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54188 /* 153947 */ GIR_RootConstrainSelectedInstOperands,
54189 /* 153948 */ // GIR_Coverage, 2202,
54190 /* 153948 */ GIR_EraseRootFromParent_Done,
54191 /* 153949 */ // Label 4242: @153949
54192 /* 153949 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4243*/ GIMT_Encode4(154010), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6544 //
54193 /* 153956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54194 /* 153960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54195 /* 153964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54196 /* 153968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54197 /* 153972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54198 /* 153975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54199 /* 153979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54200 /* 153983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54201 /* 153985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54202 /* 153992 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54203 /* 153992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
54204 /* 153995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54205 /* 153997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54206 /* 153999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54207 /* 154003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54208 /* 154008 */ GIR_RootConstrainSelectedInstOperands,
54209 /* 154009 */ // GIR_Coverage, 6544,
54210 /* 154009 */ GIR_EraseRootFromParent_Done,
54211 /* 154010 */ // Label 4243: @154010
54212 /* 154010 */ GIM_Try, /*On fail goto*//*Label 4244*/ GIMT_Encode4(154064),
54213 /* 154015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54214 /* 154019 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54215 /* 154023 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54216 /* 154027 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4245*/ GIMT_Encode4(154045), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2200 //
54217 /* 154034 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
54218 /* 154034 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
54219 /* 154039 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54220 /* 154043 */ GIR_RootConstrainSelectedInstOperands,
54221 /* 154044 */ // GIR_Coverage, 2200,
54222 /* 154044 */ GIR_Done,
54223 /* 154045 */ // Label 4245: @154045
54224 /* 154045 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4246*/ GIMT_Encode4(154063), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2216 //
54225 /* 154052 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
54226 /* 154052 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
54227 /* 154057 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54228 /* 154061 */ GIR_RootConstrainSelectedInstOperands,
54229 /* 154062 */ // GIR_Coverage, 2216,
54230 /* 154062 */ GIR_Done,
54231 /* 154063 */ // Label 4246: @154063
54232 /* 154063 */ GIM_Reject,
54233 /* 154064 */ // Label 4244: @154064
54234 /* 154064 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4247*/ GIMT_Encode4(154094), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6540 //
54235 /* 154071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54236 /* 154075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54237 /* 154079 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54238 /* 154083 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
54239 /* 154083 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
54240 /* 154088 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54241 /* 154092 */ GIR_RootConstrainSelectedInstOperands,
54242 /* 154093 */ // GIR_Coverage, 6540,
54243 /* 154093 */ GIR_Done,
54244 /* 154094 */ // Label 4247: @154094
54245 /* 154094 */ GIM_Reject,
54246 /* 154095 */ // Label 4241: @154095
54247 /* 154095 */ GIM_Reject,
54248 /* 154096 */ // Label 4151: @154096
54249 /* 154096 */ GIM_Try, /*On fail goto*//*Label 4248*/ GIMT_Encode4(154290),
54250 /* 154101 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
54251 /* 154104 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
54252 /* 154107 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4249*/ GIMT_Encode4(154168), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2210 //
54253 /* 154114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54254 /* 154118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54255 /* 154122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54256 /* 154126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54257 /* 154130 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54258 /* 154133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54259 /* 154137 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54260 /* 154141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54261 /* 154143 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54262 /* 154150 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54263 /* 154150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
54264 /* 154153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54265 /* 154155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54266 /* 154157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54267 /* 154161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54268 /* 154166 */ GIR_RootConstrainSelectedInstOperands,
54269 /* 154167 */ // GIR_Coverage, 2210,
54270 /* 154167 */ GIR_EraseRootFromParent_Done,
54271 /* 154168 */ // Label 4249: @154168
54272 /* 154168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4250*/ GIMT_Encode4(154229), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6556 //
54273 /* 154175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54274 /* 154179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54275 /* 154183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54276 /* 154187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54277 /* 154191 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54278 /* 154194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54279 /* 154198 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54280 /* 154202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54281 /* 154204 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54282 /* 154211 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54283 /* 154211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
54284 /* 154214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54285 /* 154216 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54286 /* 154218 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54287 /* 154222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54288 /* 154227 */ GIR_RootConstrainSelectedInstOperands,
54289 /* 154228 */ // GIR_Coverage, 6556,
54290 /* 154228 */ GIR_EraseRootFromParent_Done,
54291 /* 154229 */ // Label 4250: @154229
54292 /* 154229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4251*/ GIMT_Encode4(154259), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2208 //
54293 /* 154236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54294 /* 154240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54295 /* 154244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54296 /* 154248 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
54297 /* 154248 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
54298 /* 154253 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54299 /* 154257 */ GIR_RootConstrainSelectedInstOperands,
54300 /* 154258 */ // GIR_Coverage, 2208,
54301 /* 154258 */ GIR_Done,
54302 /* 154259 */ // Label 4251: @154259
54303 /* 154259 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4252*/ GIMT_Encode4(154289), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6552 //
54304 /* 154266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54305 /* 154270 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54306 /* 154274 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54307 /* 154278 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
54308 /* 154278 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
54309 /* 154283 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54310 /* 154287 */ GIR_RootConstrainSelectedInstOperands,
54311 /* 154288 */ // GIR_Coverage, 6552,
54312 /* 154288 */ GIR_Done,
54313 /* 154289 */ // Label 4252: @154289
54314 /* 154289 */ GIM_Reject,
54315 /* 154290 */ // Label 4248: @154290
54316 /* 154290 */ GIM_Reject,
54317 /* 154291 */ // Label 4152: @154291
54318 /* 154291 */ GIM_Try, /*On fail goto*//*Label 4253*/ GIMT_Encode4(154386),
54319 /* 154296 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
54320 /* 154299 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
54321 /* 154302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54322 /* 154306 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54323 /* 154310 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4254*/ GIMT_Encode4(154363), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6508 //
54324 /* 154317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54325 /* 154321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54326 /* 154325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54327 /* 154328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54328 /* 154332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54329 /* 154336 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54330 /* 154338 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54331 /* 154345 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54332 /* 154345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
54333 /* 154348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54334 /* 154350 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54335 /* 154352 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54336 /* 154356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54337 /* 154361 */ GIR_RootConstrainSelectedInstOperands,
54338 /* 154362 */ // GIR_Coverage, 6508,
54339 /* 154362 */ GIR_EraseRootFromParent_Done,
54340 /* 154363 */ // Label 4254: @154363
54341 /* 154363 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4255*/ GIMT_Encode4(154385), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6504 //
54342 /* 154370 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54343 /* 154374 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
54344 /* 154374 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
54345 /* 154379 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54346 /* 154383 */ GIR_RootConstrainSelectedInstOperands,
54347 /* 154384 */ // GIR_Coverage, 6504,
54348 /* 154384 */ GIR_Done,
54349 /* 154385 */ // Label 4255: @154385
54350 /* 154385 */ GIM_Reject,
54351 /* 154386 */ // Label 4253: @154386
54352 /* 154386 */ GIM_Reject,
54353 /* 154387 */ // Label 4153: @154387
54354 /* 154387 */ GIM_Reject,
54355 /* 154388 */ // Label 46: @154388
54356 /* 154388 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4269*/ GIMT_Encode4(160110),
54357 /* 154399 */ /*GILLT_s16*//*Label 4256*/ GIMT_Encode4(154491),
54358 /* 154403 */ /*GILLT_s32*//*Label 4257*/ GIMT_Encode4(154650),
54359 /* 154407 */ /*GILLT_s64*//*Label 4258*/ GIMT_Encode4(155991),
54360 /* 154411 */ /*GILLT_s80*//*Label 4259*/ GIMT_Encode4(157458), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
54361 /* 154455 */ /*GILLT_v8s16*//*Label 4260*/ GIMT_Encode4(157999),
54362 /* 154459 */ /*GILLT_v16s16*//*Label 4261*/ GIMT_Encode4(158158),
54363 /* 154463 */ /*GILLT_v32s16*//*Label 4262*/ GIMT_Encode4(158317),
54364 /* 154467 */ /*GILLT_v4s32*//*Label 4263*/ GIMT_Encode4(158476),
54365 /* 154471 */ /*GILLT_v8s32*//*Label 4264*/ GIMT_Encode4(158817),
54366 /* 154475 */ /*GILLT_v16s32*//*Label 4265*/ GIMT_Encode4(159134),
54367 /* 154479 */ /*GILLT_v2s64*//*Label 4266*/ GIMT_Encode4(159293),
54368 /* 154483 */ /*GILLT_v4s64*//*Label 4267*/ GIMT_Encode4(159634),
54369 /* 154487 */ /*GILLT_v8s64*//*Label 4268*/ GIMT_Encode4(159951),
54370 /* 154491 */ // Label 4256: @154491
54371 /* 154491 */ GIM_Try, /*On fail goto*//*Label 4270*/ GIMT_Encode4(154649),
54372 /* 154496 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
54373 /* 154499 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
54374 /* 154502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54375 /* 154506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4271*/ GIMT_Encode4(154563), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24512 //
54376 /* 154513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54377 /* 154517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54378 /* 154521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54379 /* 154524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54380 /* 154528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54381 /* 154532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54382 /* 154536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54383 /* 154538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54384 /* 154545 */ // (fmul:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54385 /* 154545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
54386 /* 154548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54387 /* 154550 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54388 /* 154552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54389 /* 154556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54390 /* 154561 */ GIR_RootConstrainSelectedInstOperands,
54391 /* 154562 */ // GIR_Coverage, 24512,
54392 /* 154562 */ GIR_EraseRootFromParent_Done,
54393 /* 154563 */ // Label 4271: @154563
54394 /* 154563 */ GIM_Try, /*On fail goto*//*Label 4272*/ GIMT_Encode4(154648),
54395 /* 154568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54396 /* 154572 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4273*/ GIMT_Encode4(154625), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6013 //
54397 /* 154579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54398 /* 154583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54399 /* 154587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54400 /* 154590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54401 /* 154594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54402 /* 154598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54403 /* 154600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54404 /* 154607 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54405 /* 154607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
54406 /* 154610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54407 /* 154612 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54408 /* 154614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54409 /* 154618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54410 /* 154623 */ GIR_RootConstrainSelectedInstOperands,
54411 /* 154624 */ // GIR_Coverage, 6013,
54412 /* 154624 */ GIR_EraseRootFromParent_Done,
54413 /* 154625 */ // Label 4273: @154625
54414 /* 154625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4274*/ GIMT_Encode4(154647), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6011 //
54415 /* 154632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54416 /* 154636 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
54417 /* 154636 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
54418 /* 154641 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54419 /* 154645 */ GIR_RootConstrainSelectedInstOperands,
54420 /* 154646 */ // GIR_Coverage, 6011,
54421 /* 154646 */ GIR_Done,
54422 /* 154647 */ // Label 4274: @154647
54423 /* 154647 */ GIM_Reject,
54424 /* 154648 */ // Label 4272: @154648
54425 /* 154648 */ GIM_Reject,
54426 /* 154649 */ // Label 4270: @154649
54427 /* 154649 */ GIM_Reject,
54428 /* 154650 */ // Label 4257: @154650
54429 /* 154650 */ GIM_Try, /*On fail goto*//*Label 4275*/ GIMT_Encode4(155990),
54430 /* 154655 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
54431 /* 154658 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
54432 /* 154661 */ GIM_Try, /*On fail goto*//*Label 4276*/ GIMT_Encode4(154821),
54433 /* 154666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54434 /* 154670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54435 /* 154674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4277*/ GIMT_Encode4(154747), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 26284 //
54436 /* 154681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54437 /* 154685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54438 /* 154689 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54439 /* 154693 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54440 /* 154697 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54441 /* 154701 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54442 /* 154704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54443 /* 154708 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54444 /* 154715 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54445 /* 154719 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54446 /* 154721 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54447 /* 154728 */ // (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)
54448 /* 154728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
54449 /* 154731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54450 /* 154733 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54451 /* 154735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54452 /* 154739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54453 /* 154745 */ GIR_RootConstrainSelectedInstOperands,
54454 /* 154746 */ // GIR_Coverage, 26284,
54455 /* 154746 */ GIR_EraseRootFromParent_Done,
54456 /* 154747 */ // Label 4277: @154747
54457 /* 154747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4278*/ GIMT_Encode4(154820), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 26285 //
54458 /* 154754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54459 /* 154758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54460 /* 154762 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54461 /* 154766 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54462 /* 154770 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54463 /* 154774 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54464 /* 154777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54465 /* 154781 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54466 /* 154788 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54467 /* 154792 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54468 /* 154794 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54469 /* 154801 */ // (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)
54470 /* 154801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
54471 /* 154804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54472 /* 154806 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54473 /* 154808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54474 /* 154812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54475 /* 154818 */ GIR_RootConstrainSelectedInstOperands,
54476 /* 154819 */ // GIR_Coverage, 26285,
54477 /* 154819 */ GIR_EraseRootFromParent_Done,
54478 /* 154820 */ // Label 4278: @154820
54479 /* 154820 */ GIM_Reject,
54480 /* 154821 */ // Label 4276: @154821
54481 /* 154821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4279*/ GIMT_Encode4(154902), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 26286 //
54482 /* 154828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54483 /* 154832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54484 /* 154836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54485 /* 154840 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54486 /* 154844 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54487 /* 154848 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54488 /* 154852 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54489 /* 154855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54490 /* 154859 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54491 /* 154866 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54492 /* 154870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54493 /* 154874 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54494 /* 154876 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54495 /* 154883 */ // (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)
54496 /* 154883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
54497 /* 154886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54498 /* 154888 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54499 /* 154890 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54500 /* 154894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54501 /* 154900 */ GIR_RootConstrainSelectedInstOperands,
54502 /* 154901 */ // GIR_Coverage, 26286,
54503 /* 154901 */ GIR_EraseRootFromParent_Done,
54504 /* 154902 */ // Label 4279: @154902
54505 /* 154902 */ GIM_Try, /*On fail goto*//*Label 4280*/ GIMT_Encode4(155062),
54506 /* 154907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54507 /* 154911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54508 /* 154915 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4281*/ GIMT_Encode4(154988), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22683 //
54509 /* 154922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54510 /* 154926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54511 /* 154930 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54512 /* 154934 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54513 /* 154938 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54514 /* 154942 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54515 /* 154945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54516 /* 154949 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54517 /* 154956 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54518 /* 154960 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54519 /* 154962 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54520 /* 154969 */ // (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)
54521 /* 154969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
54522 /* 154972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54523 /* 154974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54524 /* 154976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54525 /* 154980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54526 /* 154986 */ GIR_RootConstrainSelectedInstOperands,
54527 /* 154987 */ // GIR_Coverage, 22683,
54528 /* 154987 */ GIR_EraseRootFromParent_Done,
54529 /* 154988 */ // Label 4281: @154988
54530 /* 154988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4282*/ GIMT_Encode4(155061), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22684 //
54531 /* 154995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54532 /* 154999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54533 /* 155003 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54534 /* 155007 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54535 /* 155011 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54536 /* 155015 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54537 /* 155018 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54538 /* 155022 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54539 /* 155029 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54540 /* 155033 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54541 /* 155035 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54542 /* 155042 */ // (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)
54543 /* 155042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
54544 /* 155045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54545 /* 155047 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54546 /* 155049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54547 /* 155053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54548 /* 155059 */ GIR_RootConstrainSelectedInstOperands,
54549 /* 155060 */ // GIR_Coverage, 22684,
54550 /* 155060 */ GIR_EraseRootFromParent_Done,
54551 /* 155061 */ // Label 4282: @155061
54552 /* 155061 */ GIM_Reject,
54553 /* 155062 */ // Label 4280: @155062
54554 /* 155062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4283*/ GIMT_Encode4(155143), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22685 //
54555 /* 155069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54556 /* 155073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54557 /* 155077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54558 /* 155081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54559 /* 155085 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54560 /* 155089 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54561 /* 155093 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54562 /* 155097 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54563 /* 155100 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54564 /* 155104 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54565 /* 155111 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54566 /* 155115 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54567 /* 155117 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54568 /* 155124 */ // (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)
54569 /* 155124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
54570 /* 155127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54571 /* 155129 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54572 /* 155131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54573 /* 155135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54574 /* 155141 */ GIR_RootConstrainSelectedInstOperands,
54575 /* 155142 */ // GIR_Coverage, 22685,
54576 /* 155142 */ GIR_EraseRootFromParent_Done,
54577 /* 155143 */ // Label 4283: @155143
54578 /* 155143 */ GIM_Try, /*On fail goto*//*Label 4284*/ GIMT_Encode4(155325),
54579 /* 155148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54580 /* 155152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54581 /* 155156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4285*/ GIMT_Encode4(155212), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23525 //
54582 /* 155163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54583 /* 155167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54584 /* 155171 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54585 /* 155178 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54586 /* 155182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54587 /* 155184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54588 /* 155191 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54589 /* 155191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
54590 /* 155194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54591 /* 155196 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54592 /* 155198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54593 /* 155202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54594 /* 155205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54595 /* 155210 */ GIR_RootConstrainSelectedInstOperands,
54596 /* 155211 */ // GIR_Coverage, 23525,
54597 /* 155211 */ GIR_EraseRootFromParent_Done,
54598 /* 155212 */ // Label 4285: @155212
54599 /* 155212 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4286*/ GIMT_Encode4(155268), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23527 //
54600 /* 155219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54601 /* 155223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54602 /* 155227 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54603 /* 155234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54604 /* 155238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54605 /* 155240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54606 /* 155247 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54607 /* 155247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
54608 /* 155250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54609 /* 155252 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54610 /* 155254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54611 /* 155258 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54612 /* 155261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54613 /* 155266 */ GIR_RootConstrainSelectedInstOperands,
54614 /* 155267 */ // GIR_Coverage, 23527,
54615 /* 155267 */ GIR_EraseRootFromParent_Done,
54616 /* 155268 */ // Label 4286: @155268
54617 /* 155268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4287*/ GIMT_Encode4(155324), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23515 //
54618 /* 155275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54619 /* 155279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54620 /* 155283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54621 /* 155286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54622 /* 155290 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54623 /* 155294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54624 /* 155296 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54625 /* 155303 */ // (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)
54626 /* 155303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
54627 /* 155306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54628 /* 155308 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54629 /* 155310 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54630 /* 155314 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54631 /* 155317 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54632 /* 155322 */ GIR_RootConstrainSelectedInstOperands,
54633 /* 155323 */ // GIR_Coverage, 23515,
54634 /* 155323 */ GIR_EraseRootFromParent_Done,
54635 /* 155324 */ // Label 4287: @155324
54636 /* 155324 */ GIM_Reject,
54637 /* 155325 */ // Label 4284: @155325
54638 /* 155325 */ GIM_Try, /*On fail goto*//*Label 4288*/ GIMT_Encode4(155445),
54639 /* 155330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54640 /* 155334 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54641 /* 155338 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4289*/ GIMT_Encode4(155391), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23658 //
54642 /* 155345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54643 /* 155349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54644 /* 155353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54645 /* 155356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54646 /* 155360 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54647 /* 155364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54648 /* 155366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54649 /* 155373 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54650 /* 155373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
54651 /* 155376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54652 /* 155378 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54653 /* 155380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54654 /* 155384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54655 /* 155389 */ GIR_RootConstrainSelectedInstOperands,
54656 /* 155390 */ // GIR_Coverage, 23658,
54657 /* 155390 */ GIR_EraseRootFromParent_Done,
54658 /* 155391 */ // Label 4289: @155391
54659 /* 155391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4290*/ GIMT_Encode4(155444), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 23662 //
54660 /* 155398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54661 /* 155402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54662 /* 155406 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54663 /* 155409 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54664 /* 155413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54665 /* 155417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54666 /* 155419 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54667 /* 155426 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54668 /* 155426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
54669 /* 155429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54670 /* 155431 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54671 /* 155433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54672 /* 155437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54673 /* 155442 */ GIR_RootConstrainSelectedInstOperands,
54674 /* 155443 */ // GIR_Coverage, 23662,
54675 /* 155443 */ GIR_EraseRootFromParent_Done,
54676 /* 155444 */ // Label 4290: @155444
54677 /* 155444 */ GIM_Reject,
54678 /* 155445 */ // Label 4288: @155445
54679 /* 155445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4291*/ GIMT_Encode4(155506), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24508 //
54680 /* 155452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54681 /* 155456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54682 /* 155460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54683 /* 155464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54684 /* 155467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54685 /* 155471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54686 /* 155475 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54687 /* 155479 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54688 /* 155481 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54689 /* 155488 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54690 /* 155488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
54691 /* 155491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54692 /* 155493 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54693 /* 155495 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54694 /* 155499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54695 /* 155504 */ GIR_RootConstrainSelectedInstOperands,
54696 /* 155505 */ // GIR_Coverage, 24508,
54697 /* 155505 */ GIR_EraseRootFromParent_Done,
54698 /* 155506 */ // Label 4291: @155506
54699 /* 155506 */ GIM_Try, /*On fail goto*//*Label 4292*/ GIMT_Encode4(155688),
54700 /* 155511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54701 /* 155515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54702 /* 155519 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4293*/ GIMT_Encode4(155575), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 963 //
54703 /* 155526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54704 /* 155530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54705 /* 155534 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54706 /* 155541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54707 /* 155545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54708 /* 155547 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54709 /* 155554 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54710 /* 155554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
54711 /* 155557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54712 /* 155559 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54713 /* 155561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54714 /* 155565 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54715 /* 155568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54716 /* 155573 */ GIR_RootConstrainSelectedInstOperands,
54717 /* 155574 */ // GIR_Coverage, 963,
54718 /* 155574 */ GIR_EraseRootFromParent_Done,
54719 /* 155575 */ // Label 4293: @155575
54720 /* 155575 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4294*/ GIMT_Encode4(155631), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 965 //
54721 /* 155582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54722 /* 155586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54723 /* 155590 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54724 /* 155597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54725 /* 155601 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54726 /* 155603 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54727 /* 155610 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54728 /* 155610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
54729 /* 155613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54730 /* 155615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54731 /* 155617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54732 /* 155621 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54733 /* 155624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54734 /* 155629 */ GIR_RootConstrainSelectedInstOperands,
54735 /* 155630 */ // GIR_Coverage, 965,
54736 /* 155630 */ GIR_EraseRootFromParent_Done,
54737 /* 155631 */ // Label 4294: @155631
54738 /* 155631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4295*/ GIMT_Encode4(155687), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 953 //
54739 /* 155638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54740 /* 155642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54741 /* 155646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54742 /* 155649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54743 /* 155653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54744 /* 155657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54745 /* 155659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54746 /* 155666 */ // (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)
54747 /* 155666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
54748 /* 155669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54749 /* 155671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54750 /* 155673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54751 /* 155677 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54752 /* 155680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54753 /* 155685 */ GIR_RootConstrainSelectedInstOperands,
54754 /* 155686 */ // GIR_Coverage, 953,
54755 /* 155686 */ GIR_EraseRootFromParent_Done,
54756 /* 155687 */ // Label 4295: @155687
54757 /* 155687 */ GIM_Reject,
54758 /* 155688 */ // Label 4292: @155688
54759 /* 155688 */ GIM_Try, /*On fail goto*//*Label 4296*/ GIMT_Encode4(155808),
54760 /* 155693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54761 /* 155697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54762 /* 155701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4297*/ GIMT_Encode4(155754), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2182 //
54763 /* 155708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54764 /* 155712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54765 /* 155716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54766 /* 155719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54767 /* 155723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54768 /* 155727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54769 /* 155729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54770 /* 155736 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54771 /* 155736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
54772 /* 155739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54773 /* 155741 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54774 /* 155743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54775 /* 155747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54776 /* 155752 */ GIR_RootConstrainSelectedInstOperands,
54777 /* 155753 */ // GIR_Coverage, 2182,
54778 /* 155753 */ GIR_EraseRootFromParent_Done,
54779 /* 155754 */ // Label 4297: @155754
54780 /* 155754 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4298*/ GIMT_Encode4(155807), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2190 //
54781 /* 155761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54782 /* 155765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54783 /* 155769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54784 /* 155772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54785 /* 155776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54786 /* 155780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54787 /* 155782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54788 /* 155789 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54789 /* 155789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
54790 /* 155792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54791 /* 155794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54792 /* 155796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54793 /* 155800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54794 /* 155805 */ GIR_RootConstrainSelectedInstOperands,
54795 /* 155806 */ // GIR_Coverage, 2190,
54796 /* 155806 */ GIR_EraseRootFromParent_Done,
54797 /* 155807 */ // Label 4298: @155807
54798 /* 155807 */ GIM_Reject,
54799 /* 155808 */ // Label 4296: @155808
54800 /* 155808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4299*/ GIMT_Encode4(155869), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5975 //
54801 /* 155815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54802 /* 155819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54803 /* 155823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54804 /* 155827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54805 /* 155831 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54806 /* 155834 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54807 /* 155838 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54808 /* 155842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54809 /* 155844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54810 /* 155851 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54811 /* 155851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
54812 /* 155854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54813 /* 155856 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54814 /* 155858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54815 /* 155862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54816 /* 155867 */ GIR_RootConstrainSelectedInstOperands,
54817 /* 155868 */ // GIR_Coverage, 5975,
54818 /* 155868 */ GIR_EraseRootFromParent_Done,
54819 /* 155869 */ // Label 4299: @155869
54820 /* 155869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4300*/ GIMT_Encode4(155905), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 875 //
54821 /* 155876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54822 /* 155880 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54823 /* 155884 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54824 /* 155888 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
54825 /* 155888 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
54826 /* 155893 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
54827 /* 155899 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54828 /* 155903 */ GIR_RootConstrainSelectedInstOperands,
54829 /* 155904 */ // GIR_Coverage, 875,
54830 /* 155904 */ GIR_Done,
54831 /* 155905 */ // Label 4300: @155905
54832 /* 155905 */ GIM_Try, /*On fail goto*//*Label 4301*/ GIMT_Encode4(155959),
54833 /* 155910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54834 /* 155914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54835 /* 155918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54836 /* 155922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4302*/ GIMT_Encode4(155940), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2180 //
54837 /* 155929 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54838 /* 155929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
54839 /* 155934 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54840 /* 155938 */ GIR_RootConstrainSelectedInstOperands,
54841 /* 155939 */ // GIR_Coverage, 2180,
54842 /* 155939 */ GIR_Done,
54843 /* 155940 */ // Label 4302: @155940
54844 /* 155940 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4303*/ GIMT_Encode4(155958), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2188 //
54845 /* 155947 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54846 /* 155947 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
54847 /* 155952 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54848 /* 155956 */ GIR_RootConstrainSelectedInstOperands,
54849 /* 155957 */ // GIR_Coverage, 2188,
54850 /* 155957 */ GIR_Done,
54851 /* 155958 */ // Label 4303: @155958
54852 /* 155958 */ GIM_Reject,
54853 /* 155959 */ // Label 4301: @155959
54854 /* 155959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4304*/ GIMT_Encode4(155989), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5973 //
54855 /* 155966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54856 /* 155970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54857 /* 155974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54858 /* 155978 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
54859 /* 155978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
54860 /* 155983 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54861 /* 155987 */ GIR_RootConstrainSelectedInstOperands,
54862 /* 155988 */ // GIR_Coverage, 5973,
54863 /* 155988 */ GIR_Done,
54864 /* 155989 */ // Label 4304: @155989
54865 /* 155989 */ GIM_Reject,
54866 /* 155990 */ // Label 4275: @155990
54867 /* 155990 */ GIM_Reject,
54868 /* 155991 */ // Label 4258: @155991
54869 /* 155991 */ GIM_Try, /*On fail goto*//*Label 4305*/ GIMT_Encode4(157457),
54870 /* 155996 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
54871 /* 155999 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
54872 /* 156002 */ GIM_Try, /*On fail goto*//*Label 4306*/ GIMT_Encode4(156162),
54873 /* 156007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54874 /* 156011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54875 /* 156015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4307*/ GIMT_Encode4(156088), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 26287 //
54876 /* 156022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54877 /* 156026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54878 /* 156030 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54879 /* 156034 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54880 /* 156038 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54881 /* 156042 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54882 /* 156045 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54883 /* 156049 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54884 /* 156056 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54885 /* 156060 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54886 /* 156062 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54887 /* 156069 */ // (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)
54888 /* 156069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
54889 /* 156072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54890 /* 156074 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54891 /* 156076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54892 /* 156080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54893 /* 156086 */ GIR_RootConstrainSelectedInstOperands,
54894 /* 156087 */ // GIR_Coverage, 26287,
54895 /* 156087 */ GIR_EraseRootFromParent_Done,
54896 /* 156088 */ // Label 4307: @156088
54897 /* 156088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4308*/ GIMT_Encode4(156161), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 26288 //
54898 /* 156095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54899 /* 156099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54900 /* 156103 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54901 /* 156107 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54902 /* 156111 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54903 /* 156115 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54904 /* 156118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54905 /* 156122 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54906 /* 156129 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54907 /* 156133 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54908 /* 156135 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54909 /* 156142 */ // (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)
54910 /* 156142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
54911 /* 156145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54912 /* 156147 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54913 /* 156149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54914 /* 156153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54915 /* 156159 */ GIR_RootConstrainSelectedInstOperands,
54916 /* 156160 */ // GIR_Coverage, 26288,
54917 /* 156160 */ GIR_EraseRootFromParent_Done,
54918 /* 156161 */ // Label 4308: @156161
54919 /* 156161 */ GIM_Reject,
54920 /* 156162 */ // Label 4306: @156162
54921 /* 156162 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4309*/ GIMT_Encode4(156243), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 26289 //
54922 /* 156169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54923 /* 156173 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54924 /* 156177 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54925 /* 156181 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54926 /* 156185 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54927 /* 156189 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54928 /* 156193 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54929 /* 156196 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54930 /* 156200 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54931 /* 156207 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54932 /* 156211 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54933 /* 156215 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54934 /* 156217 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54935 /* 156224 */ // (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)
54936 /* 156224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
54937 /* 156227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54938 /* 156229 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54939 /* 156231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54940 /* 156235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54941 /* 156241 */ GIR_RootConstrainSelectedInstOperands,
54942 /* 156242 */ // GIR_Coverage, 26289,
54943 /* 156242 */ GIR_EraseRootFromParent_Done,
54944 /* 156243 */ // Label 4309: @156243
54945 /* 156243 */ GIM_Try, /*On fail goto*//*Label 4310*/ GIMT_Encode4(156403),
54946 /* 156248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54947 /* 156252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54948 /* 156256 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4311*/ GIMT_Encode4(156329), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22686 //
54949 /* 156263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54950 /* 156267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54951 /* 156271 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54952 /* 156275 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54953 /* 156279 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54954 /* 156283 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54955 /* 156286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54956 /* 156290 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54957 /* 156297 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54958 /* 156301 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54959 /* 156303 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54960 /* 156310 */ // (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)
54961 /* 156310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
54962 /* 156313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54963 /* 156315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54964 /* 156317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54965 /* 156321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54966 /* 156327 */ GIR_RootConstrainSelectedInstOperands,
54967 /* 156328 */ // GIR_Coverage, 22686,
54968 /* 156328 */ GIR_EraseRootFromParent_Done,
54969 /* 156329 */ // Label 4311: @156329
54970 /* 156329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4312*/ GIMT_Encode4(156402), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22687 //
54971 /* 156336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54972 /* 156340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54973 /* 156344 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54974 /* 156348 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54975 /* 156352 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54976 /* 156356 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54977 /* 156359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54978 /* 156363 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54979 /* 156370 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54980 /* 156374 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54981 /* 156376 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54982 /* 156383 */ // (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)
54983 /* 156383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
54984 /* 156386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54985 /* 156388 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54986 /* 156390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54987 /* 156394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54988 /* 156400 */ GIR_RootConstrainSelectedInstOperands,
54989 /* 156401 */ // GIR_Coverage, 22687,
54990 /* 156401 */ GIR_EraseRootFromParent_Done,
54991 /* 156402 */ // Label 4312: @156402
54992 /* 156402 */ GIM_Reject,
54993 /* 156403 */ // Label 4310: @156403
54994 /* 156403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4313*/ GIMT_Encode4(156484), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22688 //
54995 /* 156410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54996 /* 156414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54997 /* 156418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54998 /* 156422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54999 /* 156426 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
55000 /* 156430 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55001 /* 156434 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55002 /* 156438 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55003 /* 156441 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55004 /* 156445 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55005 /* 156452 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55006 /* 156456 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55007 /* 156458 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55008 /* 156465 */ // (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)
55009 /* 156465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
55010 /* 156468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55011 /* 156470 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55012 /* 156472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55013 /* 156476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55014 /* 156482 */ GIR_RootConstrainSelectedInstOperands,
55015 /* 156483 */ // GIR_Coverage, 22688,
55016 /* 156483 */ GIR_EraseRootFromParent_Done,
55017 /* 156484 */ // Label 4313: @156484
55018 /* 156484 */ GIM_Try, /*On fail goto*//*Label 4314*/ GIMT_Encode4(156729),
55019 /* 156489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55020 /* 156493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55021 /* 156497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4315*/ GIMT_Encode4(156553), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23529 //
55022 /* 156504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55023 /* 156508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55024 /* 156512 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55025 /* 156519 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55026 /* 156523 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55027 /* 156525 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55028 /* 156532 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55029 /* 156532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
55030 /* 156535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55031 /* 156537 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55032 /* 156539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55033 /* 156543 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55034 /* 156546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55035 /* 156551 */ GIR_RootConstrainSelectedInstOperands,
55036 /* 156552 */ // GIR_Coverage, 23529,
55037 /* 156552 */ GIR_EraseRootFromParent_Done,
55038 /* 156553 */ // Label 4315: @156553
55039 /* 156553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4316*/ GIMT_Encode4(156609), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23531 //
55040 /* 156560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55041 /* 156564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55042 /* 156568 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55043 /* 156575 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55044 /* 156579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55045 /* 156581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55046 /* 156588 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55047 /* 156588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
55048 /* 156591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55049 /* 156593 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55050 /* 156595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55051 /* 156599 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55052 /* 156602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55053 /* 156607 */ GIR_RootConstrainSelectedInstOperands,
55054 /* 156608 */ // GIR_Coverage, 23531,
55055 /* 156608 */ GIR_EraseRootFromParent_Done,
55056 /* 156609 */ // Label 4316: @156609
55057 /* 156609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4317*/ GIMT_Encode4(156672), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23519 //
55058 /* 156616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55059 /* 156620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55060 /* 156624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55061 /* 156627 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55062 /* 156631 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55063 /* 156638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55064 /* 156642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55065 /* 156644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55066 /* 156651 */ // (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)
55067 /* 156651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
55068 /* 156654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55069 /* 156656 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55070 /* 156658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55071 /* 156662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55072 /* 156665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55073 /* 156670 */ GIR_RootConstrainSelectedInstOperands,
55074 /* 156671 */ // GIR_Coverage, 23519,
55075 /* 156671 */ GIR_EraseRootFromParent_Done,
55076 /* 156672 */ // Label 4317: @156672
55077 /* 156672 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4318*/ GIMT_Encode4(156728), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23517 //
55078 /* 156679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55079 /* 156683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55080 /* 156687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55081 /* 156690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55082 /* 156694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55083 /* 156698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55084 /* 156700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55085 /* 156707 */ // (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)
55086 /* 156707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
55087 /* 156710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55088 /* 156712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55089 /* 156714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55090 /* 156718 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55091 /* 156721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55092 /* 156726 */ GIR_RootConstrainSelectedInstOperands,
55093 /* 156727 */ // GIR_Coverage, 23517,
55094 /* 156727 */ GIR_EraseRootFromParent_Done,
55095 /* 156728 */ // Label 4318: @156728
55096 /* 156728 */ GIM_Reject,
55097 /* 156729 */ // Label 4314: @156729
55098 /* 156729 */ GIM_Try, /*On fail goto*//*Label 4319*/ GIMT_Encode4(156849),
55099 /* 156734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55100 /* 156738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55101 /* 156742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4320*/ GIMT_Encode4(156795), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23660 //
55102 /* 156749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55103 /* 156753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55104 /* 156757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55105 /* 156760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55106 /* 156764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55107 /* 156768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55108 /* 156770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55109 /* 156777 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55110 /* 156777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
55111 /* 156780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55112 /* 156782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55113 /* 156784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55114 /* 156788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55115 /* 156793 */ GIR_RootConstrainSelectedInstOperands,
55116 /* 156794 */ // GIR_Coverage, 23660,
55117 /* 156794 */ GIR_EraseRootFromParent_Done,
55118 /* 156795 */ // Label 4320: @156795
55119 /* 156795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4321*/ GIMT_Encode4(156848), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 23664 //
55120 /* 156802 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55121 /* 156806 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55122 /* 156810 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55123 /* 156813 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55124 /* 156817 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55125 /* 156821 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55126 /* 156823 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55127 /* 156830 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55128 /* 156830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
55129 /* 156833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55130 /* 156835 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55131 /* 156837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55132 /* 156841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55133 /* 156846 */ GIR_RootConstrainSelectedInstOperands,
55134 /* 156847 */ // GIR_Coverage, 23664,
55135 /* 156847 */ GIR_EraseRootFromParent_Done,
55136 /* 156848 */ // Label 4321: @156848
55137 /* 156848 */ GIM_Reject,
55138 /* 156849 */ // Label 4319: @156849
55139 /* 156849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4322*/ GIMT_Encode4(156910), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24510 //
55140 /* 156856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55141 /* 156860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55142 /* 156864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55143 /* 156868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55144 /* 156871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55145 /* 156875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55146 /* 156879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55147 /* 156883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55148 /* 156885 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55149 /* 156892 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55150 /* 156892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
55151 /* 156895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55152 /* 156897 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55153 /* 156899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55154 /* 156903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55155 /* 156908 */ GIR_RootConstrainSelectedInstOperands,
55156 /* 156909 */ // GIR_Coverage, 24510,
55157 /* 156909 */ GIR_EraseRootFromParent_Done,
55158 /* 156910 */ // Label 4322: @156910
55159 /* 156910 */ GIM_Try, /*On fail goto*//*Label 4323*/ GIMT_Encode4(157155),
55160 /* 156915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55161 /* 156919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55162 /* 156923 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4324*/ GIMT_Encode4(156979), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 967 //
55163 /* 156930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55164 /* 156934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55165 /* 156938 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55166 /* 156945 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55167 /* 156949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55168 /* 156951 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55169 /* 156958 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55170 /* 156958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
55171 /* 156961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55172 /* 156963 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55173 /* 156965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55174 /* 156969 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55175 /* 156972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55176 /* 156977 */ GIR_RootConstrainSelectedInstOperands,
55177 /* 156978 */ // GIR_Coverage, 967,
55178 /* 156978 */ GIR_EraseRootFromParent_Done,
55179 /* 156979 */ // Label 4324: @156979
55180 /* 156979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4325*/ GIMT_Encode4(157035), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 969 //
55181 /* 156986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55182 /* 156990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55183 /* 156994 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55184 /* 157001 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55185 /* 157005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55186 /* 157007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55187 /* 157014 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55188 /* 157014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
55189 /* 157017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55190 /* 157019 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55191 /* 157021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55192 /* 157025 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55193 /* 157028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55194 /* 157033 */ GIR_RootConstrainSelectedInstOperands,
55195 /* 157034 */ // GIR_Coverage, 969,
55196 /* 157034 */ GIR_EraseRootFromParent_Done,
55197 /* 157035 */ // Label 4325: @157035
55198 /* 157035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4326*/ GIMT_Encode4(157098), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 957 //
55199 /* 157042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55200 /* 157046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55201 /* 157050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55202 /* 157053 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55203 /* 157057 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55204 /* 157064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55205 /* 157068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55206 /* 157070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55207 /* 157077 */ // (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)
55208 /* 157077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
55209 /* 157080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55210 /* 157082 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55211 /* 157084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55212 /* 157088 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55213 /* 157091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55214 /* 157096 */ GIR_RootConstrainSelectedInstOperands,
55215 /* 157097 */ // GIR_Coverage, 957,
55216 /* 157097 */ GIR_EraseRootFromParent_Done,
55217 /* 157098 */ // Label 4326: @157098
55218 /* 157098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4327*/ GIMT_Encode4(157154), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 955 //
55219 /* 157105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55220 /* 157109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55221 /* 157113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55222 /* 157116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55223 /* 157120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55224 /* 157124 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55225 /* 157126 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55226 /* 157133 */ // (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)
55227 /* 157133 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
55228 /* 157136 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55229 /* 157138 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55230 /* 157140 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55231 /* 157144 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55232 /* 157147 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55233 /* 157152 */ GIR_RootConstrainSelectedInstOperands,
55234 /* 157153 */ // GIR_Coverage, 955,
55235 /* 157153 */ GIR_EraseRootFromParent_Done,
55236 /* 157154 */ // Label 4327: @157154
55237 /* 157154 */ GIM_Reject,
55238 /* 157155 */ // Label 4323: @157155
55239 /* 157155 */ GIM_Try, /*On fail goto*//*Label 4328*/ GIMT_Encode4(157275),
55240 /* 157160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55241 /* 157164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55242 /* 157168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4329*/ GIMT_Encode4(157221), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2186 //
55243 /* 157175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55244 /* 157179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55245 /* 157183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55246 /* 157186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55247 /* 157190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55248 /* 157194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55249 /* 157196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55250 /* 157203 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55251 /* 157203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
55252 /* 157206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55253 /* 157208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55254 /* 157210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55255 /* 157214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55256 /* 157219 */ GIR_RootConstrainSelectedInstOperands,
55257 /* 157220 */ // GIR_Coverage, 2186,
55258 /* 157220 */ GIR_EraseRootFromParent_Done,
55259 /* 157221 */ // Label 4329: @157221
55260 /* 157221 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4330*/ GIMT_Encode4(157274), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2194 //
55261 /* 157228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55262 /* 157232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55263 /* 157236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55264 /* 157239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55265 /* 157243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55266 /* 157247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55267 /* 157249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55268 /* 157256 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55269 /* 157256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
55270 /* 157259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55271 /* 157261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55272 /* 157263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55273 /* 157267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55274 /* 157272 */ GIR_RootConstrainSelectedInstOperands,
55275 /* 157273 */ // GIR_Coverage, 2194,
55276 /* 157273 */ GIR_EraseRootFromParent_Done,
55277 /* 157274 */ // Label 4330: @157274
55278 /* 157274 */ GIM_Reject,
55279 /* 157275 */ // Label 4328: @157275
55280 /* 157275 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4331*/ GIMT_Encode4(157336), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5994 //
55281 /* 157282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55282 /* 157286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55283 /* 157290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55284 /* 157294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55285 /* 157298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55286 /* 157301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55287 /* 157305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55288 /* 157309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55289 /* 157311 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55290 /* 157318 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55291 /* 157318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
55292 /* 157321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55293 /* 157323 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55294 /* 157325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55295 /* 157329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55296 /* 157334 */ GIR_RootConstrainSelectedInstOperands,
55297 /* 157335 */ // GIR_Coverage, 5994,
55298 /* 157335 */ GIR_EraseRootFromParent_Done,
55299 /* 157336 */ // Label 4331: @157336
55300 /* 157336 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4332*/ GIMT_Encode4(157372), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 877 //
55301 /* 157343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55302 /* 157347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55303 /* 157351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55304 /* 157355 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
55305 /* 157355 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
55306 /* 157360 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
55307 /* 157366 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
55308 /* 157370 */ GIR_RootConstrainSelectedInstOperands,
55309 /* 157371 */ // GIR_Coverage, 877,
55310 /* 157371 */ GIR_Done,
55311 /* 157372 */ // Label 4332: @157372
55312 /* 157372 */ GIM_Try, /*On fail goto*//*Label 4333*/ GIMT_Encode4(157426),
55313 /* 157377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55314 /* 157381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55315 /* 157385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55316 /* 157389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4334*/ GIMT_Encode4(157407), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2184 //
55317 /* 157396 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
55318 /* 157396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
55319 /* 157401 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55320 /* 157405 */ GIR_RootConstrainSelectedInstOperands,
55321 /* 157406 */ // GIR_Coverage, 2184,
55322 /* 157406 */ GIR_Done,
55323 /* 157407 */ // Label 4334: @157407
55324 /* 157407 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4335*/ GIMT_Encode4(157425), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2192 //
55325 /* 157414 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
55326 /* 157414 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
55327 /* 157419 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55328 /* 157423 */ GIR_RootConstrainSelectedInstOperands,
55329 /* 157424 */ // GIR_Coverage, 2192,
55330 /* 157424 */ GIR_Done,
55331 /* 157425 */ // Label 4335: @157425
55332 /* 157425 */ GIM_Reject,
55333 /* 157426 */ // Label 4333: @157426
55334 /* 157426 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4336*/ GIMT_Encode4(157456), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5992 //
55335 /* 157433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55336 /* 157437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55337 /* 157441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55338 /* 157445 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
55339 /* 157445 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
55340 /* 157450 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55341 /* 157454 */ GIR_RootConstrainSelectedInstOperands,
55342 /* 157455 */ // GIR_Coverage, 5992,
55343 /* 157455 */ GIR_Done,
55344 /* 157456 */ // Label 4336: @157456
55345 /* 157456 */ GIM_Reject,
55346 /* 157457 */ // Label 4305: @157457
55347 /* 157457 */ GIM_Reject,
55348 /* 157458 */ // Label 4259: @157458
55349 /* 157458 */ GIM_Try, /*On fail goto*//*Label 4337*/ GIMT_Encode4(157998),
55350 /* 157463 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
55351 /* 157466 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
55352 /* 157469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55353 /* 157473 */ GIM_Try, /*On fail goto*//*Label 4338*/ GIMT_Encode4(157721),
55354 /* 157478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55355 /* 157482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4339*/ GIMT_Encode4(157538), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23533 //
55356 /* 157489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55357 /* 157493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55358 /* 157497 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55359 /* 157504 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55360 /* 157508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55361 /* 157510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55362 /* 157517 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55363 /* 157517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
55364 /* 157520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55365 /* 157522 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55366 /* 157524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55367 /* 157528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55368 /* 157531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55369 /* 157536 */ GIR_RootConstrainSelectedInstOperands,
55370 /* 157537 */ // GIR_Coverage, 23533,
55371 /* 157537 */ GIR_EraseRootFromParent_Done,
55372 /* 157538 */ // Label 4339: @157538
55373 /* 157538 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4340*/ GIMT_Encode4(157594), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23535 //
55374 /* 157545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55375 /* 157549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55376 /* 157553 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55377 /* 157560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55378 /* 157564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55379 /* 157566 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55380 /* 157573 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55381 /* 157573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
55382 /* 157576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55383 /* 157578 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55384 /* 157580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55385 /* 157584 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55386 /* 157587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55387 /* 157592 */ GIR_RootConstrainSelectedInstOperands,
55388 /* 157593 */ // GIR_Coverage, 23535,
55389 /* 157593 */ GIR_EraseRootFromParent_Done,
55390 /* 157594 */ // Label 4340: @157594
55391 /* 157594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4341*/ GIMT_Encode4(157657), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23521 //
55392 /* 157601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55393 /* 157605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55394 /* 157609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55395 /* 157612 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55396 /* 157616 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55397 /* 157623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55398 /* 157627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55399 /* 157629 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55400 /* 157636 */ // (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)
55401 /* 157636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
55402 /* 157639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55403 /* 157641 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55404 /* 157643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55405 /* 157647 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55406 /* 157650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55407 /* 157655 */ GIR_RootConstrainSelectedInstOperands,
55408 /* 157656 */ // GIR_Coverage, 23521,
55409 /* 157656 */ GIR_EraseRootFromParent_Done,
55410 /* 157657 */ // Label 4341: @157657
55411 /* 157657 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4342*/ GIMT_Encode4(157720), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23523 //
55412 /* 157664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55413 /* 157668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55414 /* 157672 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55415 /* 157675 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55416 /* 157679 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55417 /* 157686 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55418 /* 157690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55419 /* 157692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55420 /* 157699 */ // (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)
55421 /* 157699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
55422 /* 157702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55423 /* 157704 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55424 /* 157706 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55425 /* 157710 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55426 /* 157713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55427 /* 157718 */ GIR_RootConstrainSelectedInstOperands,
55428 /* 157719 */ // GIR_Coverage, 23523,
55429 /* 157719 */ GIR_EraseRootFromParent_Done,
55430 /* 157720 */ // Label 4342: @157720
55431 /* 157720 */ GIM_Reject,
55432 /* 157721 */ // Label 4338: @157721
55433 /* 157721 */ GIM_Try, /*On fail goto*//*Label 4343*/ GIMT_Encode4(157997),
55434 /* 157726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55435 /* 157730 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4344*/ GIMT_Encode4(157786), GIMT_Encode2(GIFBS_HasX87), // Rule ID 971 //
55436 /* 157737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55437 /* 157741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55438 /* 157745 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55439 /* 157752 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55440 /* 157756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55441 /* 157758 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55442 /* 157765 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55443 /* 157765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
55444 /* 157768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55445 /* 157770 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55446 /* 157772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55447 /* 157776 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55448 /* 157779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55449 /* 157784 */ GIR_RootConstrainSelectedInstOperands,
55450 /* 157785 */ // GIR_Coverage, 971,
55451 /* 157785 */ GIR_EraseRootFromParent_Done,
55452 /* 157786 */ // Label 4344: @157786
55453 /* 157786 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4345*/ GIMT_Encode4(157842), GIMT_Encode2(GIFBS_HasX87), // Rule ID 973 //
55454 /* 157793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55455 /* 157797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55456 /* 157801 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55457 /* 157808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55458 /* 157812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55459 /* 157814 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55460 /* 157821 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55461 /* 157821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
55462 /* 157824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55463 /* 157826 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55464 /* 157828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55465 /* 157832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55466 /* 157835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55467 /* 157840 */ GIR_RootConstrainSelectedInstOperands,
55468 /* 157841 */ // GIR_Coverage, 973,
55469 /* 157841 */ GIR_EraseRootFromParent_Done,
55470 /* 157842 */ // Label 4345: @157842
55471 /* 157842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4346*/ GIMT_Encode4(157905), GIMT_Encode2(GIFBS_HasX87), // Rule ID 959 //
55472 /* 157849 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55473 /* 157853 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55474 /* 157857 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55475 /* 157860 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55476 /* 157864 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55477 /* 157871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55478 /* 157875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55479 /* 157877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55480 /* 157884 */ // (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)
55481 /* 157884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
55482 /* 157887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55483 /* 157889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55484 /* 157891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55485 /* 157895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55486 /* 157898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55487 /* 157903 */ GIR_RootConstrainSelectedInstOperands,
55488 /* 157904 */ // GIR_Coverage, 959,
55489 /* 157904 */ GIR_EraseRootFromParent_Done,
55490 /* 157905 */ // Label 4346: @157905
55491 /* 157905 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4347*/ GIMT_Encode4(157968), GIMT_Encode2(GIFBS_HasX87), // Rule ID 961 //
55492 /* 157912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55493 /* 157916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55494 /* 157920 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55495 /* 157923 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55496 /* 157927 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55497 /* 157934 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55498 /* 157938 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55499 /* 157940 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55500 /* 157947 */ // (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)
55501 /* 157947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
55502 /* 157950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55503 /* 157952 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55504 /* 157954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55505 /* 157958 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55506 /* 157961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55507 /* 157966 */ GIR_RootConstrainSelectedInstOperands,
55508 /* 157967 */ // GIR_Coverage, 961,
55509 /* 157967 */ GIR_EraseRootFromParent_Done,
55510 /* 157968 */ // Label 4347: @157968
55511 /* 157968 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4348*/ GIMT_Encode4(157996), GIMT_Encode2(GIFBS_HasX87), // Rule ID 879 //
55512 /* 157975 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55513 /* 157979 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
55514 /* 157979 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
55515 /* 157984 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
55516 /* 157990 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
55517 /* 157994 */ GIR_RootConstrainSelectedInstOperands,
55518 /* 157995 */ // GIR_Coverage, 879,
55519 /* 157995 */ GIR_Done,
55520 /* 157996 */ // Label 4348: @157996
55521 /* 157996 */ GIM_Reject,
55522 /* 157997 */ // Label 4343: @157997
55523 /* 157997 */ GIM_Reject,
55524 /* 157998 */ // Label 4337: @157998
55525 /* 157998 */ GIM_Reject,
55526 /* 157999 */ // Label 4260: @157999
55527 /* 157999 */ GIM_Try, /*On fail goto*//*Label 4349*/ GIMT_Encode4(158157),
55528 /* 158004 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
55529 /* 158007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
55530 /* 158010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55531 /* 158014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4350*/ GIMT_Encode4(158071), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24648 //
55532 /* 158021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55533 /* 158025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55534 /* 158029 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55535 /* 158032 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55536 /* 158036 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55537 /* 158040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55538 /* 158044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55539 /* 158046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55540 /* 158053 */ // (fmul:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55541 /* 158053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
55542 /* 158056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55543 /* 158058 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55544 /* 158060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55545 /* 158064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55546 /* 158069 */ GIR_RootConstrainSelectedInstOperands,
55547 /* 158070 */ // GIR_Coverage, 24648,
55548 /* 158070 */ GIR_EraseRootFromParent_Done,
55549 /* 158071 */ // Label 4350: @158071
55550 /* 158071 */ GIM_Try, /*On fail goto*//*Label 4351*/ GIMT_Encode4(158156),
55551 /* 158076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55552 /* 158080 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4352*/ GIMT_Encode4(158133), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6463 //
55553 /* 158087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55554 /* 158091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55555 /* 158095 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55556 /* 158098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55557 /* 158102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55558 /* 158106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55559 /* 158108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55560 /* 158115 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55561 /* 158115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
55562 /* 158118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55563 /* 158120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55564 /* 158122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55565 /* 158126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55566 /* 158131 */ GIR_RootConstrainSelectedInstOperands,
55567 /* 158132 */ // GIR_Coverage, 6463,
55568 /* 158132 */ GIR_EraseRootFromParent_Done,
55569 /* 158133 */ // Label 4352: @158133
55570 /* 158133 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4353*/ GIMT_Encode4(158155), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6459 //
55571 /* 158140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55572 /* 158144 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
55573 /* 158144 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
55574 /* 158149 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55575 /* 158153 */ GIR_RootConstrainSelectedInstOperands,
55576 /* 158154 */ // GIR_Coverage, 6459,
55577 /* 158154 */ GIR_Done,
55578 /* 158155 */ // Label 4353: @158155
55579 /* 158155 */ GIM_Reject,
55580 /* 158156 */ // Label 4351: @158156
55581 /* 158156 */ GIM_Reject,
55582 /* 158157 */ // Label 4349: @158157
55583 /* 158157 */ GIM_Reject,
55584 /* 158158 */ // Label 4261: @158158
55585 /* 158158 */ GIM_Try, /*On fail goto*//*Label 4354*/ GIMT_Encode4(158316),
55586 /* 158163 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
55587 /* 158166 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
55588 /* 158169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55589 /* 158173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4355*/ GIMT_Encode4(158230), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24656 //
55590 /* 158180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55591 /* 158184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55592 /* 158188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55593 /* 158191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55594 /* 158195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55595 /* 158199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55596 /* 158203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55597 /* 158205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55598 /* 158212 */ // (fmul:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55599 /* 158212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
55600 /* 158215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55601 /* 158217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55602 /* 158219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55603 /* 158223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55604 /* 158228 */ GIR_RootConstrainSelectedInstOperands,
55605 /* 158229 */ // GIR_Coverage, 24656,
55606 /* 158229 */ GIR_EraseRootFromParent_Done,
55607 /* 158230 */ // Label 4355: @158230
55608 /* 158230 */ GIM_Try, /*On fail goto*//*Label 4356*/ GIMT_Encode4(158315),
55609 /* 158235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55610 /* 158239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4357*/ GIMT_Encode4(158292), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6475 //
55611 /* 158246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55612 /* 158250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55613 /* 158254 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55614 /* 158257 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55615 /* 158261 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55616 /* 158265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55617 /* 158267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55618 /* 158274 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55619 /* 158274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
55620 /* 158277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55621 /* 158279 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55622 /* 158281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55623 /* 158285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55624 /* 158290 */ GIR_RootConstrainSelectedInstOperands,
55625 /* 158291 */ // GIR_Coverage, 6475,
55626 /* 158291 */ GIR_EraseRootFromParent_Done,
55627 /* 158292 */ // Label 4357: @158292
55628 /* 158292 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4358*/ GIMT_Encode4(158314), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6471 //
55629 /* 158299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55630 /* 158303 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
55631 /* 158303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
55632 /* 158308 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55633 /* 158312 */ GIR_RootConstrainSelectedInstOperands,
55634 /* 158313 */ // GIR_Coverage, 6471,
55635 /* 158313 */ GIR_Done,
55636 /* 158314 */ // Label 4358: @158314
55637 /* 158314 */ GIM_Reject,
55638 /* 158315 */ // Label 4356: @158315
55639 /* 158315 */ GIM_Reject,
55640 /* 158316 */ // Label 4354: @158316
55641 /* 158316 */ GIM_Reject,
55642 /* 158317 */ // Label 4262: @158317
55643 /* 158317 */ GIM_Try, /*On fail goto*//*Label 4359*/ GIMT_Encode4(158475),
55644 /* 158322 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
55645 /* 158325 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
55646 /* 158328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55647 /* 158332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4360*/ GIMT_Encode4(158389), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24640 //
55648 /* 158339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55649 /* 158343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55650 /* 158347 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55651 /* 158350 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55652 /* 158354 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55653 /* 158358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55654 /* 158362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55655 /* 158364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55656 /* 158371 */ // (fmul:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55657 /* 158371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
55658 /* 158374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55659 /* 158376 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55660 /* 158378 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55661 /* 158382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55662 /* 158387 */ GIR_RootConstrainSelectedInstOperands,
55663 /* 158388 */ // GIR_Coverage, 24640,
55664 /* 158388 */ GIR_EraseRootFromParent_Done,
55665 /* 158389 */ // Label 4360: @158389
55666 /* 158389 */ GIM_Try, /*On fail goto*//*Label 4361*/ GIMT_Encode4(158474),
55667 /* 158394 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55668 /* 158398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4362*/ GIMT_Encode4(158451), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6451 //
55669 /* 158405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55670 /* 158409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55671 /* 158413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55672 /* 158416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55673 /* 158420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55674 /* 158424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55675 /* 158426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55676 /* 158433 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55677 /* 158433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
55678 /* 158436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55679 /* 158438 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55680 /* 158440 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55681 /* 158444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55682 /* 158449 */ GIR_RootConstrainSelectedInstOperands,
55683 /* 158450 */ // GIR_Coverage, 6451,
55684 /* 158450 */ GIR_EraseRootFromParent_Done,
55685 /* 158451 */ // Label 4362: @158451
55686 /* 158451 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4363*/ GIMT_Encode4(158473), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6447 //
55687 /* 158458 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55688 /* 158462 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
55689 /* 158462 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
55690 /* 158467 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55691 /* 158471 */ GIR_RootConstrainSelectedInstOperands,
55692 /* 158472 */ // GIR_Coverage, 6447,
55693 /* 158472 */ GIR_Done,
55694 /* 158473 */ // Label 4363: @158473
55695 /* 158473 */ GIM_Reject,
55696 /* 158474 */ // Label 4361: @158474
55697 /* 158474 */ GIM_Reject,
55698 /* 158475 */ // Label 4359: @158475
55699 /* 158475 */ GIM_Reject,
55700 /* 158476 */ // Label 4263: @158476
55701 /* 158476 */ GIM_Try, /*On fail goto*//*Label 4364*/ GIMT_Encode4(158816),
55702 /* 158481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
55703 /* 158484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
55704 /* 158487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4365*/ GIMT_Encode4(158548), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23646 //
55705 /* 158494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55706 /* 158498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55707 /* 158502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55708 /* 158506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55709 /* 158509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55710 /* 158513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55711 /* 158517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55712 /* 158521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55713 /* 158523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55714 /* 158530 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55715 /* 158530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
55716 /* 158533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55717 /* 158535 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55718 /* 158537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55719 /* 158541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55720 /* 158546 */ GIR_RootConstrainSelectedInstOperands,
55721 /* 158547 */ // GIR_Coverage, 23646,
55722 /* 158547 */ GIR_EraseRootFromParent_Done,
55723 /* 158548 */ // Label 4365: @158548
55724 /* 158548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4366*/ GIMT_Encode4(158609), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24608 //
55725 /* 158555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55726 /* 158559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55727 /* 158563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55728 /* 158567 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55729 /* 158570 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55730 /* 158574 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55731 /* 158578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55732 /* 158582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55733 /* 158584 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55734 /* 158591 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55735 /* 158591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
55736 /* 158594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55737 /* 158596 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55738 /* 158598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55739 /* 158602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55740 /* 158607 */ GIR_RootConstrainSelectedInstOperands,
55741 /* 158608 */ // GIR_Coverage, 24608,
55742 /* 158608 */ GIR_EraseRootFromParent_Done,
55743 /* 158609 */ // Label 4366: @158609
55744 /* 158609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4367*/ GIMT_Encode4(158670), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2158 //
55745 /* 158616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55746 /* 158620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55747 /* 158624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55748 /* 158628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55749 /* 158632 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55750 /* 158635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55751 /* 158639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55752 /* 158643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55753 /* 158645 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55754 /* 158652 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55755 /* 158652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
55756 /* 158655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55757 /* 158657 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55758 /* 158659 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55759 /* 158663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55760 /* 158668 */ GIR_RootConstrainSelectedInstOperands,
55761 /* 158669 */ // GIR_Coverage, 2158,
55762 /* 158669 */ GIR_EraseRootFromParent_Done,
55763 /* 158670 */ // Label 4367: @158670
55764 /* 158670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4368*/ GIMT_Encode4(158731), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6403 //
55765 /* 158677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55766 /* 158681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55767 /* 158685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55768 /* 158689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55769 /* 158693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55770 /* 158696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55771 /* 158700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55772 /* 158704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55773 /* 158706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55774 /* 158713 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55775 /* 158713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
55776 /* 158716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55777 /* 158718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55778 /* 158720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55779 /* 158724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55780 /* 158729 */ GIR_RootConstrainSelectedInstOperands,
55781 /* 158730 */ // GIR_Coverage, 6403,
55782 /* 158730 */ GIR_EraseRootFromParent_Done,
55783 /* 158731 */ // Label 4368: @158731
55784 /* 158731 */ GIM_Try, /*On fail goto*//*Label 4369*/ GIMT_Encode4(158785),
55785 /* 158736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55786 /* 158740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55787 /* 158744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55788 /* 158748 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4370*/ GIMT_Encode4(158766), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2156 //
55789 /* 158755 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55790 /* 158755 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
55791 /* 158760 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55792 /* 158764 */ GIR_RootConstrainSelectedInstOperands,
55793 /* 158765 */ // GIR_Coverage, 2156,
55794 /* 158765 */ GIR_Done,
55795 /* 158766 */ // Label 4370: @158766
55796 /* 158766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4371*/ GIMT_Encode4(158784), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2172 //
55797 /* 158773 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55798 /* 158773 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
55799 /* 158778 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55800 /* 158782 */ GIR_RootConstrainSelectedInstOperands,
55801 /* 158783 */ // GIR_Coverage, 2172,
55802 /* 158783 */ GIR_Done,
55803 /* 158784 */ // Label 4371: @158784
55804 /* 158784 */ GIM_Reject,
55805 /* 158785 */ // Label 4369: @158785
55806 /* 158785 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4372*/ GIMT_Encode4(158815), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6399 //
55807 /* 158792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55808 /* 158796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55809 /* 158800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55810 /* 158804 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
55811 /* 158804 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
55812 /* 158809 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55813 /* 158813 */ GIR_RootConstrainSelectedInstOperands,
55814 /* 158814 */ // GIR_Coverage, 6399,
55815 /* 158814 */ GIR_Done,
55816 /* 158815 */ // Label 4372: @158815
55817 /* 158815 */ GIM_Reject,
55818 /* 158816 */ // Label 4364: @158816
55819 /* 158816 */ GIM_Reject,
55820 /* 158817 */ // Label 4264: @158817
55821 /* 158817 */ GIM_Try, /*On fail goto*//*Label 4373*/ GIMT_Encode4(159133),
55822 /* 158822 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
55823 /* 158825 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
55824 /* 158828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4374*/ GIMT_Encode4(158889), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23650 //
55825 /* 158835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55826 /* 158839 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55827 /* 158843 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55828 /* 158847 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55829 /* 158850 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55830 /* 158854 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55831 /* 158858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55832 /* 158862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55833 /* 158864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55834 /* 158871 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55835 /* 158871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
55836 /* 158874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55837 /* 158876 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55838 /* 158878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55839 /* 158882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55840 /* 158887 */ GIR_RootConstrainSelectedInstOperands,
55841 /* 158888 */ // GIR_Coverage, 23650,
55842 /* 158888 */ GIR_EraseRootFromParent_Done,
55843 /* 158889 */ // Label 4374: @158889
55844 /* 158889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4375*/ GIMT_Encode4(158950), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24616 //
55845 /* 158896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55846 /* 158900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55847 /* 158904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55848 /* 158908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55849 /* 158911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55850 /* 158915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55851 /* 158919 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55852 /* 158923 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55853 /* 158925 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55854 /* 158932 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55855 /* 158932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
55856 /* 158935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55857 /* 158937 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55858 /* 158939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55859 /* 158943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55860 /* 158948 */ GIR_RootConstrainSelectedInstOperands,
55861 /* 158949 */ // GIR_Coverage, 24616,
55862 /* 158949 */ GIR_EraseRootFromParent_Done,
55863 /* 158950 */ // Label 4375: @158950
55864 /* 158950 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4376*/ GIMT_Encode4(159011), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2166 //
55865 /* 158957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55866 /* 158961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55867 /* 158965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55868 /* 158969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55869 /* 158973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55870 /* 158976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55871 /* 158980 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55872 /* 158984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55873 /* 158986 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55874 /* 158993 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55875 /* 158993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
55876 /* 158996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55877 /* 158998 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55878 /* 159000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55879 /* 159004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55880 /* 159009 */ GIR_RootConstrainSelectedInstOperands,
55881 /* 159010 */ // GIR_Coverage, 2166,
55882 /* 159010 */ GIR_EraseRootFromParent_Done,
55883 /* 159011 */ // Label 4376: @159011
55884 /* 159011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4377*/ GIMT_Encode4(159072), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6415 //
55885 /* 159018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55886 /* 159022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55887 /* 159026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55888 /* 159030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55889 /* 159034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55890 /* 159037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55891 /* 159041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55892 /* 159045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55893 /* 159047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55894 /* 159054 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55895 /* 159054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
55896 /* 159057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55897 /* 159059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55898 /* 159061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55899 /* 159065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55900 /* 159070 */ GIR_RootConstrainSelectedInstOperands,
55901 /* 159071 */ // GIR_Coverage, 6415,
55902 /* 159071 */ GIR_EraseRootFromParent_Done,
55903 /* 159072 */ // Label 4377: @159072
55904 /* 159072 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4378*/ GIMT_Encode4(159102), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2164 //
55905 /* 159079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55906 /* 159083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55907 /* 159087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55908 /* 159091 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
55909 /* 159091 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
55910 /* 159096 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55911 /* 159100 */ GIR_RootConstrainSelectedInstOperands,
55912 /* 159101 */ // GIR_Coverage, 2164,
55913 /* 159101 */ GIR_Done,
55914 /* 159102 */ // Label 4378: @159102
55915 /* 159102 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4379*/ GIMT_Encode4(159132), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6411 //
55916 /* 159109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55917 /* 159113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55918 /* 159117 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55919 /* 159121 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
55920 /* 159121 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
55921 /* 159126 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55922 /* 159130 */ GIR_RootConstrainSelectedInstOperands,
55923 /* 159131 */ // GIR_Coverage, 6411,
55924 /* 159131 */ GIR_Done,
55925 /* 159132 */ // Label 4379: @159132
55926 /* 159132 */ GIM_Reject,
55927 /* 159133 */ // Label 4373: @159133
55928 /* 159133 */ GIM_Reject,
55929 /* 159134 */ // Label 4265: @159134
55930 /* 159134 */ GIM_Try, /*On fail goto*//*Label 4380*/ GIMT_Encode4(159292),
55931 /* 159139 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
55932 /* 159142 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
55933 /* 159145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55934 /* 159149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4381*/ GIMT_Encode4(159206), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24592 //
55935 /* 159156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55936 /* 159160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55937 /* 159164 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55938 /* 159167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55939 /* 159171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55940 /* 159175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55941 /* 159179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55942 /* 159181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55943 /* 159188 */ // (fmul:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55944 /* 159188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
55945 /* 159191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55946 /* 159193 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55947 /* 159195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55948 /* 159199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55949 /* 159204 */ GIR_RootConstrainSelectedInstOperands,
55950 /* 159205 */ // GIR_Coverage, 24592,
55951 /* 159205 */ GIR_EraseRootFromParent_Done,
55952 /* 159206 */ // Label 4381: @159206
55953 /* 159206 */ GIM_Try, /*On fail goto*//*Label 4382*/ GIMT_Encode4(159291),
55954 /* 159211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55955 /* 159215 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4383*/ GIMT_Encode4(159268), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6379 //
55956 /* 159222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55957 /* 159226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55958 /* 159230 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55959 /* 159233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55960 /* 159237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55961 /* 159241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55962 /* 159243 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55963 /* 159250 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55964 /* 159250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
55965 /* 159253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55966 /* 159255 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55967 /* 159257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55968 /* 159261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55969 /* 159266 */ GIR_RootConstrainSelectedInstOperands,
55970 /* 159267 */ // GIR_Coverage, 6379,
55971 /* 159267 */ GIR_EraseRootFromParent_Done,
55972 /* 159268 */ // Label 4383: @159268
55973 /* 159268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4384*/ GIMT_Encode4(159290), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6375 //
55974 /* 159275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55975 /* 159279 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
55976 /* 159279 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
55977 /* 159284 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55978 /* 159288 */ GIR_RootConstrainSelectedInstOperands,
55979 /* 159289 */ // GIR_Coverage, 6375,
55980 /* 159289 */ GIR_Done,
55981 /* 159290 */ // Label 4384: @159290
55982 /* 159290 */ GIM_Reject,
55983 /* 159291 */ // Label 4382: @159291
55984 /* 159291 */ GIM_Reject,
55985 /* 159292 */ // Label 4380: @159292
55986 /* 159292 */ GIM_Reject,
55987 /* 159293 */ // Label 4266: @159293
55988 /* 159293 */ GIM_Try, /*On fail goto*//*Label 4385*/ GIMT_Encode4(159633),
55989 /* 159298 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
55990 /* 159301 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
55991 /* 159304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4386*/ GIMT_Encode4(159365), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23648 //
55992 /* 159311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55993 /* 159315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55994 /* 159319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55995 /* 159323 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55996 /* 159326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55997 /* 159330 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55998 /* 159334 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55999 /* 159338 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56000 /* 159340 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56001 /* 159347 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56002 /* 159347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
56003 /* 159350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56004 /* 159352 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56005 /* 159354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56006 /* 159358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56007 /* 159363 */ GIR_RootConstrainSelectedInstOperands,
56008 /* 159364 */ // GIR_Coverage, 23648,
56009 /* 159364 */ GIR_EraseRootFromParent_Done,
56010 /* 159365 */ // Label 4386: @159365
56011 /* 159365 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4387*/ GIMT_Encode4(159426), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24624 //
56012 /* 159372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56013 /* 159376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56014 /* 159380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56015 /* 159384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56016 /* 159387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56017 /* 159391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56018 /* 159395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56019 /* 159399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56020 /* 159401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56021 /* 159408 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56022 /* 159408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
56023 /* 159411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56024 /* 159413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56025 /* 159415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56026 /* 159419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56027 /* 159424 */ GIR_RootConstrainSelectedInstOperands,
56028 /* 159425 */ // GIR_Coverage, 24624,
56029 /* 159425 */ GIR_EraseRootFromParent_Done,
56030 /* 159426 */ // Label 4387: @159426
56031 /* 159426 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4388*/ GIMT_Encode4(159487), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2162 //
56032 /* 159433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56033 /* 159437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56034 /* 159441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56035 /* 159445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56036 /* 159449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56037 /* 159452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56038 /* 159456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56039 /* 159460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56040 /* 159462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56041 /* 159469 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56042 /* 159469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
56043 /* 159472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56044 /* 159474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56045 /* 159476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56046 /* 159480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56047 /* 159485 */ GIR_RootConstrainSelectedInstOperands,
56048 /* 159486 */ // GIR_Coverage, 2162,
56049 /* 159486 */ GIR_EraseRootFromParent_Done,
56050 /* 159487 */ // Label 4388: @159487
56051 /* 159487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4389*/ GIMT_Encode4(159548), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6427 //
56052 /* 159494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56053 /* 159498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56054 /* 159502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56055 /* 159506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56056 /* 159510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56057 /* 159513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56058 /* 159517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56059 /* 159521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56060 /* 159523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56061 /* 159530 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56062 /* 159530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
56063 /* 159533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56064 /* 159535 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56065 /* 159537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56066 /* 159541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56067 /* 159546 */ GIR_RootConstrainSelectedInstOperands,
56068 /* 159547 */ // GIR_Coverage, 6427,
56069 /* 159547 */ GIR_EraseRootFromParent_Done,
56070 /* 159548 */ // Label 4389: @159548
56071 /* 159548 */ GIM_Try, /*On fail goto*//*Label 4390*/ GIMT_Encode4(159602),
56072 /* 159553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56073 /* 159557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56074 /* 159561 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56075 /* 159565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4391*/ GIMT_Encode4(159583), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2160 //
56076 /* 159572 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
56077 /* 159572 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
56078 /* 159577 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56079 /* 159581 */ GIR_RootConstrainSelectedInstOperands,
56080 /* 159582 */ // GIR_Coverage, 2160,
56081 /* 159582 */ GIR_Done,
56082 /* 159583 */ // Label 4391: @159583
56083 /* 159583 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4392*/ GIMT_Encode4(159601), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2176 //
56084 /* 159590 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
56085 /* 159590 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
56086 /* 159595 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56087 /* 159599 */ GIR_RootConstrainSelectedInstOperands,
56088 /* 159600 */ // GIR_Coverage, 2176,
56089 /* 159600 */ GIR_Done,
56090 /* 159601 */ // Label 4392: @159601
56091 /* 159601 */ GIM_Reject,
56092 /* 159602 */ // Label 4390: @159602
56093 /* 159602 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4393*/ GIMT_Encode4(159632), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6423 //
56094 /* 159609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56095 /* 159613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56096 /* 159617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56097 /* 159621 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
56098 /* 159621 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
56099 /* 159626 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56100 /* 159630 */ GIR_RootConstrainSelectedInstOperands,
56101 /* 159631 */ // GIR_Coverage, 6423,
56102 /* 159631 */ GIR_Done,
56103 /* 159632 */ // Label 4393: @159632
56104 /* 159632 */ GIM_Reject,
56105 /* 159633 */ // Label 4385: @159633
56106 /* 159633 */ GIM_Reject,
56107 /* 159634 */ // Label 4267: @159634
56108 /* 159634 */ GIM_Try, /*On fail goto*//*Label 4394*/ GIMT_Encode4(159950),
56109 /* 159639 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
56110 /* 159642 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
56111 /* 159645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4395*/ GIMT_Encode4(159706), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23652 //
56112 /* 159652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56113 /* 159656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56114 /* 159660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56115 /* 159664 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56116 /* 159667 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56117 /* 159671 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56118 /* 159675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56119 /* 159679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56120 /* 159681 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56121 /* 159688 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56122 /* 159688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
56123 /* 159691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56124 /* 159693 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56125 /* 159695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56126 /* 159699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56127 /* 159704 */ GIR_RootConstrainSelectedInstOperands,
56128 /* 159705 */ // GIR_Coverage, 23652,
56129 /* 159705 */ GIR_EraseRootFromParent_Done,
56130 /* 159706 */ // Label 4395: @159706
56131 /* 159706 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4396*/ GIMT_Encode4(159767), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24632 //
56132 /* 159713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56133 /* 159717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56134 /* 159721 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56135 /* 159725 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56136 /* 159728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56137 /* 159732 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56138 /* 159736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56139 /* 159740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56140 /* 159742 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56141 /* 159749 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56142 /* 159749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
56143 /* 159752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56144 /* 159754 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56145 /* 159756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56146 /* 159760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56147 /* 159765 */ GIR_RootConstrainSelectedInstOperands,
56148 /* 159766 */ // GIR_Coverage, 24632,
56149 /* 159766 */ GIR_EraseRootFromParent_Done,
56150 /* 159767 */ // Label 4396: @159767
56151 /* 159767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4397*/ GIMT_Encode4(159828), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2170 //
56152 /* 159774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56153 /* 159778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56154 /* 159782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56155 /* 159786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56156 /* 159790 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56157 /* 159793 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56158 /* 159797 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56159 /* 159801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56160 /* 159803 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56161 /* 159810 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56162 /* 159810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
56163 /* 159813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56164 /* 159815 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56165 /* 159817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56166 /* 159821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56167 /* 159826 */ GIR_RootConstrainSelectedInstOperands,
56168 /* 159827 */ // GIR_Coverage, 2170,
56169 /* 159827 */ GIR_EraseRootFromParent_Done,
56170 /* 159828 */ // Label 4397: @159828
56171 /* 159828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4398*/ GIMT_Encode4(159889), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6439 //
56172 /* 159835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56173 /* 159839 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56174 /* 159843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56175 /* 159847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56176 /* 159851 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56177 /* 159854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56178 /* 159858 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56179 /* 159862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56180 /* 159864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56181 /* 159871 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56182 /* 159871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
56183 /* 159874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56184 /* 159876 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56185 /* 159878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56186 /* 159882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56187 /* 159887 */ GIR_RootConstrainSelectedInstOperands,
56188 /* 159888 */ // GIR_Coverage, 6439,
56189 /* 159888 */ GIR_EraseRootFromParent_Done,
56190 /* 159889 */ // Label 4398: @159889
56191 /* 159889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4399*/ GIMT_Encode4(159919), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2168 //
56192 /* 159896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56193 /* 159900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56194 /* 159904 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56195 /* 159908 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
56196 /* 159908 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
56197 /* 159913 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56198 /* 159917 */ GIR_RootConstrainSelectedInstOperands,
56199 /* 159918 */ // GIR_Coverage, 2168,
56200 /* 159918 */ GIR_Done,
56201 /* 159919 */ // Label 4399: @159919
56202 /* 159919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4400*/ GIMT_Encode4(159949), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6435 //
56203 /* 159926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56204 /* 159930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56205 /* 159934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56206 /* 159938 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
56207 /* 159938 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
56208 /* 159943 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56209 /* 159947 */ GIR_RootConstrainSelectedInstOperands,
56210 /* 159948 */ // GIR_Coverage, 6435,
56211 /* 159948 */ GIR_Done,
56212 /* 159949 */ // Label 4400: @159949
56213 /* 159949 */ GIM_Reject,
56214 /* 159950 */ // Label 4394: @159950
56215 /* 159950 */ GIM_Reject,
56216 /* 159951 */ // Label 4268: @159951
56217 /* 159951 */ GIM_Try, /*On fail goto*//*Label 4401*/ GIMT_Encode4(160109),
56218 /* 159956 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
56219 /* 159959 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
56220 /* 159962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56221 /* 159966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4402*/ GIMT_Encode4(160023), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24600 //
56222 /* 159973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56223 /* 159977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56224 /* 159981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56225 /* 159984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56226 /* 159988 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56227 /* 159992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56228 /* 159996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56229 /* 159998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56230 /* 160005 */ // (fmul:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56231 /* 160005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
56232 /* 160008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56233 /* 160010 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56234 /* 160012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56235 /* 160016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56236 /* 160021 */ GIR_RootConstrainSelectedInstOperands,
56237 /* 160022 */ // GIR_Coverage, 24600,
56238 /* 160022 */ GIR_EraseRootFromParent_Done,
56239 /* 160023 */ // Label 4402: @160023
56240 /* 160023 */ GIM_Try, /*On fail goto*//*Label 4403*/ GIMT_Encode4(160108),
56241 /* 160028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56242 /* 160032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4404*/ GIMT_Encode4(160085), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6391 //
56243 /* 160039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56244 /* 160043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56245 /* 160047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56246 /* 160050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56247 /* 160054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56248 /* 160058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56249 /* 160060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56250 /* 160067 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56251 /* 160067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
56252 /* 160070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56253 /* 160072 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56254 /* 160074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56255 /* 160078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56256 /* 160083 */ GIR_RootConstrainSelectedInstOperands,
56257 /* 160084 */ // GIR_Coverage, 6391,
56258 /* 160084 */ GIR_EraseRootFromParent_Done,
56259 /* 160085 */ // Label 4404: @160085
56260 /* 160085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4405*/ GIMT_Encode4(160107), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6387 //
56261 /* 160092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56262 /* 160096 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
56263 /* 160096 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
56264 /* 160101 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56265 /* 160105 */ GIR_RootConstrainSelectedInstOperands,
56266 /* 160106 */ // GIR_Coverage, 6387,
56267 /* 160106 */ GIR_Done,
56268 /* 160107 */ // Label 4405: @160107
56269 /* 160107 */ GIM_Reject,
56270 /* 160108 */ // Label 4403: @160108
56271 /* 160108 */ GIM_Reject,
56272 /* 160109 */ // Label 4401: @160109
56273 /* 160109 */ GIM_Reject,
56274 /* 160110 */ // Label 4269: @160110
56275 /* 160110 */ GIM_Reject,
56276 /* 160111 */ // Label 47: @160111
56277 /* 160111 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4418*/ GIMT_Encode4(165890),
56278 /* 160122 */ /*GILLT_s16*//*Label 4406*/ GIMT_Encode4(160214),
56279 /* 160126 */ /*GILLT_s32*//*Label 4407*/ GIMT_Encode4(160455),
56280 /* 160130 */ /*GILLT_s64*//*Label 4408*/ GIMT_Encode4(161160), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
56281 /* 160178 */ /*GILLT_v8s16*//*Label 4409*/ GIMT_Encode4(161865),
56282 /* 160182 */ /*GILLT_v16s16*//*Label 4410*/ GIMT_Encode4(162106),
56283 /* 160186 */ /*GILLT_v32s16*//*Label 4411*/ GIMT_Encode4(162347),
56284 /* 160190 */ /*GILLT_v4s32*//*Label 4412*/ GIMT_Encode4(162588),
56285 /* 160194 */ /*GILLT_v8s32*//*Label 4413*/ GIMT_Encode4(163293),
56286 /* 160198 */ /*GILLT_v16s32*//*Label 4414*/ GIMT_Encode4(163998),
56287 /* 160202 */ /*GILLT_v2s64*//*Label 4415*/ GIMT_Encode4(164239),
56288 /* 160206 */ /*GILLT_v4s64*//*Label 4416*/ GIMT_Encode4(164944),
56289 /* 160210 */ /*GILLT_v8s64*//*Label 4417*/ GIMT_Encode4(165649),
56290 /* 160214 */ // Label 4406: @160214
56291 /* 160214 */ GIM_Try, /*On fail goto*//*Label 4419*/ GIMT_Encode4(160454),
56292 /* 160219 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
56293 /* 160222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
56294 /* 160225 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
56295 /* 160228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56296 /* 160232 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4420*/ GIMT_Encode4(160295), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10159 //
56297 /* 160239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56298 /* 160243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56299 /* 160247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56300 /* 160250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56301 /* 160254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56302 /* 160258 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56303 /* 160262 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56304 /* 160266 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56305 /* 160268 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56306 /* 160275 */ // (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)
56307 /* 160275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
56308 /* 160278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56309 /* 160280 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56310 /* 160282 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56311 /* 160284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56312 /* 160288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56313 /* 160293 */ GIR_RootConstrainSelectedInstOperands,
56314 /* 160294 */ // GIR_Coverage, 10159,
56315 /* 160294 */ GIR_EraseRootFromParent_Done,
56316 /* 160295 */ // Label 4420: @160295
56317 /* 160295 */ GIM_Try, /*On fail goto*//*Label 4421*/ GIMT_Encode4(160453),
56318 /* 160300 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56319 /* 160304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4422*/ GIMT_Encode4(160363), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10157 //
56320 /* 160311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56321 /* 160315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56322 /* 160319 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56323 /* 160322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56324 /* 160326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56325 /* 160330 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56326 /* 160334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56327 /* 160336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56328 /* 160343 */ // (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)
56329 /* 160343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
56330 /* 160346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56331 /* 160348 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56332 /* 160350 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56333 /* 160352 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56334 /* 160356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56335 /* 160361 */ GIR_RootConstrainSelectedInstOperands,
56336 /* 160362 */ // GIR_Coverage, 10157,
56337 /* 160362 */ GIR_EraseRootFromParent_Done,
56338 /* 160363 */ // Label 4422: @160363
56339 /* 160363 */ GIM_Try, /*On fail goto*//*Label 4423*/ GIMT_Encode4(160452),
56340 /* 160368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56341 /* 160372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4424*/ GIMT_Encode4(160427), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10154 //
56342 /* 160379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56343 /* 160383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56344 /* 160387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56345 /* 160390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56346 /* 160394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56347 /* 160398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56348 /* 160400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56349 /* 160407 */ // (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)
56350 /* 160407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
56351 /* 160410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56352 /* 160412 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56353 /* 160414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56354 /* 160416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56355 /* 160420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56356 /* 160425 */ GIR_RootConstrainSelectedInstOperands,
56357 /* 160426 */ // GIR_Coverage, 10154,
56358 /* 160426 */ GIR_EraseRootFromParent_Done,
56359 /* 160427 */ // Label 4424: @160427
56360 /* 160427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4425*/ GIMT_Encode4(160451), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10152 //
56361 /* 160434 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56362 /* 160438 */ // (fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
56363 /* 160438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
56364 /* 160441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56365 /* 160443 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56366 /* 160445 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56367 /* 160447 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56368 /* 160449 */ GIR_RootConstrainSelectedInstOperands,
56369 /* 160450 */ // GIR_Coverage, 10152,
56370 /* 160450 */ GIR_EraseRootFromParent_Done,
56371 /* 160451 */ // Label 4425: @160451
56372 /* 160451 */ GIM_Reject,
56373 /* 160452 */ // Label 4423: @160452
56374 /* 160452 */ GIM_Reject,
56375 /* 160453 */ // Label 4421: @160453
56376 /* 160453 */ GIM_Reject,
56377 /* 160454 */ // Label 4419: @160454
56378 /* 160454 */ GIM_Reject,
56379 /* 160455 */ // Label 4407: @160455
56380 /* 160455 */ GIM_Try, /*On fail goto*//*Label 4426*/ GIMT_Encode4(161159),
56381 /* 160460 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
56382 /* 160463 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
56383 /* 160466 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
56384 /* 160469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4427*/ GIMT_Encode4(160536), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1280 //
56385 /* 160476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56386 /* 160480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56387 /* 160484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56388 /* 160488 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56389 /* 160491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56390 /* 160495 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56391 /* 160499 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56392 /* 160503 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56393 /* 160507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56394 /* 160509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56395 /* 160516 */ // (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)
56396 /* 160516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
56397 /* 160519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56398 /* 160521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56399 /* 160523 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56400 /* 160525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56401 /* 160529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56402 /* 160534 */ GIR_RootConstrainSelectedInstOperands,
56403 /* 160535 */ // GIR_Coverage, 1280,
56404 /* 160535 */ GIR_EraseRootFromParent_Done,
56405 /* 160536 */ // Label 4427: @160536
56406 /* 160536 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4428*/ GIMT_Encode4(160603), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10141 //
56407 /* 160543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56408 /* 160547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56409 /* 160551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56410 /* 160555 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56411 /* 160558 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56412 /* 160562 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56413 /* 160566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56414 /* 160570 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56415 /* 160574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56416 /* 160576 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56417 /* 160583 */ // (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)
56418 /* 160583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
56419 /* 160586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56420 /* 160588 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56421 /* 160590 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56422 /* 160592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56423 /* 160596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56424 /* 160601 */ GIR_RootConstrainSelectedInstOperands,
56425 /* 160602 */ // GIR_Coverage, 10141,
56426 /* 160602 */ GIR_EraseRootFromParent_Done,
56427 /* 160603 */ // Label 4428: @160603
56428 /* 160603 */ GIM_Try, /*On fail goto*//*Label 4429*/ GIMT_Encode4(160800),
56429 /* 160608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56430 /* 160612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4430*/ GIMT_Encode4(160675), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 23537 //
56431 /* 160619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56432 /* 160623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56433 /* 160627 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56434 /* 160630 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56435 /* 160634 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56436 /* 160638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56437 /* 160642 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56438 /* 160646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56439 /* 160648 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56440 /* 160655 */ // (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)
56441 /* 160655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
56442 /* 160658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56443 /* 160660 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56444 /* 160662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56445 /* 160666 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56446 /* 160668 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56447 /* 160673 */ GIR_RootConstrainSelectedInstOperands,
56448 /* 160674 */ // GIR_Coverage, 23537,
56449 /* 160674 */ GIR_EraseRootFromParent_Done,
56450 /* 160675 */ // Label 4430: @160675
56451 /* 160675 */ GIM_Try, /*On fail goto*//*Label 4431*/ GIMT_Encode4(160799),
56452 /* 160680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56453 /* 160684 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56454 /* 160688 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4432*/ GIMT_Encode4(160743), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1278 //
56455 /* 160695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56456 /* 160699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56457 /* 160703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56458 /* 160706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56459 /* 160710 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56460 /* 160714 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56461 /* 160716 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56462 /* 160723 */ // (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)
56463 /* 160723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
56464 /* 160726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56465 /* 160728 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56466 /* 160730 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56467 /* 160732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56468 /* 160736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56469 /* 160741 */ GIR_RootConstrainSelectedInstOperands,
56470 /* 160742 */ // GIR_Coverage, 1278,
56471 /* 160742 */ GIR_EraseRootFromParent_Done,
56472 /* 160743 */ // Label 4432: @160743
56473 /* 160743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4433*/ GIMT_Encode4(160798), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1342 //
56474 /* 160750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56475 /* 160754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56476 /* 160758 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56477 /* 160761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56478 /* 160765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56479 /* 160769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56480 /* 160771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56481 /* 160778 */ // (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)
56482 /* 160778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
56483 /* 160781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56484 /* 160783 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56485 /* 160785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56486 /* 160789 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56487 /* 160791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56488 /* 160796 */ GIR_RootConstrainSelectedInstOperands,
56489 /* 160797 */ // GIR_Coverage, 1342,
56490 /* 160797 */ GIR_EraseRootFromParent_Done,
56491 /* 160798 */ // Label 4433: @160798
56492 /* 160798 */ GIM_Reject,
56493 /* 160799 */ // Label 4431: @160799
56494 /* 160799 */ GIM_Reject,
56495 /* 160800 */ // Label 4429: @160800
56496 /* 160800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4434*/ GIMT_Encode4(160867), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10139 //
56497 /* 160807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56498 /* 160811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56499 /* 160815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56500 /* 160819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56501 /* 160823 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56502 /* 160826 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56503 /* 160830 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56504 /* 160834 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56505 /* 160838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56506 /* 160840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56507 /* 160847 */ // (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)
56508 /* 160847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
56509 /* 160850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56510 /* 160852 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56511 /* 160854 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56512 /* 160856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56513 /* 160860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56514 /* 160865 */ GIR_RootConstrainSelectedInstOperands,
56515 /* 160866 */ // GIR_Coverage, 10139,
56516 /* 160866 */ GIR_EraseRootFromParent_Done,
56517 /* 160867 */ // Label 4434: @160867
56518 /* 160867 */ GIM_Try, /*On fail goto*//*Label 4435*/ GIMT_Encode4(160995),
56519 /* 160872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56520 /* 160876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56521 /* 160880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56522 /* 160884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4436*/ GIMT_Encode4(160939), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1276 //
56523 /* 160891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56524 /* 160895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56525 /* 160899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56526 /* 160902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56527 /* 160906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56528 /* 160910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56529 /* 160912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56530 /* 160919 */ // (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)
56531 /* 160919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
56532 /* 160922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56533 /* 160924 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56534 /* 160926 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56535 /* 160928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56536 /* 160932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56537 /* 160937 */ GIR_RootConstrainSelectedInstOperands,
56538 /* 160938 */ // GIR_Coverage, 1276,
56539 /* 160938 */ GIR_EraseRootFromParent_Done,
56540 /* 160939 */ // Label 4436: @160939
56541 /* 160939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4437*/ GIMT_Encode4(160994), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1340 //
56542 /* 160946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56543 /* 160950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56544 /* 160954 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56545 /* 160957 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56546 /* 160961 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56547 /* 160965 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56548 /* 160967 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56549 /* 160974 */ // (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)
56550 /* 160974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
56551 /* 160977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56552 /* 160979 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56553 /* 160981 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
56554 /* 160983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56555 /* 160987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56556 /* 160992 */ GIR_RootConstrainSelectedInstOperands,
56557 /* 160993 */ // GIR_Coverage, 1340,
56558 /* 160993 */ GIR_EraseRootFromParent_Done,
56559 /* 160994 */ // Label 4437: @160994
56560 /* 160994 */ GIM_Reject,
56561 /* 160995 */ // Label 4435: @160995
56562 /* 160995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4438*/ GIMT_Encode4(161062), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10136 //
56563 /* 161002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56564 /* 161006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56565 /* 161010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56566 /* 161014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56567 /* 161018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56568 /* 161022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56569 /* 161025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56570 /* 161029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56571 /* 161033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56572 /* 161035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56573 /* 161042 */ // (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)
56574 /* 161042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
56575 /* 161045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56576 /* 161047 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56577 /* 161049 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56578 /* 161051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56579 /* 161055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56580 /* 161060 */ GIR_RootConstrainSelectedInstOperands,
56581 /* 161061 */ // GIR_Coverage, 10136,
56582 /* 161061 */ GIR_EraseRootFromParent_Done,
56583 /* 161062 */ // Label 4438: @161062
56584 /* 161062 */ GIM_Try, /*On fail goto*//*Label 4439*/ GIMT_Encode4(161122),
56585 /* 161067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56586 /* 161071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56587 /* 161075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56588 /* 161079 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56589 /* 161083 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4440*/ GIMT_Encode4(161103), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1274 //
56590 /* 161090 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
56591 /* 161090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
56592 /* 161093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56593 /* 161095 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56594 /* 161097 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56595 /* 161099 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56596 /* 161101 */ GIR_RootConstrainSelectedInstOperands,
56597 /* 161102 */ // GIR_Coverage, 1274,
56598 /* 161102 */ GIR_EraseRootFromParent_Done,
56599 /* 161103 */ // Label 4440: @161103
56600 /* 161103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4441*/ GIMT_Encode4(161121), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1338 //
56601 /* 161110 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
56602 /* 161110 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
56603 /* 161115 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56604 /* 161119 */ GIR_RootConstrainSelectedInstOperands,
56605 /* 161120 */ // GIR_Coverage, 1338,
56606 /* 161120 */ GIR_Done,
56607 /* 161121 */ // Label 4441: @161121
56608 /* 161121 */ GIM_Reject,
56609 /* 161122 */ // Label 4439: @161122
56610 /* 161122 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4442*/ GIMT_Encode4(161158), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10134 //
56611 /* 161129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56612 /* 161133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56613 /* 161137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56614 /* 161141 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56615 /* 161145 */ // (fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
56616 /* 161145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
56617 /* 161148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56618 /* 161150 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56619 /* 161152 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56620 /* 161154 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56621 /* 161156 */ GIR_RootConstrainSelectedInstOperands,
56622 /* 161157 */ // GIR_Coverage, 10134,
56623 /* 161157 */ GIR_EraseRootFromParent_Done,
56624 /* 161158 */ // Label 4442: @161158
56625 /* 161158 */ GIM_Reject,
56626 /* 161159 */ // Label 4426: @161159
56627 /* 161159 */ GIM_Reject,
56628 /* 161160 */ // Label 4408: @161160
56629 /* 161160 */ GIM_Try, /*On fail goto*//*Label 4443*/ GIMT_Encode4(161864),
56630 /* 161165 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
56631 /* 161168 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
56632 /* 161171 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
56633 /* 161174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4444*/ GIMT_Encode4(161241), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1288 //
56634 /* 161181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56635 /* 161185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56636 /* 161189 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56637 /* 161193 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56638 /* 161196 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56639 /* 161200 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56640 /* 161204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56641 /* 161208 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56642 /* 161212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56643 /* 161214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56644 /* 161221 */ // (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)
56645 /* 161221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
56646 /* 161224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56647 /* 161226 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56648 /* 161228 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56649 /* 161230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56650 /* 161234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56651 /* 161239 */ GIR_RootConstrainSelectedInstOperands,
56652 /* 161240 */ // GIR_Coverage, 1288,
56653 /* 161240 */ GIR_EraseRootFromParent_Done,
56654 /* 161241 */ // Label 4444: @161241
56655 /* 161241 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4445*/ GIMT_Encode4(161308), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10150 //
56656 /* 161248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56657 /* 161252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56658 /* 161256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56659 /* 161260 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56660 /* 161263 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56661 /* 161267 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56662 /* 161271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56663 /* 161275 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56664 /* 161279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56665 /* 161281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56666 /* 161288 */ // (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)
56667 /* 161288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
56668 /* 161291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56669 /* 161293 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56670 /* 161295 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56671 /* 161297 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56672 /* 161301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56673 /* 161306 */ GIR_RootConstrainSelectedInstOperands,
56674 /* 161307 */ // GIR_Coverage, 10150,
56675 /* 161307 */ GIR_EraseRootFromParent_Done,
56676 /* 161308 */ // Label 4445: @161308
56677 /* 161308 */ GIM_Try, /*On fail goto*//*Label 4446*/ GIMT_Encode4(161505),
56678 /* 161313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56679 /* 161317 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4447*/ GIMT_Encode4(161380), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 23565 //
56680 /* 161324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56681 /* 161328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56682 /* 161332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56683 /* 161335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56684 /* 161339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56685 /* 161343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56686 /* 161347 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56687 /* 161351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56688 /* 161353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56689 /* 161360 */ // (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)
56690 /* 161360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
56691 /* 161363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56692 /* 161365 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56693 /* 161367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56694 /* 161371 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56695 /* 161373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56696 /* 161378 */ GIR_RootConstrainSelectedInstOperands,
56697 /* 161379 */ // GIR_Coverage, 23565,
56698 /* 161379 */ GIR_EraseRootFromParent_Done,
56699 /* 161380 */ // Label 4447: @161380
56700 /* 161380 */ GIM_Try, /*On fail goto*//*Label 4448*/ GIMT_Encode4(161504),
56701 /* 161385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56702 /* 161389 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56703 /* 161393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4449*/ GIMT_Encode4(161448), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1286 //
56704 /* 161400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56705 /* 161404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56706 /* 161408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56707 /* 161411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56708 /* 161415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56709 /* 161419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56710 /* 161421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56711 /* 161428 */ // (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)
56712 /* 161428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
56713 /* 161431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56714 /* 161433 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56715 /* 161435 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56716 /* 161437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56717 /* 161441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56718 /* 161446 */ GIR_RootConstrainSelectedInstOperands,
56719 /* 161447 */ // GIR_Coverage, 1286,
56720 /* 161447 */ GIR_EraseRootFromParent_Done,
56721 /* 161448 */ // Label 4449: @161448
56722 /* 161448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4450*/ GIMT_Encode4(161503), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1426 //
56723 /* 161455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56724 /* 161459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56725 /* 161463 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56726 /* 161466 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56727 /* 161470 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56728 /* 161474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56729 /* 161476 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56730 /* 161483 */ // (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)
56731 /* 161483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
56732 /* 161486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56733 /* 161488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56734 /* 161490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56735 /* 161494 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56736 /* 161496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56737 /* 161501 */ GIR_RootConstrainSelectedInstOperands,
56738 /* 161502 */ // GIR_Coverage, 1426,
56739 /* 161502 */ GIR_EraseRootFromParent_Done,
56740 /* 161503 */ // Label 4450: @161503
56741 /* 161503 */ GIM_Reject,
56742 /* 161504 */ // Label 4448: @161504
56743 /* 161504 */ GIM_Reject,
56744 /* 161505 */ // Label 4446: @161505
56745 /* 161505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4451*/ GIMT_Encode4(161572), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10148 //
56746 /* 161512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56747 /* 161516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56748 /* 161520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56749 /* 161524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56750 /* 161528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56751 /* 161531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56752 /* 161535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56753 /* 161539 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56754 /* 161543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56755 /* 161545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56756 /* 161552 */ // (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)
56757 /* 161552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
56758 /* 161555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56759 /* 161557 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56760 /* 161559 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56761 /* 161561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56762 /* 161565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56763 /* 161570 */ GIR_RootConstrainSelectedInstOperands,
56764 /* 161571 */ // GIR_Coverage, 10148,
56765 /* 161571 */ GIR_EraseRootFromParent_Done,
56766 /* 161572 */ // Label 4451: @161572
56767 /* 161572 */ GIM_Try, /*On fail goto*//*Label 4452*/ GIMT_Encode4(161700),
56768 /* 161577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56769 /* 161581 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56770 /* 161585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56771 /* 161589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4453*/ GIMT_Encode4(161644), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1284 //
56772 /* 161596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56773 /* 161600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56774 /* 161604 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56775 /* 161607 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56776 /* 161611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56777 /* 161615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56778 /* 161617 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56779 /* 161624 */ // (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)
56780 /* 161624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
56781 /* 161627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56782 /* 161629 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56783 /* 161631 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56784 /* 161633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56785 /* 161637 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56786 /* 161642 */ GIR_RootConstrainSelectedInstOperands,
56787 /* 161643 */ // GIR_Coverage, 1284,
56788 /* 161643 */ GIR_EraseRootFromParent_Done,
56789 /* 161644 */ // Label 4453: @161644
56790 /* 161644 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4454*/ GIMT_Encode4(161699), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1424 //
56791 /* 161651 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56792 /* 161655 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56793 /* 161659 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56794 /* 161662 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56795 /* 161666 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56796 /* 161670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56797 /* 161672 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56798 /* 161679 */ // (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)
56799 /* 161679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
56800 /* 161682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56801 /* 161684 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56802 /* 161686 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
56803 /* 161688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56804 /* 161692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56805 /* 161697 */ GIR_RootConstrainSelectedInstOperands,
56806 /* 161698 */ // GIR_Coverage, 1424,
56807 /* 161698 */ GIR_EraseRootFromParent_Done,
56808 /* 161699 */ // Label 4454: @161699
56809 /* 161699 */ GIM_Reject,
56810 /* 161700 */ // Label 4452: @161700
56811 /* 161700 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4455*/ GIMT_Encode4(161767), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10145 //
56812 /* 161707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56813 /* 161711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56814 /* 161715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56815 /* 161719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56816 /* 161723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56817 /* 161727 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56818 /* 161730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56819 /* 161734 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56820 /* 161738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56821 /* 161740 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56822 /* 161747 */ // (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)
56823 /* 161747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
56824 /* 161750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56825 /* 161752 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56826 /* 161754 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56827 /* 161756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56828 /* 161760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56829 /* 161765 */ GIR_RootConstrainSelectedInstOperands,
56830 /* 161766 */ // GIR_Coverage, 10145,
56831 /* 161766 */ GIR_EraseRootFromParent_Done,
56832 /* 161767 */ // Label 4455: @161767
56833 /* 161767 */ GIM_Try, /*On fail goto*//*Label 4456*/ GIMT_Encode4(161827),
56834 /* 161772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56835 /* 161776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56836 /* 161780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56837 /* 161784 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56838 /* 161788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4457*/ GIMT_Encode4(161808), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1282 //
56839 /* 161795 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
56840 /* 161795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
56841 /* 161798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56842 /* 161800 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56843 /* 161802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56844 /* 161804 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56845 /* 161806 */ GIR_RootConstrainSelectedInstOperands,
56846 /* 161807 */ // GIR_Coverage, 1282,
56847 /* 161807 */ GIR_EraseRootFromParent_Done,
56848 /* 161808 */ // Label 4457: @161808
56849 /* 161808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4458*/ GIMT_Encode4(161826), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1422 //
56850 /* 161815 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
56851 /* 161815 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
56852 /* 161820 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56853 /* 161824 */ GIR_RootConstrainSelectedInstOperands,
56854 /* 161825 */ // GIR_Coverage, 1422,
56855 /* 161825 */ GIR_Done,
56856 /* 161826 */ // Label 4458: @161826
56857 /* 161826 */ GIM_Reject,
56858 /* 161827 */ // Label 4456: @161827
56859 /* 161827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4459*/ GIMT_Encode4(161863), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10143 //
56860 /* 161834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56861 /* 161838 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56862 /* 161842 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56863 /* 161846 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56864 /* 161850 */ // (fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
56865 /* 161850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
56866 /* 161853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56867 /* 161855 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56868 /* 161857 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56869 /* 161859 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56870 /* 161861 */ GIR_RootConstrainSelectedInstOperands,
56871 /* 161862 */ // GIR_Coverage, 10143,
56872 /* 161862 */ GIR_EraseRootFromParent_Done,
56873 /* 161863 */ // Label 4459: @161863
56874 /* 161863 */ GIM_Reject,
56875 /* 161864 */ // Label 4443: @161864
56876 /* 161864 */ GIM_Reject,
56877 /* 161865 */ // Label 4409: @161865
56878 /* 161865 */ GIM_Try, /*On fail goto*//*Label 4460*/ GIMT_Encode4(162105),
56879 /* 161870 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
56880 /* 161873 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
56881 /* 161876 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
56882 /* 161879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56883 /* 161883 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4461*/ GIMT_Encode4(161946), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9618 //
56884 /* 161890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56885 /* 161894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56886 /* 161898 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56887 /* 161901 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56888 /* 161905 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56889 /* 161909 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56890 /* 161913 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56891 /* 161917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56892 /* 161919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56893 /* 161926 */ // (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)
56894 /* 161926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
56895 /* 161929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56896 /* 161931 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56897 /* 161933 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56898 /* 161935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56899 /* 161939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56900 /* 161944 */ GIR_RootConstrainSelectedInstOperands,
56901 /* 161945 */ // GIR_Coverage, 9618,
56902 /* 161945 */ GIR_EraseRootFromParent_Done,
56903 /* 161946 */ // Label 4461: @161946
56904 /* 161946 */ GIM_Try, /*On fail goto*//*Label 4462*/ GIMT_Encode4(162104),
56905 /* 161951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56906 /* 161955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4463*/ GIMT_Encode4(162014), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9078 //
56907 /* 161962 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56908 /* 161966 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56909 /* 161970 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56910 /* 161973 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56911 /* 161977 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56912 /* 161981 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56913 /* 161985 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56914 /* 161987 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56915 /* 161994 */ // (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)
56916 /* 161994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
56917 /* 161997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56918 /* 161999 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56919 /* 162001 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56920 /* 162003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56921 /* 162007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56922 /* 162012 */ GIR_RootConstrainSelectedInstOperands,
56923 /* 162013 */ // GIR_Coverage, 9078,
56924 /* 162013 */ GIR_EraseRootFromParent_Done,
56925 /* 162014 */ // Label 4463: @162014
56926 /* 162014 */ GIM_Try, /*On fail goto*//*Label 4464*/ GIMT_Encode4(162103),
56927 /* 162019 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56928 /* 162023 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4465*/ GIMT_Encode4(162078), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8437 //
56929 /* 162030 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56930 /* 162034 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56931 /* 162038 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56932 /* 162041 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56933 /* 162045 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56934 /* 162049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56935 /* 162051 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56936 /* 162058 */ // (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)
56937 /* 162058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
56938 /* 162061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56939 /* 162063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56940 /* 162065 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56941 /* 162067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56942 /* 162071 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56943 /* 162076 */ GIR_RootConstrainSelectedInstOperands,
56944 /* 162077 */ // GIR_Coverage, 8437,
56945 /* 162077 */ GIR_EraseRootFromParent_Done,
56946 /* 162078 */ // Label 4465: @162078
56947 /* 162078 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4466*/ GIMT_Encode4(162102), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8433 //
56948 /* 162085 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56949 /* 162089 */ // (fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
56950 /* 162089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
56951 /* 162092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56952 /* 162094 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56953 /* 162096 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56954 /* 162098 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56955 /* 162100 */ GIR_RootConstrainSelectedInstOperands,
56956 /* 162101 */ // GIR_Coverage, 8433,
56957 /* 162101 */ GIR_EraseRootFromParent_Done,
56958 /* 162102 */ // Label 4466: @162102
56959 /* 162102 */ GIM_Reject,
56960 /* 162103 */ // Label 4464: @162103
56961 /* 162103 */ GIM_Reject,
56962 /* 162104 */ // Label 4462: @162104
56963 /* 162104 */ GIM_Reject,
56964 /* 162105 */ // Label 4460: @162105
56965 /* 162105 */ GIM_Reject,
56966 /* 162106 */ // Label 4410: @162106
56967 /* 162106 */ GIM_Try, /*On fail goto*//*Label 4467*/ GIMT_Encode4(162346),
56968 /* 162111 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
56969 /* 162114 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
56970 /* 162117 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
56971 /* 162120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56972 /* 162124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4468*/ GIMT_Encode4(162187), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9608 //
56973 /* 162131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56974 /* 162135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56975 /* 162139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56976 /* 162142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56977 /* 162146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56978 /* 162150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56979 /* 162154 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56980 /* 162158 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56981 /* 162160 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56982 /* 162167 */ // (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)
56983 /* 162167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
56984 /* 162170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56985 /* 162172 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56986 /* 162174 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56987 /* 162176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56988 /* 162180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56989 /* 162185 */ GIR_RootConstrainSelectedInstOperands,
56990 /* 162186 */ // GIR_Coverage, 9608,
56991 /* 162186 */ GIR_EraseRootFromParent_Done,
56992 /* 162187 */ // Label 4468: @162187
56993 /* 162187 */ GIM_Try, /*On fail goto*//*Label 4469*/ GIMT_Encode4(162345),
56994 /* 162192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56995 /* 162196 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4470*/ GIMT_Encode4(162255), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9068 //
56996 /* 162203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56997 /* 162207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56998 /* 162211 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56999 /* 162214 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57000 /* 162218 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57001 /* 162222 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57002 /* 162226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57003 /* 162228 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57004 /* 162235 */ // (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)
57005 /* 162235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
57006 /* 162238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57007 /* 162240 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57008 /* 162242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57009 /* 162244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57010 /* 162248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57011 /* 162253 */ GIR_RootConstrainSelectedInstOperands,
57012 /* 162254 */ // GIR_Coverage, 9068,
57013 /* 162254 */ GIR_EraseRootFromParent_Done,
57014 /* 162255 */ // Label 4470: @162255
57015 /* 162255 */ GIM_Try, /*On fail goto*//*Label 4471*/ GIMT_Encode4(162344),
57016 /* 162260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57017 /* 162264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4472*/ GIMT_Encode4(162319), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8425 //
57018 /* 162271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57019 /* 162275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57020 /* 162279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57021 /* 162282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57022 /* 162286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57023 /* 162290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57024 /* 162292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57025 /* 162299 */ // (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)
57026 /* 162299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
57027 /* 162302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57028 /* 162304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57029 /* 162306 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57030 /* 162308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57031 /* 162312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57032 /* 162317 */ GIR_RootConstrainSelectedInstOperands,
57033 /* 162318 */ // GIR_Coverage, 8425,
57034 /* 162318 */ GIR_EraseRootFromParent_Done,
57035 /* 162319 */ // Label 4472: @162319
57036 /* 162319 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4473*/ GIMT_Encode4(162343), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8421 //
57037 /* 162326 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57038 /* 162330 */ // (fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
57039 /* 162330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
57040 /* 162333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57041 /* 162335 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57042 /* 162337 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57043 /* 162339 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57044 /* 162341 */ GIR_RootConstrainSelectedInstOperands,
57045 /* 162342 */ // GIR_Coverage, 8421,
57046 /* 162342 */ GIR_EraseRootFromParent_Done,
57047 /* 162343 */ // Label 4473: @162343
57048 /* 162343 */ GIM_Reject,
57049 /* 162344 */ // Label 4471: @162344
57050 /* 162344 */ GIM_Reject,
57051 /* 162345 */ // Label 4469: @162345
57052 /* 162345 */ GIM_Reject,
57053 /* 162346 */ // Label 4467: @162346
57054 /* 162346 */ GIM_Reject,
57055 /* 162347 */ // Label 4411: @162347
57056 /* 162347 */ GIM_Try, /*On fail goto*//*Label 4474*/ GIMT_Encode4(162587),
57057 /* 162352 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
57058 /* 162355 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
57059 /* 162358 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
57060 /* 162361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57061 /* 162365 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4475*/ GIMT_Encode4(162428), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 9596 //
57062 /* 162372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57063 /* 162376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57064 /* 162380 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57065 /* 162383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57066 /* 162387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57067 /* 162391 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57068 /* 162395 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57069 /* 162399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57070 /* 162401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57071 /* 162408 */ // (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)
57072 /* 162408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
57073 /* 162411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57074 /* 162413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57075 /* 162415 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57076 /* 162417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57077 /* 162421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57078 /* 162426 */ GIR_RootConstrainSelectedInstOperands,
57079 /* 162427 */ // GIR_Coverage, 9596,
57080 /* 162427 */ GIR_EraseRootFromParent_Done,
57081 /* 162428 */ // Label 4475: @162428
57082 /* 162428 */ GIM_Try, /*On fail goto*//*Label 4476*/ GIMT_Encode4(162586),
57083 /* 162433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57084 /* 162437 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4477*/ GIMT_Encode4(162496), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 9056 //
57085 /* 162444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57086 /* 162448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57087 /* 162452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57088 /* 162455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57089 /* 162459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57090 /* 162463 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57091 /* 162467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57092 /* 162469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57093 /* 162476 */ // (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)
57094 /* 162476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
57095 /* 162479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57096 /* 162481 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57097 /* 162483 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57098 /* 162485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57099 /* 162489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57100 /* 162494 */ GIR_RootConstrainSelectedInstOperands,
57101 /* 162495 */ // GIR_Coverage, 9056,
57102 /* 162495 */ GIR_EraseRootFromParent_Done,
57103 /* 162496 */ // Label 4477: @162496
57104 /* 162496 */ GIM_Try, /*On fail goto*//*Label 4478*/ GIMT_Encode4(162585),
57105 /* 162501 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57106 /* 162505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4479*/ GIMT_Encode4(162560), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 8410 //
57107 /* 162512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57108 /* 162516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57109 /* 162520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57110 /* 162523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57111 /* 162527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57112 /* 162531 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57113 /* 162533 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57114 /* 162540 */ // (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)
57115 /* 162540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
57116 /* 162543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57117 /* 162545 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57118 /* 162547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57119 /* 162549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57120 /* 162553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57121 /* 162558 */ GIR_RootConstrainSelectedInstOperands,
57122 /* 162559 */ // GIR_Coverage, 8410,
57123 /* 162559 */ GIR_EraseRootFromParent_Done,
57124 /* 162560 */ // Label 4479: @162560
57125 /* 162560 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4480*/ GIMT_Encode4(162584), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 8406 //
57126 /* 162567 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57127 /* 162571 */ // (fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
57128 /* 162571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
57129 /* 162574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57130 /* 162576 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57131 /* 162578 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57132 /* 162580 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57133 /* 162582 */ GIR_RootConstrainSelectedInstOperands,
57134 /* 162583 */ // GIR_Coverage, 8406,
57135 /* 162583 */ GIR_EraseRootFromParent_Done,
57136 /* 162584 */ // Label 4480: @162584
57137 /* 162584 */ GIM_Reject,
57138 /* 162585 */ // Label 4478: @162585
57139 /* 162585 */ GIM_Reject,
57140 /* 162586 */ // Label 4476: @162586
57141 /* 162586 */ GIM_Reject,
57142 /* 162587 */ // Label 4474: @162587
57143 /* 162587 */ GIM_Reject,
57144 /* 162588 */ // Label 4412: @162588
57145 /* 162588 */ GIM_Try, /*On fail goto*//*Label 4481*/ GIMT_Encode4(163292),
57146 /* 162593 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
57147 /* 162596 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
57148 /* 162599 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
57149 /* 162602 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4482*/ GIMT_Encode4(162669), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1120 //
57150 /* 162609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57151 /* 162613 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57152 /* 162617 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57153 /* 162621 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57154 /* 162624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57155 /* 162628 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57156 /* 162632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57157 /* 162636 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57158 /* 162640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57159 /* 162642 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57160 /* 162649 */ // (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)
57161 /* 162649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
57162 /* 162652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57163 /* 162654 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57164 /* 162656 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57165 /* 162658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57166 /* 162662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57167 /* 162667 */ GIR_RootConstrainSelectedInstOperands,
57168 /* 162668 */ // GIR_Coverage, 1120,
57169 /* 162668 */ GIR_EraseRootFromParent_Done,
57170 /* 162669 */ // Label 4482: @162669
57171 /* 162669 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4483*/ GIMT_Encode4(162736), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9650 //
57172 /* 162676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57173 /* 162680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57174 /* 162684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57175 /* 162688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57176 /* 162691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57177 /* 162695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57178 /* 162699 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57179 /* 162703 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57180 /* 162707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57181 /* 162709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57182 /* 162716 */ // (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)
57183 /* 162716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
57184 /* 162719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57185 /* 162721 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57186 /* 162723 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57187 /* 162725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57188 /* 162729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57189 /* 162734 */ GIR_RootConstrainSelectedInstOperands,
57190 /* 162735 */ // GIR_Coverage, 9650,
57191 /* 162735 */ GIR_EraseRootFromParent_Done,
57192 /* 162736 */ // Label 4483: @162736
57193 /* 162736 */ GIM_Try, /*On fail goto*//*Label 4484*/ GIMT_Encode4(162933),
57194 /* 162741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57195 /* 162745 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4485*/ GIMT_Encode4(162808), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23545 //
57196 /* 162752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57197 /* 162756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57198 /* 162760 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57199 /* 162763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57200 /* 162767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57201 /* 162771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57202 /* 162775 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57203 /* 162779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57204 /* 162781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57205 /* 162788 */ // (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)
57206 /* 162788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
57207 /* 162791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57208 /* 162793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57209 /* 162795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57210 /* 162799 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57211 /* 162801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57212 /* 162806 */ GIR_RootConstrainSelectedInstOperands,
57213 /* 162807 */ // GIR_Coverage, 23545,
57214 /* 162807 */ GIR_EraseRootFromParent_Done,
57215 /* 162808 */ // Label 4485: @162808
57216 /* 162808 */ GIM_Try, /*On fail goto*//*Label 4486*/ GIMT_Encode4(162932),
57217 /* 162813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57218 /* 162817 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57219 /* 162821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4487*/ GIMT_Encode4(162876), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1118 //
57220 /* 162828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57221 /* 162832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57222 /* 162836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57223 /* 162839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57224 /* 162843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57225 /* 162847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57226 /* 162849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57227 /* 162856 */ // (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)
57228 /* 162856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
57229 /* 162859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57230 /* 162861 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57231 /* 162863 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57232 /* 162865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57233 /* 162869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57234 /* 162874 */ GIR_RootConstrainSelectedInstOperands,
57235 /* 162875 */ // GIR_Coverage, 1118,
57236 /* 162875 */ GIR_EraseRootFromParent_Done,
57237 /* 162876 */ // Label 4487: @162876
57238 /* 162876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4488*/ GIMT_Encode4(162931), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1366 //
57239 /* 162883 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57240 /* 162887 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57241 /* 162891 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57242 /* 162894 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57243 /* 162898 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57244 /* 162902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57245 /* 162904 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57246 /* 162911 */ // (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)
57247 /* 162911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
57248 /* 162914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57249 /* 162916 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57250 /* 162918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57251 /* 162922 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57252 /* 162924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57253 /* 162929 */ GIR_RootConstrainSelectedInstOperands,
57254 /* 162930 */ // GIR_Coverage, 1366,
57255 /* 162930 */ GIR_EraseRootFromParent_Done,
57256 /* 162931 */ // Label 4488: @162931
57257 /* 162931 */ GIM_Reject,
57258 /* 162932 */ // Label 4486: @162932
57259 /* 162932 */ GIM_Reject,
57260 /* 162933 */ // Label 4484: @162933
57261 /* 162933 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4489*/ GIMT_Encode4(163000), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9110 //
57262 /* 162940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57263 /* 162944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57264 /* 162948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57265 /* 162952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57266 /* 162956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57267 /* 162959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57268 /* 162963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57269 /* 162967 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57270 /* 162971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57271 /* 162973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57272 /* 162980 */ // (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)
57273 /* 162980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
57274 /* 162983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57275 /* 162985 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57276 /* 162987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57277 /* 162989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57278 /* 162993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57279 /* 162998 */ GIR_RootConstrainSelectedInstOperands,
57280 /* 162999 */ // GIR_Coverage, 9110,
57281 /* 162999 */ GIR_EraseRootFromParent_Done,
57282 /* 163000 */ // Label 4489: @163000
57283 /* 163000 */ GIM_Try, /*On fail goto*//*Label 4490*/ GIMT_Encode4(163128),
57284 /* 163005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57285 /* 163009 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57286 /* 163013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57287 /* 163017 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4491*/ GIMT_Encode4(163072), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1116 //
57288 /* 163024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57289 /* 163028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57290 /* 163032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57291 /* 163035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57292 /* 163039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57293 /* 163043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57294 /* 163045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57295 /* 163052 */ // (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)
57296 /* 163052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
57297 /* 163055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57298 /* 163057 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57299 /* 163059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57300 /* 163061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57301 /* 163065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57302 /* 163070 */ GIR_RootConstrainSelectedInstOperands,
57303 /* 163071 */ // GIR_Coverage, 1116,
57304 /* 163071 */ GIR_EraseRootFromParent_Done,
57305 /* 163072 */ // Label 4491: @163072
57306 /* 163072 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4492*/ GIMT_Encode4(163127), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1364 //
57307 /* 163079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57308 /* 163083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57309 /* 163087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57310 /* 163090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57311 /* 163094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57312 /* 163098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57313 /* 163100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57314 /* 163107 */ // (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)
57315 /* 163107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
57316 /* 163110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57317 /* 163112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57318 /* 163114 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
57319 /* 163116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57320 /* 163120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57321 /* 163125 */ GIR_RootConstrainSelectedInstOperands,
57322 /* 163126 */ // GIR_Coverage, 1364,
57323 /* 163126 */ GIR_EraseRootFromParent_Done,
57324 /* 163127 */ // Label 4492: @163127
57325 /* 163127 */ GIM_Reject,
57326 /* 163128 */ // Label 4490: @163128
57327 /* 163128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4493*/ GIMT_Encode4(163195), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8476 //
57328 /* 163135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57329 /* 163139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57330 /* 163143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57331 /* 163147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57332 /* 163151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57333 /* 163155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57334 /* 163158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57335 /* 163162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57336 /* 163166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57337 /* 163168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57338 /* 163175 */ // (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)
57339 /* 163175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
57340 /* 163178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57341 /* 163180 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57342 /* 163182 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57343 /* 163184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57344 /* 163188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57345 /* 163193 */ GIR_RootConstrainSelectedInstOperands,
57346 /* 163194 */ // GIR_Coverage, 8476,
57347 /* 163194 */ GIR_EraseRootFromParent_Done,
57348 /* 163195 */ // Label 4493: @163195
57349 /* 163195 */ GIM_Try, /*On fail goto*//*Label 4494*/ GIMT_Encode4(163255),
57350 /* 163200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57351 /* 163204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57352 /* 163208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57353 /* 163212 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57354 /* 163216 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4495*/ GIMT_Encode4(163236), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1114 //
57355 /* 163223 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
57356 /* 163223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
57357 /* 163226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57358 /* 163228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57359 /* 163230 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57360 /* 163232 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57361 /* 163234 */ GIR_RootConstrainSelectedInstOperands,
57362 /* 163235 */ // GIR_Coverage, 1114,
57363 /* 163235 */ GIR_EraseRootFromParent_Done,
57364 /* 163236 */ // Label 4495: @163236
57365 /* 163236 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4496*/ GIMT_Encode4(163254), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1362 //
57366 /* 163243 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
57367 /* 163243 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
57368 /* 163248 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57369 /* 163252 */ GIR_RootConstrainSelectedInstOperands,
57370 /* 163253 */ // GIR_Coverage, 1362,
57371 /* 163253 */ GIR_Done,
57372 /* 163254 */ // Label 4496: @163254
57373 /* 163254 */ GIM_Reject,
57374 /* 163255 */ // Label 4494: @163255
57375 /* 163255 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4497*/ GIMT_Encode4(163291), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8472 //
57376 /* 163262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57377 /* 163266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57378 /* 163270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57379 /* 163274 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57380 /* 163278 */ // (fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
57381 /* 163278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
57382 /* 163281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57383 /* 163283 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57384 /* 163285 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57385 /* 163287 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57386 /* 163289 */ GIR_RootConstrainSelectedInstOperands,
57387 /* 163290 */ // GIR_Coverage, 8472,
57388 /* 163290 */ GIR_EraseRootFromParent_Done,
57389 /* 163291 */ // Label 4497: @163291
57390 /* 163291 */ GIM_Reject,
57391 /* 163292 */ // Label 4481: @163292
57392 /* 163292 */ GIM_Reject,
57393 /* 163293 */ // Label 4413: @163293
57394 /* 163293 */ GIM_Try, /*On fail goto*//*Label 4498*/ GIMT_Encode4(163997),
57395 /* 163298 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
57396 /* 163301 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
57397 /* 163304 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
57398 /* 163307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4499*/ GIMT_Encode4(163374), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1128 //
57399 /* 163314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57400 /* 163318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57401 /* 163322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57402 /* 163326 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57403 /* 163329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57404 /* 163333 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57405 /* 163337 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57406 /* 163341 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57407 /* 163345 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57408 /* 163347 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57409 /* 163354 */ // (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)
57410 /* 163354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
57411 /* 163357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57412 /* 163359 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57413 /* 163361 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57414 /* 163363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57415 /* 163367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57416 /* 163372 */ GIR_RootConstrainSelectedInstOperands,
57417 /* 163373 */ // GIR_Coverage, 1128,
57418 /* 163373 */ GIR_EraseRootFromParent_Done,
57419 /* 163374 */ // Label 4499: @163374
57420 /* 163374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4500*/ GIMT_Encode4(163441), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9640 //
57421 /* 163381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57422 /* 163385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57423 /* 163389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57424 /* 163393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57425 /* 163396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57426 /* 163400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57427 /* 163404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57428 /* 163408 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57429 /* 163412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57430 /* 163414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57431 /* 163421 */ // (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)
57432 /* 163421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
57433 /* 163424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57434 /* 163426 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57435 /* 163428 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57436 /* 163430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57437 /* 163434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57438 /* 163439 */ GIR_RootConstrainSelectedInstOperands,
57439 /* 163440 */ // GIR_Coverage, 9640,
57440 /* 163440 */ GIR_EraseRootFromParent_Done,
57441 /* 163441 */ // Label 4500: @163441
57442 /* 163441 */ GIM_Try, /*On fail goto*//*Label 4501*/ GIMT_Encode4(163638),
57443 /* 163446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57444 /* 163450 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4502*/ GIMT_Encode4(163513), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23547 //
57445 /* 163457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57446 /* 163461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57447 /* 163465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57448 /* 163468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57449 /* 163472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57450 /* 163476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57451 /* 163480 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57452 /* 163484 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57453 /* 163486 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57454 /* 163493 */ // (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)
57455 /* 163493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
57456 /* 163496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57457 /* 163498 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57458 /* 163500 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57459 /* 163504 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57460 /* 163506 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57461 /* 163511 */ GIR_RootConstrainSelectedInstOperands,
57462 /* 163512 */ // GIR_Coverage, 23547,
57463 /* 163512 */ GIR_EraseRootFromParent_Done,
57464 /* 163513 */ // Label 4502: @163513
57465 /* 163513 */ GIM_Try, /*On fail goto*//*Label 4503*/ GIMT_Encode4(163637),
57466 /* 163518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57467 /* 163522 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57468 /* 163526 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4504*/ GIMT_Encode4(163581), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1126 //
57469 /* 163533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57470 /* 163537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57471 /* 163541 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57472 /* 163544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57473 /* 163548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57474 /* 163552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57475 /* 163554 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57476 /* 163561 */ // (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)
57477 /* 163561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
57478 /* 163564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57479 /* 163566 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57480 /* 163568 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57481 /* 163570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57482 /* 163574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57483 /* 163579 */ GIR_RootConstrainSelectedInstOperands,
57484 /* 163580 */ // GIR_Coverage, 1126,
57485 /* 163580 */ GIR_EraseRootFromParent_Done,
57486 /* 163581 */ // Label 4504: @163581
57487 /* 163581 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4505*/ GIMT_Encode4(163636), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1372 //
57488 /* 163588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57489 /* 163592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57490 /* 163596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57491 /* 163599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57492 /* 163603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57493 /* 163607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57494 /* 163609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57495 /* 163616 */ // (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)
57496 /* 163616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
57497 /* 163619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57498 /* 163621 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57499 /* 163623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57500 /* 163627 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57501 /* 163629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57502 /* 163634 */ GIR_RootConstrainSelectedInstOperands,
57503 /* 163635 */ // GIR_Coverage, 1372,
57504 /* 163635 */ GIR_EraseRootFromParent_Done,
57505 /* 163636 */ // Label 4505: @163636
57506 /* 163636 */ GIM_Reject,
57507 /* 163637 */ // Label 4503: @163637
57508 /* 163637 */ GIM_Reject,
57509 /* 163638 */ // Label 4501: @163638
57510 /* 163638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4506*/ GIMT_Encode4(163705), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9100 //
57511 /* 163645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57512 /* 163649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57513 /* 163653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57514 /* 163657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57515 /* 163661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57516 /* 163664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57517 /* 163668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57518 /* 163672 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57519 /* 163676 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57520 /* 163678 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57521 /* 163685 */ // (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)
57522 /* 163685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
57523 /* 163688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57524 /* 163690 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57525 /* 163692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57526 /* 163694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57527 /* 163698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57528 /* 163703 */ GIR_RootConstrainSelectedInstOperands,
57529 /* 163704 */ // GIR_Coverage, 9100,
57530 /* 163704 */ GIR_EraseRootFromParent_Done,
57531 /* 163705 */ // Label 4506: @163705
57532 /* 163705 */ GIM_Try, /*On fail goto*//*Label 4507*/ GIMT_Encode4(163833),
57533 /* 163710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57534 /* 163714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57535 /* 163718 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57536 /* 163722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4508*/ GIMT_Encode4(163777), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1124 //
57537 /* 163729 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57538 /* 163733 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57539 /* 163737 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57540 /* 163740 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57541 /* 163744 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57542 /* 163748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57543 /* 163750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57544 /* 163757 */ // (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)
57545 /* 163757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
57546 /* 163760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57547 /* 163762 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57548 /* 163764 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57549 /* 163766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57550 /* 163770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57551 /* 163775 */ GIR_RootConstrainSelectedInstOperands,
57552 /* 163776 */ // GIR_Coverage, 1124,
57553 /* 163776 */ GIR_EraseRootFromParent_Done,
57554 /* 163777 */ // Label 4508: @163777
57555 /* 163777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4509*/ GIMT_Encode4(163832), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1370 //
57556 /* 163784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57557 /* 163788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57558 /* 163792 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57559 /* 163795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57560 /* 163799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57561 /* 163803 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57562 /* 163805 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57563 /* 163812 */ // (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)
57564 /* 163812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
57565 /* 163815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57566 /* 163817 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57567 /* 163819 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
57568 /* 163821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57569 /* 163825 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57570 /* 163830 */ GIR_RootConstrainSelectedInstOperands,
57571 /* 163831 */ // GIR_Coverage, 1370,
57572 /* 163831 */ GIR_EraseRootFromParent_Done,
57573 /* 163832 */ // Label 4509: @163832
57574 /* 163832 */ GIM_Reject,
57575 /* 163833 */ // Label 4507: @163833
57576 /* 163833 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4510*/ GIMT_Encode4(163900), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8464 //
57577 /* 163840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57578 /* 163844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57579 /* 163848 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57580 /* 163852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57581 /* 163856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57582 /* 163860 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57583 /* 163863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57584 /* 163867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57585 /* 163871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57586 /* 163873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57587 /* 163880 */ // (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)
57588 /* 163880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
57589 /* 163883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57590 /* 163885 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57591 /* 163887 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57592 /* 163889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57593 /* 163893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57594 /* 163898 */ GIR_RootConstrainSelectedInstOperands,
57595 /* 163899 */ // GIR_Coverage, 8464,
57596 /* 163899 */ GIR_EraseRootFromParent_Done,
57597 /* 163900 */ // Label 4510: @163900
57598 /* 163900 */ GIM_Try, /*On fail goto*//*Label 4511*/ GIMT_Encode4(163960),
57599 /* 163905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57600 /* 163909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57601 /* 163913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57602 /* 163917 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57603 /* 163921 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4512*/ GIMT_Encode4(163941), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1122 //
57604 /* 163928 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
57605 /* 163928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
57606 /* 163931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57607 /* 163933 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57608 /* 163935 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57609 /* 163937 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57610 /* 163939 */ GIR_RootConstrainSelectedInstOperands,
57611 /* 163940 */ // GIR_Coverage, 1122,
57612 /* 163940 */ GIR_EraseRootFromParent_Done,
57613 /* 163941 */ // Label 4512: @163941
57614 /* 163941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4513*/ GIMT_Encode4(163959), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1368 //
57615 /* 163948 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
57616 /* 163948 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
57617 /* 163953 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57618 /* 163957 */ GIR_RootConstrainSelectedInstOperands,
57619 /* 163958 */ // GIR_Coverage, 1368,
57620 /* 163958 */ GIR_Done,
57621 /* 163959 */ // Label 4513: @163959
57622 /* 163959 */ GIM_Reject,
57623 /* 163960 */ // Label 4511: @163960
57624 /* 163960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4514*/ GIMT_Encode4(163996), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8460 //
57625 /* 163967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57626 /* 163971 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57627 /* 163975 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57628 /* 163979 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57629 /* 163983 */ // (fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
57630 /* 163983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
57631 /* 163986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57632 /* 163988 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57633 /* 163990 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57634 /* 163992 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57635 /* 163994 */ GIR_RootConstrainSelectedInstOperands,
57636 /* 163995 */ // GIR_Coverage, 8460,
57637 /* 163995 */ GIR_EraseRootFromParent_Done,
57638 /* 163996 */ // Label 4514: @163996
57639 /* 163996 */ GIM_Reject,
57640 /* 163997 */ // Label 4498: @163997
57641 /* 163997 */ GIM_Reject,
57642 /* 163998 */ // Label 4414: @163998
57643 /* 163998 */ GIM_Try, /*On fail goto*//*Label 4515*/ GIMT_Encode4(164238),
57644 /* 164003 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
57645 /* 164006 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
57646 /* 164009 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
57647 /* 164012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57648 /* 164016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4516*/ GIMT_Encode4(164079), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9628 //
57649 /* 164023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57650 /* 164027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57651 /* 164031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57652 /* 164034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57653 /* 164038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57654 /* 164042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57655 /* 164046 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57656 /* 164050 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57657 /* 164052 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57658 /* 164059 */ // (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)
57659 /* 164059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
57660 /* 164062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57661 /* 164064 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57662 /* 164066 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57663 /* 164068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57664 /* 164072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57665 /* 164077 */ GIR_RootConstrainSelectedInstOperands,
57666 /* 164078 */ // GIR_Coverage, 9628,
57667 /* 164078 */ GIR_EraseRootFromParent_Done,
57668 /* 164079 */ // Label 4516: @164079
57669 /* 164079 */ GIM_Try, /*On fail goto*//*Label 4517*/ GIMT_Encode4(164237),
57670 /* 164084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57671 /* 164088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4518*/ GIMT_Encode4(164147), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9088 //
57672 /* 164095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57673 /* 164099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57674 /* 164103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57675 /* 164106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57676 /* 164110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57677 /* 164114 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57678 /* 164118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57679 /* 164120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57680 /* 164127 */ // (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)
57681 /* 164127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
57682 /* 164130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57683 /* 164132 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57684 /* 164134 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57685 /* 164136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57686 /* 164140 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57687 /* 164145 */ GIR_RootConstrainSelectedInstOperands,
57688 /* 164146 */ // GIR_Coverage, 9088,
57689 /* 164146 */ GIR_EraseRootFromParent_Done,
57690 /* 164147 */ // Label 4518: @164147
57691 /* 164147 */ GIM_Try, /*On fail goto*//*Label 4519*/ GIMT_Encode4(164236),
57692 /* 164152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57693 /* 164156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4520*/ GIMT_Encode4(164211), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8449 //
57694 /* 164163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57695 /* 164167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57696 /* 164171 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57697 /* 164174 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57698 /* 164178 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57699 /* 164182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57700 /* 164184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57701 /* 164191 */ // (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)
57702 /* 164191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
57703 /* 164194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57704 /* 164196 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57705 /* 164198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57706 /* 164200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57707 /* 164204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57708 /* 164209 */ GIR_RootConstrainSelectedInstOperands,
57709 /* 164210 */ // GIR_Coverage, 8449,
57710 /* 164210 */ GIR_EraseRootFromParent_Done,
57711 /* 164211 */ // Label 4520: @164211
57712 /* 164211 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4521*/ GIMT_Encode4(164235), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8445 //
57713 /* 164218 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57714 /* 164222 */ // (fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
57715 /* 164222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
57716 /* 164225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57717 /* 164227 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57718 /* 164229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57719 /* 164231 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57720 /* 164233 */ GIR_RootConstrainSelectedInstOperands,
57721 /* 164234 */ // GIR_Coverage, 8445,
57722 /* 164234 */ GIR_EraseRootFromParent_Done,
57723 /* 164235 */ // Label 4521: @164235
57724 /* 164235 */ GIM_Reject,
57725 /* 164236 */ // Label 4519: @164236
57726 /* 164236 */ GIM_Reject,
57727 /* 164237 */ // Label 4517: @164237
57728 /* 164237 */ GIM_Reject,
57729 /* 164238 */ // Label 4515: @164238
57730 /* 164238 */ GIM_Reject,
57731 /* 164239 */ // Label 4415: @164239
57732 /* 164239 */ GIM_Try, /*On fail goto*//*Label 4522*/ GIMT_Encode4(164943),
57733 /* 164244 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
57734 /* 164247 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
57735 /* 164250 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
57736 /* 164253 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4523*/ GIMT_Encode4(164320), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1168 //
57737 /* 164260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57738 /* 164264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57739 /* 164268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57740 /* 164272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57741 /* 164275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57742 /* 164279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57743 /* 164283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57744 /* 164287 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57745 /* 164291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57746 /* 164293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57747 /* 164300 */ // (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)
57748 /* 164300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
57749 /* 164303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57750 /* 164305 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57751 /* 164307 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57752 /* 164309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57753 /* 164313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57754 /* 164318 */ GIR_RootConstrainSelectedInstOperands,
57755 /* 164319 */ // GIR_Coverage, 1168,
57756 /* 164319 */ GIR_EraseRootFromParent_Done,
57757 /* 164320 */ // Label 4523: @164320
57758 /* 164320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4524*/ GIMT_Encode4(164387), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9682 //
57759 /* 164327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57760 /* 164331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57761 /* 164335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57762 /* 164339 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57763 /* 164342 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57764 /* 164346 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57765 /* 164350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57766 /* 164354 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57767 /* 164358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57768 /* 164360 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57769 /* 164367 */ // (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)
57770 /* 164367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
57771 /* 164370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57772 /* 164372 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57773 /* 164374 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57774 /* 164376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57775 /* 164380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57776 /* 164385 */ GIR_RootConstrainSelectedInstOperands,
57777 /* 164386 */ // GIR_Coverage, 9682,
57778 /* 164386 */ GIR_EraseRootFromParent_Done,
57779 /* 164387 */ // Label 4524: @164387
57780 /* 164387 */ GIM_Try, /*On fail goto*//*Label 4525*/ GIMT_Encode4(164584),
57781 /* 164392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57782 /* 164396 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4526*/ GIMT_Encode4(164459), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23573 //
57783 /* 164403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57784 /* 164407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57785 /* 164411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57786 /* 164414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57787 /* 164418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57788 /* 164422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57789 /* 164426 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57790 /* 164430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57791 /* 164432 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57792 /* 164439 */ // (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)
57793 /* 164439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
57794 /* 164442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57795 /* 164444 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57796 /* 164446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57797 /* 164450 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57798 /* 164452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57799 /* 164457 */ GIR_RootConstrainSelectedInstOperands,
57800 /* 164458 */ // GIR_Coverage, 23573,
57801 /* 164458 */ GIR_EraseRootFromParent_Done,
57802 /* 164459 */ // Label 4526: @164459
57803 /* 164459 */ GIM_Try, /*On fail goto*//*Label 4527*/ GIMT_Encode4(164583),
57804 /* 164464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57805 /* 164468 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57806 /* 164472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4528*/ GIMT_Encode4(164527), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1166 //
57807 /* 164479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57808 /* 164483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57809 /* 164487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57810 /* 164490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57811 /* 164494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57812 /* 164498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57813 /* 164500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57814 /* 164507 */ // (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)
57815 /* 164507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
57816 /* 164510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57817 /* 164512 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57818 /* 164514 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57819 /* 164516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57820 /* 164520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57821 /* 164525 */ GIR_RootConstrainSelectedInstOperands,
57822 /* 164526 */ // GIR_Coverage, 1166,
57823 /* 164526 */ GIR_EraseRootFromParent_Done,
57824 /* 164527 */ // Label 4528: @164527
57825 /* 164527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4529*/ GIMT_Encode4(164582), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1450 //
57826 /* 164534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57827 /* 164538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57828 /* 164542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57829 /* 164545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57830 /* 164549 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57831 /* 164553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57832 /* 164555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57833 /* 164562 */ // (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)
57834 /* 164562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
57835 /* 164565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57836 /* 164567 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57837 /* 164569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57838 /* 164573 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57839 /* 164575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57840 /* 164580 */ GIR_RootConstrainSelectedInstOperands,
57841 /* 164581 */ // GIR_Coverage, 1450,
57842 /* 164581 */ GIR_EraseRootFromParent_Done,
57843 /* 164582 */ // Label 4529: @164582
57844 /* 164582 */ GIM_Reject,
57845 /* 164583 */ // Label 4527: @164583
57846 /* 164583 */ GIM_Reject,
57847 /* 164584 */ // Label 4525: @164584
57848 /* 164584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4530*/ GIMT_Encode4(164651), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9142 //
57849 /* 164591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57850 /* 164595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57851 /* 164599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57852 /* 164603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57853 /* 164607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57854 /* 164610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57855 /* 164614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57856 /* 164618 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57857 /* 164622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57858 /* 164624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57859 /* 164631 */ // (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)
57860 /* 164631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
57861 /* 164634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57862 /* 164636 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57863 /* 164638 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57864 /* 164640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57865 /* 164644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57866 /* 164649 */ GIR_RootConstrainSelectedInstOperands,
57867 /* 164650 */ // GIR_Coverage, 9142,
57868 /* 164650 */ GIR_EraseRootFromParent_Done,
57869 /* 164651 */ // Label 4530: @164651
57870 /* 164651 */ GIM_Try, /*On fail goto*//*Label 4531*/ GIMT_Encode4(164779),
57871 /* 164656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57872 /* 164660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57873 /* 164664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57874 /* 164668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4532*/ GIMT_Encode4(164723), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1164 //
57875 /* 164675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57876 /* 164679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57877 /* 164683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57878 /* 164686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57879 /* 164690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57880 /* 164694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57881 /* 164696 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57882 /* 164703 */ // (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)
57883 /* 164703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
57884 /* 164706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57885 /* 164708 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57886 /* 164710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57887 /* 164712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57888 /* 164716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57889 /* 164721 */ GIR_RootConstrainSelectedInstOperands,
57890 /* 164722 */ // GIR_Coverage, 1164,
57891 /* 164722 */ GIR_EraseRootFromParent_Done,
57892 /* 164723 */ // Label 4532: @164723
57893 /* 164723 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4533*/ GIMT_Encode4(164778), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1448 //
57894 /* 164730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57895 /* 164734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57896 /* 164738 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57897 /* 164741 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57898 /* 164745 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57899 /* 164749 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57900 /* 164751 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57901 /* 164758 */ // (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)
57902 /* 164758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
57903 /* 164761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57904 /* 164763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57905 /* 164765 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
57906 /* 164767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57907 /* 164771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57908 /* 164776 */ GIR_RootConstrainSelectedInstOperands,
57909 /* 164777 */ // GIR_Coverage, 1448,
57910 /* 164777 */ GIR_EraseRootFromParent_Done,
57911 /* 164778 */ // Label 4533: @164778
57912 /* 164778 */ GIM_Reject,
57913 /* 164779 */ // Label 4531: @164779
57914 /* 164779 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4534*/ GIMT_Encode4(164846), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8515 //
57915 /* 164786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57916 /* 164790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57917 /* 164794 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57918 /* 164798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57919 /* 164802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57920 /* 164806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57921 /* 164809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57922 /* 164813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57923 /* 164817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57924 /* 164819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57925 /* 164826 */ // (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)
57926 /* 164826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
57927 /* 164829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57928 /* 164831 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57929 /* 164833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57930 /* 164835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57931 /* 164839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57932 /* 164844 */ GIR_RootConstrainSelectedInstOperands,
57933 /* 164845 */ // GIR_Coverage, 8515,
57934 /* 164845 */ GIR_EraseRootFromParent_Done,
57935 /* 164846 */ // Label 4534: @164846
57936 /* 164846 */ GIM_Try, /*On fail goto*//*Label 4535*/ GIMT_Encode4(164906),
57937 /* 164851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57938 /* 164855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57939 /* 164859 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57940 /* 164863 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57941 /* 164867 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4536*/ GIMT_Encode4(164887), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1162 //
57942 /* 164874 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
57943 /* 164874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
57944 /* 164877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57945 /* 164879 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57946 /* 164881 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57947 /* 164883 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57948 /* 164885 */ GIR_RootConstrainSelectedInstOperands,
57949 /* 164886 */ // GIR_Coverage, 1162,
57950 /* 164886 */ GIR_EraseRootFromParent_Done,
57951 /* 164887 */ // Label 4536: @164887
57952 /* 164887 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4537*/ GIMT_Encode4(164905), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1446 //
57953 /* 164894 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
57954 /* 164894 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
57955 /* 164899 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57956 /* 164903 */ GIR_RootConstrainSelectedInstOperands,
57957 /* 164904 */ // GIR_Coverage, 1446,
57958 /* 164904 */ GIR_Done,
57959 /* 164905 */ // Label 4537: @164905
57960 /* 164905 */ GIM_Reject,
57961 /* 164906 */ // Label 4535: @164906
57962 /* 164906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4538*/ GIMT_Encode4(164942), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8511 //
57963 /* 164913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57964 /* 164917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57965 /* 164921 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57966 /* 164925 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57967 /* 164929 */ // (fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
57968 /* 164929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
57969 /* 164932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57970 /* 164934 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57971 /* 164936 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57972 /* 164938 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57973 /* 164940 */ GIR_RootConstrainSelectedInstOperands,
57974 /* 164941 */ // GIR_Coverage, 8511,
57975 /* 164941 */ GIR_EraseRootFromParent_Done,
57976 /* 164942 */ // Label 4538: @164942
57977 /* 164942 */ GIM_Reject,
57978 /* 164943 */ // Label 4522: @164943
57979 /* 164943 */ GIM_Reject,
57980 /* 164944 */ // Label 4416: @164944
57981 /* 164944 */ GIM_Try, /*On fail goto*//*Label 4539*/ GIMT_Encode4(165648),
57982 /* 164949 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
57983 /* 164952 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
57984 /* 164955 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
57985 /* 164958 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4540*/ GIMT_Encode4(165025), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1176 //
57986 /* 164965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57987 /* 164969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57988 /* 164973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57989 /* 164977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57990 /* 164980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57991 /* 164984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57992 /* 164988 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57993 /* 164992 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57994 /* 164996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57995 /* 164998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57996 /* 165005 */ // (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)
57997 /* 165005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
57998 /* 165008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57999 /* 165010 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58000 /* 165012 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58001 /* 165014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58002 /* 165018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58003 /* 165023 */ GIR_RootConstrainSelectedInstOperands,
58004 /* 165024 */ // GIR_Coverage, 1176,
58005 /* 165024 */ GIR_EraseRootFromParent_Done,
58006 /* 165025 */ // Label 4540: @165025
58007 /* 165025 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4541*/ GIMT_Encode4(165092), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9672 //
58008 /* 165032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58009 /* 165036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58010 /* 165040 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58011 /* 165044 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58012 /* 165047 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58013 /* 165051 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58014 /* 165055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58015 /* 165059 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58016 /* 165063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58017 /* 165065 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58018 /* 165072 */ // (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)
58019 /* 165072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
58020 /* 165075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58021 /* 165077 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58022 /* 165079 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58023 /* 165081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58024 /* 165085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58025 /* 165090 */ GIR_RootConstrainSelectedInstOperands,
58026 /* 165091 */ // GIR_Coverage, 9672,
58027 /* 165091 */ GIR_EraseRootFromParent_Done,
58028 /* 165092 */ // Label 4541: @165092
58029 /* 165092 */ GIM_Try, /*On fail goto*//*Label 4542*/ GIMT_Encode4(165289),
58030 /* 165097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58031 /* 165101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4543*/ GIMT_Encode4(165164), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23575 //
58032 /* 165108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58033 /* 165112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58034 /* 165116 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58035 /* 165119 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58036 /* 165123 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58037 /* 165127 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58038 /* 165131 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58039 /* 165135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58040 /* 165137 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58041 /* 165144 */ // (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)
58042 /* 165144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
58043 /* 165147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58044 /* 165149 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58045 /* 165151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58046 /* 165155 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58047 /* 165157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58048 /* 165162 */ GIR_RootConstrainSelectedInstOperands,
58049 /* 165163 */ // GIR_Coverage, 23575,
58050 /* 165163 */ GIR_EraseRootFromParent_Done,
58051 /* 165164 */ // Label 4543: @165164
58052 /* 165164 */ GIM_Try, /*On fail goto*//*Label 4544*/ GIMT_Encode4(165288),
58053 /* 165169 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58054 /* 165173 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58055 /* 165177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4545*/ GIMT_Encode4(165232), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1174 //
58056 /* 165184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58057 /* 165188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58058 /* 165192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58059 /* 165195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58060 /* 165199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58061 /* 165203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58062 /* 165205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58063 /* 165212 */ // (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)
58064 /* 165212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
58065 /* 165215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58066 /* 165217 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58067 /* 165219 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58068 /* 165221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58069 /* 165225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58070 /* 165230 */ GIR_RootConstrainSelectedInstOperands,
58071 /* 165231 */ // GIR_Coverage, 1174,
58072 /* 165231 */ GIR_EraseRootFromParent_Done,
58073 /* 165232 */ // Label 4545: @165232
58074 /* 165232 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4546*/ GIMT_Encode4(165287), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1456 //
58075 /* 165239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58076 /* 165243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58077 /* 165247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58078 /* 165250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58079 /* 165254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58080 /* 165258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58081 /* 165260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58082 /* 165267 */ // (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)
58083 /* 165267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
58084 /* 165270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58085 /* 165272 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58086 /* 165274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58087 /* 165278 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58088 /* 165280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58089 /* 165285 */ GIR_RootConstrainSelectedInstOperands,
58090 /* 165286 */ // GIR_Coverage, 1456,
58091 /* 165286 */ GIR_EraseRootFromParent_Done,
58092 /* 165287 */ // Label 4546: @165287
58093 /* 165287 */ GIM_Reject,
58094 /* 165288 */ // Label 4544: @165288
58095 /* 165288 */ GIM_Reject,
58096 /* 165289 */ // Label 4542: @165289
58097 /* 165289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4547*/ GIMT_Encode4(165356), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9132 //
58098 /* 165296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58099 /* 165300 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58100 /* 165304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58101 /* 165308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58102 /* 165312 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58103 /* 165315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58104 /* 165319 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58105 /* 165323 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58106 /* 165327 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58107 /* 165329 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58108 /* 165336 */ // (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)
58109 /* 165336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
58110 /* 165339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58111 /* 165341 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58112 /* 165343 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58113 /* 165345 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58114 /* 165349 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58115 /* 165354 */ GIR_RootConstrainSelectedInstOperands,
58116 /* 165355 */ // GIR_Coverage, 9132,
58117 /* 165355 */ GIR_EraseRootFromParent_Done,
58118 /* 165356 */ // Label 4547: @165356
58119 /* 165356 */ GIM_Try, /*On fail goto*//*Label 4548*/ GIMT_Encode4(165484),
58120 /* 165361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58121 /* 165365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58122 /* 165369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58123 /* 165373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4549*/ GIMT_Encode4(165428), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1172 //
58124 /* 165380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58125 /* 165384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58126 /* 165388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58127 /* 165391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58128 /* 165395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58129 /* 165399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58130 /* 165401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58131 /* 165408 */ // (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)
58132 /* 165408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
58133 /* 165411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58134 /* 165413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58135 /* 165415 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58136 /* 165417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58137 /* 165421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58138 /* 165426 */ GIR_RootConstrainSelectedInstOperands,
58139 /* 165427 */ // GIR_Coverage, 1172,
58140 /* 165427 */ GIR_EraseRootFromParent_Done,
58141 /* 165428 */ // Label 4549: @165428
58142 /* 165428 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4550*/ GIMT_Encode4(165483), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1454 //
58143 /* 165435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58144 /* 165439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58145 /* 165443 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58146 /* 165446 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58147 /* 165450 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58148 /* 165454 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58149 /* 165456 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58150 /* 165463 */ // (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)
58151 /* 165463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
58152 /* 165466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58153 /* 165468 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58154 /* 165470 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58155 /* 165472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58156 /* 165476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58157 /* 165481 */ GIR_RootConstrainSelectedInstOperands,
58158 /* 165482 */ // GIR_Coverage, 1454,
58159 /* 165482 */ GIR_EraseRootFromParent_Done,
58160 /* 165483 */ // Label 4550: @165483
58161 /* 165483 */ GIM_Reject,
58162 /* 165484 */ // Label 4548: @165484
58163 /* 165484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4551*/ GIMT_Encode4(165551), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8503 //
58164 /* 165491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58165 /* 165495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58166 /* 165499 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58167 /* 165503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58168 /* 165507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58169 /* 165511 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58170 /* 165514 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58171 /* 165518 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58172 /* 165522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58173 /* 165524 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58174 /* 165531 */ // (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)
58175 /* 165531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
58176 /* 165534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58177 /* 165536 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58178 /* 165538 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58179 /* 165540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58180 /* 165544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58181 /* 165549 */ GIR_RootConstrainSelectedInstOperands,
58182 /* 165550 */ // GIR_Coverage, 8503,
58183 /* 165550 */ GIR_EraseRootFromParent_Done,
58184 /* 165551 */ // Label 4551: @165551
58185 /* 165551 */ GIM_Try, /*On fail goto*//*Label 4552*/ GIMT_Encode4(165611),
58186 /* 165556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58187 /* 165560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58188 /* 165564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58189 /* 165568 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58190 /* 165572 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4553*/ GIMT_Encode4(165592), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1170 //
58191 /* 165579 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
58192 /* 165579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
58193 /* 165582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58194 /* 165584 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58195 /* 165586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58196 /* 165588 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58197 /* 165590 */ GIR_RootConstrainSelectedInstOperands,
58198 /* 165591 */ // GIR_Coverage, 1170,
58199 /* 165591 */ GIR_EraseRootFromParent_Done,
58200 /* 165592 */ // Label 4553: @165592
58201 /* 165592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4554*/ GIMT_Encode4(165610), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1452 //
58202 /* 165599 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
58203 /* 165599 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
58204 /* 165604 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58205 /* 165608 */ GIR_RootConstrainSelectedInstOperands,
58206 /* 165609 */ // GIR_Coverage, 1452,
58207 /* 165609 */ GIR_Done,
58208 /* 165610 */ // Label 4554: @165610
58209 /* 165610 */ GIM_Reject,
58210 /* 165611 */ // Label 4552: @165611
58211 /* 165611 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4555*/ GIMT_Encode4(165647), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8499 //
58212 /* 165618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58213 /* 165622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58214 /* 165626 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58215 /* 165630 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58216 /* 165634 */ // (fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
58217 /* 165634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
58218 /* 165637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58219 /* 165639 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58220 /* 165641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58221 /* 165643 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58222 /* 165645 */ GIR_RootConstrainSelectedInstOperands,
58223 /* 165646 */ // GIR_Coverage, 8499,
58224 /* 165646 */ GIR_EraseRootFromParent_Done,
58225 /* 165647 */ // Label 4555: @165647
58226 /* 165647 */ GIM_Reject,
58227 /* 165648 */ // Label 4539: @165648
58228 /* 165648 */ GIM_Reject,
58229 /* 165649 */ // Label 4417: @165649
58230 /* 165649 */ GIM_Try, /*On fail goto*//*Label 4556*/ GIMT_Encode4(165889),
58231 /* 165654 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
58232 /* 165657 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
58233 /* 165660 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
58234 /* 165663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58235 /* 165667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4557*/ GIMT_Encode4(165730), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9660 //
58236 /* 165674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58237 /* 165678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58238 /* 165682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58239 /* 165685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58240 /* 165689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58241 /* 165693 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58242 /* 165697 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58243 /* 165701 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58244 /* 165703 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58245 /* 165710 */ // (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)
58246 /* 165710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
58247 /* 165713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58248 /* 165715 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58249 /* 165717 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58250 /* 165719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58251 /* 165723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58252 /* 165728 */ GIR_RootConstrainSelectedInstOperands,
58253 /* 165729 */ // GIR_Coverage, 9660,
58254 /* 165729 */ GIR_EraseRootFromParent_Done,
58255 /* 165730 */ // Label 4557: @165730
58256 /* 165730 */ GIM_Try, /*On fail goto*//*Label 4558*/ GIMT_Encode4(165888),
58257 /* 165735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58258 /* 165739 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4559*/ GIMT_Encode4(165798), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9120 //
58259 /* 165746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58260 /* 165750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58261 /* 165754 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58262 /* 165757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58263 /* 165761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58264 /* 165765 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58265 /* 165769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58266 /* 165771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58267 /* 165778 */ // (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)
58268 /* 165778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
58269 /* 165781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58270 /* 165783 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58271 /* 165785 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58272 /* 165787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58273 /* 165791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58274 /* 165796 */ GIR_RootConstrainSelectedInstOperands,
58275 /* 165797 */ // GIR_Coverage, 9120,
58276 /* 165797 */ GIR_EraseRootFromParent_Done,
58277 /* 165798 */ // Label 4559: @165798
58278 /* 165798 */ GIM_Try, /*On fail goto*//*Label 4560*/ GIMT_Encode4(165887),
58279 /* 165803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58280 /* 165807 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4561*/ GIMT_Encode4(165862), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8488 //
58281 /* 165814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58282 /* 165818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58283 /* 165822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58284 /* 165825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58285 /* 165829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58286 /* 165833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58287 /* 165835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58288 /* 165842 */ // (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)
58289 /* 165842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
58290 /* 165845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58291 /* 165847 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58292 /* 165849 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58293 /* 165851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58294 /* 165855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58295 /* 165860 */ GIR_RootConstrainSelectedInstOperands,
58296 /* 165861 */ // GIR_Coverage, 8488,
58297 /* 165861 */ GIR_EraseRootFromParent_Done,
58298 /* 165862 */ // Label 4561: @165862
58299 /* 165862 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4562*/ GIMT_Encode4(165886), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8484 //
58300 /* 165869 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58301 /* 165873 */ // (fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
58302 /* 165873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
58303 /* 165876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58304 /* 165878 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58305 /* 165880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58306 /* 165882 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58307 /* 165884 */ GIR_RootConstrainSelectedInstOperands,
58308 /* 165885 */ // GIR_Coverage, 8484,
58309 /* 165885 */ GIR_EraseRootFromParent_Done,
58310 /* 165886 */ // Label 4562: @165886
58311 /* 165886 */ GIM_Reject,
58312 /* 165887 */ // Label 4560: @165887
58313 /* 165887 */ GIM_Reject,
58314 /* 165888 */ // Label 4558: @165888
58315 /* 165888 */ GIM_Reject,
58316 /* 165889 */ // Label 4556: @165889
58317 /* 165889 */ GIM_Reject,
58318 /* 165890 */ // Label 4418: @165890
58319 /* 165890 */ GIM_Reject,
58320 /* 165891 */ // Label 48: @165891
58321 /* 165891 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4576*/ GIMT_Encode4(169907),
58322 /* 165902 */ /*GILLT_s16*//*Label 4563*/ GIMT_Encode4(165994),
58323 /* 165906 */ /*GILLT_s32*//*Label 4564*/ GIMT_Encode4(166090),
58324 /* 165910 */ /*GILLT_s64*//*Label 4565*/ GIMT_Encode4(167011),
58325 /* 165914 */ /*GILLT_s80*//*Label 4566*/ GIMT_Encode4(168058), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
58326 /* 165958 */ /*GILLT_v8s16*//*Label 4567*/ GIMT_Encode4(168599),
58327 /* 165962 */ /*GILLT_v16s16*//*Label 4568*/ GIMT_Encode4(168695),
58328 /* 165966 */ /*GILLT_v32s16*//*Label 4569*/ GIMT_Encode4(168791),
58329 /* 165970 */ /*GILLT_v4s32*//*Label 4570*/ GIMT_Encode4(168887),
58330 /* 165974 */ /*GILLT_v8s32*//*Label 4571*/ GIMT_Encode4(169106),
58331 /* 165978 */ /*GILLT_v16s32*//*Label 4572*/ GIMT_Encode4(169301),
58332 /* 165982 */ /*GILLT_v2s64*//*Label 4573*/ GIMT_Encode4(169397),
58333 /* 165986 */ /*GILLT_v4s64*//*Label 4574*/ GIMT_Encode4(169616),
58334 /* 165990 */ /*GILLT_v8s64*//*Label 4575*/ GIMT_Encode4(169811),
58335 /* 165994 */ // Label 4563: @165994
58336 /* 165994 */ GIM_Try, /*On fail goto*//*Label 4577*/ GIMT_Encode4(166089),
58337 /* 165999 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
58338 /* 166002 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
58339 /* 166005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58340 /* 166009 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58341 /* 166013 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4578*/ GIMT_Encode4(166066), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6127 //
58342 /* 166020 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58343 /* 166024 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58344 /* 166028 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58345 /* 166031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58346 /* 166035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58347 /* 166039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58348 /* 166041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58349 /* 166048 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
58350 /* 166048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
58351 /* 166051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58352 /* 166053 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58353 /* 166055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58354 /* 166059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58355 /* 166064 */ GIR_RootConstrainSelectedInstOperands,
58356 /* 166065 */ // GIR_Coverage, 6127,
58357 /* 166065 */ GIR_EraseRootFromParent_Done,
58358 /* 166066 */ // Label 4578: @166066
58359 /* 166066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4579*/ GIMT_Encode4(166088), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6125 //
58360 /* 166073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58361 /* 166077 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
58362 /* 166077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
58363 /* 166082 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58364 /* 166086 */ GIR_RootConstrainSelectedInstOperands,
58365 /* 166087 */ // GIR_Coverage, 6125,
58366 /* 166087 */ GIR_Done,
58367 /* 166088 */ // Label 4579: @166088
58368 /* 166088 */ GIM_Reject,
58369 /* 166089 */ // Label 4577: @166089
58370 /* 166089 */ GIM_Reject,
58371 /* 166090 */ // Label 4564: @166090
58372 /* 166090 */ GIM_Try, /*On fail goto*//*Label 4580*/ GIMT_Encode4(167010),
58373 /* 166095 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
58374 /* 166098 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
58375 /* 166101 */ GIM_Try, /*On fail goto*//*Label 4581*/ GIMT_Encode4(166261),
58376 /* 166106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58377 /* 166110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58378 /* 166114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4582*/ GIMT_Encode4(166187), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22689 //
58379 /* 166121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58380 /* 166125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58381 /* 166129 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
58382 /* 166133 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58383 /* 166137 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58384 /* 166141 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58385 /* 166144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58386 /* 166148 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58387 /* 166155 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58388 /* 166159 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58389 /* 166161 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58390 /* 166168 */ // (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)
58391 /* 166168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
58392 /* 166171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58393 /* 166173 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58394 /* 166175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58395 /* 166179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58396 /* 166185 */ GIR_RootConstrainSelectedInstOperands,
58397 /* 166186 */ // GIR_Coverage, 22689,
58398 /* 166186 */ GIR_EraseRootFromParent_Done,
58399 /* 166187 */ // Label 4582: @166187
58400 /* 166187 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4583*/ GIMT_Encode4(166260), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22690 //
58401 /* 166194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58402 /* 166198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58403 /* 166202 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
58404 /* 166206 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58405 /* 166210 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58406 /* 166214 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58407 /* 166217 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58408 /* 166221 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58409 /* 166228 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58410 /* 166232 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58411 /* 166234 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58412 /* 166241 */ // (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)
58413 /* 166241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
58414 /* 166244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58415 /* 166246 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58416 /* 166248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58417 /* 166252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58418 /* 166258 */ GIR_RootConstrainSelectedInstOperands,
58419 /* 166259 */ // GIR_Coverage, 22690,
58420 /* 166259 */ GIR_EraseRootFromParent_Done,
58421 /* 166260 */ // Label 4583: @166260
58422 /* 166260 */ GIM_Reject,
58423 /* 166261 */ // Label 4581: @166261
58424 /* 166261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4584*/ GIMT_Encode4(166342), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22691 //
58425 /* 166268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58426 /* 166272 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58427 /* 166276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58428 /* 166280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58429 /* 166284 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
58430 /* 166288 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58431 /* 166292 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58432 /* 166296 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58433 /* 166299 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58434 /* 166303 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58435 /* 166310 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58436 /* 166314 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58437 /* 166316 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58438 /* 166323 */ // (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)
58439 /* 166323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
58440 /* 166326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58441 /* 166328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58442 /* 166330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58443 /* 166334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58444 /* 166340 */ GIR_RootConstrainSelectedInstOperands,
58445 /* 166341 */ // GIR_Coverage, 22691,
58446 /* 166341 */ GIR_EraseRootFromParent_Done,
58447 /* 166342 */ // Label 4584: @166342
58448 /* 166342 */ GIM_Try, /*On fail goto*//*Label 4585*/ GIMT_Encode4(166708),
58449 /* 166347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58450 /* 166351 */ GIM_Try, /*On fail goto*//*Label 4586*/ GIMT_Encode4(166529),
58451 /* 166356 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58452 /* 166360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4587*/ GIMT_Encode4(166416), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1007 //
58453 /* 166367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58454 /* 166371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58455 /* 166375 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
58456 /* 166382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58457 /* 166386 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58458 /* 166388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58459 /* 166395 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58460 /* 166395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
58461 /* 166398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58462 /* 166400 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58463 /* 166402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58464 /* 166406 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58465 /* 166409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58466 /* 166414 */ GIR_RootConstrainSelectedInstOperands,
58467 /* 166415 */ // GIR_Coverage, 1007,
58468 /* 166415 */ GIR_EraseRootFromParent_Done,
58469 /* 166416 */ // Label 4587: @166416
58470 /* 166416 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4588*/ GIMT_Encode4(166472), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1009 //
58471 /* 166423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58472 /* 166427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58473 /* 166431 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58474 /* 166438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58475 /* 166442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58476 /* 166444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58477 /* 166451 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58478 /* 166451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
58479 /* 166454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58480 /* 166456 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58481 /* 166458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58482 /* 166462 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58483 /* 166465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58484 /* 166470 */ GIR_RootConstrainSelectedInstOperands,
58485 /* 166471 */ // GIR_Coverage, 1009,
58486 /* 166471 */ GIR_EraseRootFromParent_Done,
58487 /* 166472 */ // Label 4588: @166472
58488 /* 166472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4589*/ GIMT_Encode4(166528), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 997 //
58489 /* 166479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58490 /* 166483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58491 /* 166487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58492 /* 166490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58493 /* 166494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58494 /* 166498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58495 /* 166500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58496 /* 166507 */ // (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)
58497 /* 166507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
58498 /* 166510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58499 /* 166512 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58500 /* 166514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58501 /* 166518 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58502 /* 166521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58503 /* 166526 */ GIR_RootConstrainSelectedInstOperands,
58504 /* 166527 */ // GIR_Coverage, 997,
58505 /* 166527 */ GIR_EraseRootFromParent_Done,
58506 /* 166528 */ // Label 4589: @166528
58507 /* 166528 */ GIM_Reject,
58508 /* 166529 */ // Label 4586: @166529
58509 /* 166529 */ GIM_Try, /*On fail goto*//*Label 4590*/ GIMT_Encode4(166707),
58510 /* 166534 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58511 /* 166538 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4591*/ GIMT_Encode4(166594), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 985 //
58512 /* 166545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58513 /* 166549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58514 /* 166553 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
58515 /* 166560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58516 /* 166564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58517 /* 166566 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58518 /* 166573 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58519 /* 166573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
58520 /* 166576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58521 /* 166578 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58522 /* 166580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58523 /* 166584 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58524 /* 166587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58525 /* 166592 */ GIR_RootConstrainSelectedInstOperands,
58526 /* 166593 */ // GIR_Coverage, 985,
58527 /* 166593 */ GIR_EraseRootFromParent_Done,
58528 /* 166594 */ // Label 4591: @166594
58529 /* 166594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4592*/ GIMT_Encode4(166650), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 987 //
58530 /* 166601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58531 /* 166605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58532 /* 166609 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58533 /* 166616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58534 /* 166620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58535 /* 166622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58536 /* 166629 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58537 /* 166629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
58538 /* 166632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58539 /* 166634 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58540 /* 166636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58541 /* 166640 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58542 /* 166643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58543 /* 166648 */ GIR_RootConstrainSelectedInstOperands,
58544 /* 166649 */ // GIR_Coverage, 987,
58545 /* 166649 */ GIR_EraseRootFromParent_Done,
58546 /* 166650 */ // Label 4592: @166650
58547 /* 166650 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4593*/ GIMT_Encode4(166706), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 975 //
58548 /* 166657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58549 /* 166661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58550 /* 166665 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58551 /* 166668 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58552 /* 166672 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58553 /* 166676 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58554 /* 166678 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58555 /* 166685 */ // (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)
58556 /* 166685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
58557 /* 166688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58558 /* 166690 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58559 /* 166692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58560 /* 166696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58561 /* 166699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58562 /* 166704 */ GIR_RootConstrainSelectedInstOperands,
58563 /* 166705 */ // GIR_Coverage, 975,
58564 /* 166705 */ GIR_EraseRootFromParent_Done,
58565 /* 166706 */ // Label 4593: @166706
58566 /* 166706 */ GIM_Reject,
58567 /* 166707 */ // Label 4590: @166707
58568 /* 166707 */ GIM_Reject,
58569 /* 166708 */ // Label 4585: @166708
58570 /* 166708 */ GIM_Try, /*On fail goto*//*Label 4594*/ GIMT_Encode4(166828),
58571 /* 166713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58572 /* 166717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58573 /* 166721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4595*/ GIMT_Encode4(166774), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2262 //
58574 /* 166728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58575 /* 166732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58576 /* 166736 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58577 /* 166739 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58578 /* 166743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58579 /* 166747 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58580 /* 166749 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58581 /* 166756 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58582 /* 166756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
58583 /* 166759 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58584 /* 166761 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58585 /* 166763 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58586 /* 166767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58587 /* 166772 */ GIR_RootConstrainSelectedInstOperands,
58588 /* 166773 */ // GIR_Coverage, 2262,
58589 /* 166773 */ GIR_EraseRootFromParent_Done,
58590 /* 166774 */ // Label 4595: @166774
58591 /* 166774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4596*/ GIMT_Encode4(166827), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2270 //
58592 /* 166781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58593 /* 166785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58594 /* 166789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58595 /* 166792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58596 /* 166796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58597 /* 166800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58598 /* 166802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58599 /* 166809 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58600 /* 166809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
58601 /* 166812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58602 /* 166814 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58603 /* 166816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58604 /* 166820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58605 /* 166825 */ GIR_RootConstrainSelectedInstOperands,
58606 /* 166826 */ // GIR_Coverage, 2270,
58607 /* 166826 */ GIR_EraseRootFromParent_Done,
58608 /* 166827 */ // Label 4596: @166827
58609 /* 166827 */ GIM_Reject,
58610 /* 166828 */ // Label 4594: @166828
58611 /* 166828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4597*/ GIMT_Encode4(166889), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6089 //
58612 /* 166835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58613 /* 166839 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58614 /* 166843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58615 /* 166847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58616 /* 166851 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58617 /* 166854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58618 /* 166858 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58619 /* 166862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58620 /* 166864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58621 /* 166871 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58622 /* 166871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
58623 /* 166874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58624 /* 166876 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58625 /* 166878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58626 /* 166882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58627 /* 166887 */ GIR_RootConstrainSelectedInstOperands,
58628 /* 166888 */ // GIR_Coverage, 6089,
58629 /* 166888 */ GIR_EraseRootFromParent_Done,
58630 /* 166889 */ // Label 4597: @166889
58631 /* 166889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4598*/ GIMT_Encode4(166925), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 881 //
58632 /* 166896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58633 /* 166900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58634 /* 166904 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58635 /* 166908 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
58636 /* 166908 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
58637 /* 166913 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
58638 /* 166919 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
58639 /* 166923 */ GIR_RootConstrainSelectedInstOperands,
58640 /* 166924 */ // GIR_Coverage, 881,
58641 /* 166924 */ GIR_Done,
58642 /* 166925 */ // Label 4598: @166925
58643 /* 166925 */ GIM_Try, /*On fail goto*//*Label 4599*/ GIMT_Encode4(166979),
58644 /* 166930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58645 /* 166934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58646 /* 166938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58647 /* 166942 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4600*/ GIMT_Encode4(166960), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2260 //
58648 /* 166949 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
58649 /* 166949 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
58650 /* 166954 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58651 /* 166958 */ GIR_RootConstrainSelectedInstOperands,
58652 /* 166959 */ // GIR_Coverage, 2260,
58653 /* 166959 */ GIR_Done,
58654 /* 166960 */ // Label 4600: @166960
58655 /* 166960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4601*/ GIMT_Encode4(166978), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2268 //
58656 /* 166967 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
58657 /* 166967 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
58658 /* 166972 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58659 /* 166976 */ GIR_RootConstrainSelectedInstOperands,
58660 /* 166977 */ // GIR_Coverage, 2268,
58661 /* 166977 */ GIR_Done,
58662 /* 166978 */ // Label 4601: @166978
58663 /* 166978 */ GIM_Reject,
58664 /* 166979 */ // Label 4599: @166979
58665 /* 166979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4602*/ GIMT_Encode4(167009), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6087 //
58666 /* 166986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58667 /* 166990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58668 /* 166994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58669 /* 166998 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
58670 /* 166998 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
58671 /* 167003 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58672 /* 167007 */ GIR_RootConstrainSelectedInstOperands,
58673 /* 167008 */ // GIR_Coverage, 6087,
58674 /* 167008 */ GIR_Done,
58675 /* 167009 */ // Label 4602: @167009
58676 /* 167009 */ GIM_Reject,
58677 /* 167010 */ // Label 4580: @167010
58678 /* 167010 */ GIM_Reject,
58679 /* 167011 */ // Label 4565: @167011
58680 /* 167011 */ GIM_Try, /*On fail goto*//*Label 4603*/ GIMT_Encode4(168057),
58681 /* 167016 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
58682 /* 167019 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
58683 /* 167022 */ GIM_Try, /*On fail goto*//*Label 4604*/ GIMT_Encode4(167182),
58684 /* 167027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58685 /* 167031 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58686 /* 167035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4605*/ GIMT_Encode4(167108), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22692 //
58687 /* 167042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58688 /* 167046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58689 /* 167050 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
58690 /* 167054 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58691 /* 167058 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58692 /* 167062 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58693 /* 167065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58694 /* 167069 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
58695 /* 167076 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58696 /* 167080 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58697 /* 167082 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58698 /* 167089 */ // (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)
58699 /* 167089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
58700 /* 167092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58701 /* 167094 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58702 /* 167096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58703 /* 167100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58704 /* 167106 */ GIR_RootConstrainSelectedInstOperands,
58705 /* 167107 */ // GIR_Coverage, 22692,
58706 /* 167107 */ GIR_EraseRootFromParent_Done,
58707 /* 167108 */ // Label 4605: @167108
58708 /* 167108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4606*/ GIMT_Encode4(167181), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22693 //
58709 /* 167115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58710 /* 167119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58711 /* 167123 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
58712 /* 167127 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58713 /* 167131 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58714 /* 167135 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58715 /* 167138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58716 /* 167142 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
58717 /* 167149 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58718 /* 167153 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58719 /* 167155 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58720 /* 167162 */ // (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)
58721 /* 167162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
58722 /* 167165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58723 /* 167167 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58724 /* 167169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58725 /* 167173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58726 /* 167179 */ GIR_RootConstrainSelectedInstOperands,
58727 /* 167180 */ // GIR_Coverage, 22693,
58728 /* 167180 */ GIR_EraseRootFromParent_Done,
58729 /* 167181 */ // Label 4606: @167181
58730 /* 167181 */ GIM_Reject,
58731 /* 167182 */ // Label 4604: @167182
58732 /* 167182 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4607*/ GIMT_Encode4(167263), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22694 //
58733 /* 167189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58734 /* 167193 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58735 /* 167197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58736 /* 167201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58737 /* 167205 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
58738 /* 167209 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58739 /* 167213 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58740 /* 167217 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58741 /* 167220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58742 /* 167224 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
58743 /* 167231 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58744 /* 167235 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58745 /* 167237 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58746 /* 167244 */ // (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)
58747 /* 167244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
58748 /* 167247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58749 /* 167249 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58750 /* 167251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58751 /* 167255 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58752 /* 167261 */ GIR_RootConstrainSelectedInstOperands,
58753 /* 167262 */ // GIR_Coverage, 22694,
58754 /* 167262 */ GIR_EraseRootFromParent_Done,
58755 /* 167263 */ // Label 4607: @167263
58756 /* 167263 */ GIM_Try, /*On fail goto*//*Label 4608*/ GIMT_Encode4(167755),
58757 /* 167268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58758 /* 167272 */ GIM_Try, /*On fail goto*//*Label 4609*/ GIMT_Encode4(167513),
58759 /* 167277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58760 /* 167281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4610*/ GIMT_Encode4(167337), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1011 //
58761 /* 167288 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58762 /* 167292 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58763 /* 167296 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
58764 /* 167303 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58765 /* 167307 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58766 /* 167309 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58767 /* 167316 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58768 /* 167316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
58769 /* 167319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58770 /* 167321 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58771 /* 167323 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58772 /* 167327 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58773 /* 167330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58774 /* 167335 */ GIR_RootConstrainSelectedInstOperands,
58775 /* 167336 */ // GIR_Coverage, 1011,
58776 /* 167336 */ GIR_EraseRootFromParent_Done,
58777 /* 167337 */ // Label 4610: @167337
58778 /* 167337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4611*/ GIMT_Encode4(167393), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1013 //
58779 /* 167344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58780 /* 167348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58781 /* 167352 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58782 /* 167359 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58783 /* 167363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58784 /* 167365 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58785 /* 167372 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58786 /* 167372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
58787 /* 167375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58788 /* 167377 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58789 /* 167379 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58790 /* 167383 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58791 /* 167386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58792 /* 167391 */ GIR_RootConstrainSelectedInstOperands,
58793 /* 167392 */ // GIR_Coverage, 1013,
58794 /* 167392 */ GIR_EraseRootFromParent_Done,
58795 /* 167393 */ // Label 4611: @167393
58796 /* 167393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4612*/ GIMT_Encode4(167456), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1001 //
58797 /* 167400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58798 /* 167404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
58799 /* 167408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58800 /* 167411 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58801 /* 167415 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58802 /* 167422 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58803 /* 167426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58804 /* 167428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58805 /* 167435 */ // (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)
58806 /* 167435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
58807 /* 167438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58808 /* 167440 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58809 /* 167442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58810 /* 167446 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58811 /* 167449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58812 /* 167454 */ GIR_RootConstrainSelectedInstOperands,
58813 /* 167455 */ // GIR_Coverage, 1001,
58814 /* 167455 */ GIR_EraseRootFromParent_Done,
58815 /* 167456 */ // Label 4612: @167456
58816 /* 167456 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4613*/ GIMT_Encode4(167512), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 999 //
58817 /* 167463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58818 /* 167467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58819 /* 167471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58820 /* 167474 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58821 /* 167478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58822 /* 167482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58823 /* 167484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58824 /* 167491 */ // (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)
58825 /* 167491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
58826 /* 167494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58827 /* 167496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58828 /* 167498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58829 /* 167502 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58830 /* 167505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58831 /* 167510 */ GIR_RootConstrainSelectedInstOperands,
58832 /* 167511 */ // GIR_Coverage, 999,
58833 /* 167511 */ GIR_EraseRootFromParent_Done,
58834 /* 167512 */ // Label 4613: @167512
58835 /* 167512 */ GIM_Reject,
58836 /* 167513 */ // Label 4609: @167513
58837 /* 167513 */ GIM_Try, /*On fail goto*//*Label 4614*/ GIMT_Encode4(167754),
58838 /* 167518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58839 /* 167522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4615*/ GIMT_Encode4(167578), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 989 //
58840 /* 167529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58841 /* 167533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58842 /* 167537 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
58843 /* 167544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58844 /* 167548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58845 /* 167550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58846 /* 167557 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58847 /* 167557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
58848 /* 167560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58849 /* 167562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58850 /* 167564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58851 /* 167568 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58852 /* 167571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58853 /* 167576 */ GIR_RootConstrainSelectedInstOperands,
58854 /* 167577 */ // GIR_Coverage, 989,
58855 /* 167577 */ GIR_EraseRootFromParent_Done,
58856 /* 167578 */ // Label 4615: @167578
58857 /* 167578 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4616*/ GIMT_Encode4(167634), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 991 //
58858 /* 167585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58859 /* 167589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58860 /* 167593 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58861 /* 167600 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58862 /* 167604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58863 /* 167606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58864 /* 167613 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58865 /* 167613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
58866 /* 167616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58867 /* 167618 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58868 /* 167620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58869 /* 167624 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58870 /* 167627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58871 /* 167632 */ GIR_RootConstrainSelectedInstOperands,
58872 /* 167633 */ // GIR_Coverage, 991,
58873 /* 167633 */ GIR_EraseRootFromParent_Done,
58874 /* 167634 */ // Label 4616: @167634
58875 /* 167634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4617*/ GIMT_Encode4(167697), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 979 //
58876 /* 167641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58877 /* 167645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
58878 /* 167649 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58879 /* 167652 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58880 /* 167656 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58881 /* 167663 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58882 /* 167667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58883 /* 167669 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58884 /* 167676 */ // (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)
58885 /* 167676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
58886 /* 167679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58887 /* 167681 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58888 /* 167683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58889 /* 167687 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58890 /* 167690 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58891 /* 167695 */ GIR_RootConstrainSelectedInstOperands,
58892 /* 167696 */ // GIR_Coverage, 979,
58893 /* 167696 */ GIR_EraseRootFromParent_Done,
58894 /* 167697 */ // Label 4617: @167697
58895 /* 167697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4618*/ GIMT_Encode4(167753), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 977 //
58896 /* 167704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58897 /* 167708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58898 /* 167712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58899 /* 167715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58900 /* 167719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58901 /* 167723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58902 /* 167725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58903 /* 167732 */ // (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)
58904 /* 167732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
58905 /* 167735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58906 /* 167737 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58907 /* 167739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58908 /* 167743 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58909 /* 167746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58910 /* 167751 */ GIR_RootConstrainSelectedInstOperands,
58911 /* 167752 */ // GIR_Coverage, 977,
58912 /* 167752 */ GIR_EraseRootFromParent_Done,
58913 /* 167753 */ // Label 4618: @167753
58914 /* 167753 */ GIM_Reject,
58915 /* 167754 */ // Label 4614: @167754
58916 /* 167754 */ GIM_Reject,
58917 /* 167755 */ // Label 4608: @167755
58918 /* 167755 */ GIM_Try, /*On fail goto*//*Label 4619*/ GIMT_Encode4(167875),
58919 /* 167760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58920 /* 167764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58921 /* 167768 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4620*/ GIMT_Encode4(167821), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2266 //
58922 /* 167775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58923 /* 167779 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58924 /* 167783 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58925 /* 167786 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58926 /* 167790 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58927 /* 167794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58928 /* 167796 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58929 /* 167803 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58930 /* 167803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
58931 /* 167806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58932 /* 167808 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58933 /* 167810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58934 /* 167814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58935 /* 167819 */ GIR_RootConstrainSelectedInstOperands,
58936 /* 167820 */ // GIR_Coverage, 2266,
58937 /* 167820 */ GIR_EraseRootFromParent_Done,
58938 /* 167821 */ // Label 4620: @167821
58939 /* 167821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4621*/ GIMT_Encode4(167874), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2274 //
58940 /* 167828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58941 /* 167832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58942 /* 167836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58943 /* 167839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58944 /* 167843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58945 /* 167847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58946 /* 167849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58947 /* 167856 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58948 /* 167856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
58949 /* 167859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58950 /* 167861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58951 /* 167863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58952 /* 167867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58953 /* 167872 */ GIR_RootConstrainSelectedInstOperands,
58954 /* 167873 */ // GIR_Coverage, 2274,
58955 /* 167873 */ GIR_EraseRootFromParent_Done,
58956 /* 167874 */ // Label 4621: @167874
58957 /* 167874 */ GIM_Reject,
58958 /* 167875 */ // Label 4619: @167875
58959 /* 167875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4622*/ GIMT_Encode4(167936), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6108 //
58960 /* 167882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58961 /* 167886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58962 /* 167890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58963 /* 167894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58964 /* 167898 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58965 /* 167901 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58966 /* 167905 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58967 /* 167909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58968 /* 167911 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58969 /* 167918 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58970 /* 167918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
58971 /* 167921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58972 /* 167923 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58973 /* 167925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58974 /* 167929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58975 /* 167934 */ GIR_RootConstrainSelectedInstOperands,
58976 /* 167935 */ // GIR_Coverage, 6108,
58977 /* 167935 */ GIR_EraseRootFromParent_Done,
58978 /* 167936 */ // Label 4622: @167936
58979 /* 167936 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4623*/ GIMT_Encode4(167972), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 883 //
58980 /* 167943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58981 /* 167947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58982 /* 167951 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58983 /* 167955 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
58984 /* 167955 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
58985 /* 167960 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
58986 /* 167966 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
58987 /* 167970 */ GIR_RootConstrainSelectedInstOperands,
58988 /* 167971 */ // GIR_Coverage, 883,
58989 /* 167971 */ GIR_Done,
58990 /* 167972 */ // Label 4623: @167972
58991 /* 167972 */ GIM_Try, /*On fail goto*//*Label 4624*/ GIMT_Encode4(168026),
58992 /* 167977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58993 /* 167981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58994 /* 167985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58995 /* 167989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4625*/ GIMT_Encode4(168007), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2264 //
58996 /* 167996 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
58997 /* 167996 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
58998 /* 168001 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58999 /* 168005 */ GIR_RootConstrainSelectedInstOperands,
59000 /* 168006 */ // GIR_Coverage, 2264,
59001 /* 168006 */ GIR_Done,
59002 /* 168007 */ // Label 4625: @168007
59003 /* 168007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4626*/ GIMT_Encode4(168025), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2272 //
59004 /* 168014 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
59005 /* 168014 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
59006 /* 168019 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59007 /* 168023 */ GIR_RootConstrainSelectedInstOperands,
59008 /* 168024 */ // GIR_Coverage, 2272,
59009 /* 168024 */ GIR_Done,
59010 /* 168025 */ // Label 4626: @168025
59011 /* 168025 */ GIM_Reject,
59012 /* 168026 */ // Label 4624: @168026
59013 /* 168026 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4627*/ GIMT_Encode4(168056), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6106 //
59014 /* 168033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59015 /* 168037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59016 /* 168041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59017 /* 168045 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
59018 /* 168045 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
59019 /* 168050 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59020 /* 168054 */ GIR_RootConstrainSelectedInstOperands,
59021 /* 168055 */ // GIR_Coverage, 6106,
59022 /* 168055 */ GIR_Done,
59023 /* 168056 */ // Label 4627: @168056
59024 /* 168056 */ GIM_Reject,
59025 /* 168057 */ // Label 4603: @168057
59026 /* 168057 */ GIM_Reject,
59027 /* 168058 */ // Label 4566: @168058
59028 /* 168058 */ GIM_Try, /*On fail goto*//*Label 4628*/ GIMT_Encode4(168598),
59029 /* 168063 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
59030 /* 168066 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
59031 /* 168069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59032 /* 168073 */ GIM_Try, /*On fail goto*//*Label 4629*/ GIMT_Encode4(168321),
59033 /* 168078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59034 /* 168082 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4630*/ GIMT_Encode4(168138), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1015 //
59035 /* 168089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59036 /* 168093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59037 /* 168097 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
59038 /* 168104 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59039 /* 168108 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59040 /* 168110 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59041 /* 168117 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
59042 /* 168117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
59043 /* 168120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59044 /* 168122 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59045 /* 168124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59046 /* 168128 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59047 /* 168131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59048 /* 168136 */ GIR_RootConstrainSelectedInstOperands,
59049 /* 168137 */ // GIR_Coverage, 1015,
59050 /* 168137 */ GIR_EraseRootFromParent_Done,
59051 /* 168138 */ // Label 4630: @168138
59052 /* 168138 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4631*/ GIMT_Encode4(168194), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1017 //
59053 /* 168145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59054 /* 168149 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59055 /* 168153 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59056 /* 168160 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59057 /* 168164 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59058 /* 168166 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59059 /* 168173 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
59060 /* 168173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
59061 /* 168176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59062 /* 168178 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59063 /* 168180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59064 /* 168184 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59065 /* 168187 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59066 /* 168192 */ GIR_RootConstrainSelectedInstOperands,
59067 /* 168193 */ // GIR_Coverage, 1017,
59068 /* 168193 */ GIR_EraseRootFromParent_Done,
59069 /* 168194 */ // Label 4631: @168194
59070 /* 168194 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4632*/ GIMT_Encode4(168257), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1003 //
59071 /* 168201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59072 /* 168205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
59073 /* 168209 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59074 /* 168212 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59075 /* 168216 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59076 /* 168223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59077 /* 168227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59078 /* 168229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59079 /* 168236 */ // (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)
59080 /* 168236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
59081 /* 168239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59082 /* 168241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59083 /* 168243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59084 /* 168247 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59085 /* 168250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59086 /* 168255 */ GIR_RootConstrainSelectedInstOperands,
59087 /* 168256 */ // GIR_Coverage, 1003,
59088 /* 168256 */ GIR_EraseRootFromParent_Done,
59089 /* 168257 */ // Label 4632: @168257
59090 /* 168257 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4633*/ GIMT_Encode4(168320), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1005 //
59091 /* 168264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59092 /* 168268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
59093 /* 168272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59094 /* 168275 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59095 /* 168279 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
59096 /* 168286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59097 /* 168290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59098 /* 168292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59099 /* 168299 */ // (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)
59100 /* 168299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
59101 /* 168302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59102 /* 168304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59103 /* 168306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59104 /* 168310 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59105 /* 168313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59106 /* 168318 */ GIR_RootConstrainSelectedInstOperands,
59107 /* 168319 */ // GIR_Coverage, 1005,
59108 /* 168319 */ GIR_EraseRootFromParent_Done,
59109 /* 168320 */ // Label 4633: @168320
59110 /* 168320 */ GIM_Reject,
59111 /* 168321 */ // Label 4629: @168321
59112 /* 168321 */ GIM_Try, /*On fail goto*//*Label 4634*/ GIMT_Encode4(168597),
59113 /* 168326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59114 /* 168330 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4635*/ GIMT_Encode4(168386), GIMT_Encode2(GIFBS_HasX87), // Rule ID 993 //
59115 /* 168337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59116 /* 168341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59117 /* 168345 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
59118 /* 168352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59119 /* 168356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59120 /* 168358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59121 /* 168365 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
59122 /* 168365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
59123 /* 168368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59124 /* 168370 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59125 /* 168372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59126 /* 168376 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59127 /* 168379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59128 /* 168384 */ GIR_RootConstrainSelectedInstOperands,
59129 /* 168385 */ // GIR_Coverage, 993,
59130 /* 168385 */ GIR_EraseRootFromParent_Done,
59131 /* 168386 */ // Label 4635: @168386
59132 /* 168386 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4636*/ GIMT_Encode4(168442), GIMT_Encode2(GIFBS_HasX87), // Rule ID 995 //
59133 /* 168393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59134 /* 168397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59135 /* 168401 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59136 /* 168408 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59137 /* 168412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59138 /* 168414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59139 /* 168421 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
59140 /* 168421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
59141 /* 168424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59142 /* 168426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59143 /* 168428 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59144 /* 168432 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59145 /* 168435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59146 /* 168440 */ GIR_RootConstrainSelectedInstOperands,
59147 /* 168441 */ // GIR_Coverage, 995,
59148 /* 168441 */ GIR_EraseRootFromParent_Done,
59149 /* 168442 */ // Label 4636: @168442
59150 /* 168442 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4637*/ GIMT_Encode4(168505), GIMT_Encode2(GIFBS_HasX87), // Rule ID 981 //
59151 /* 168449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59152 /* 168453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
59153 /* 168457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59154 /* 168460 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59155 /* 168464 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59156 /* 168471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59157 /* 168475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59158 /* 168477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59159 /* 168484 */ // (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)
59160 /* 168484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
59161 /* 168487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59162 /* 168489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59163 /* 168491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59164 /* 168495 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59165 /* 168498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59166 /* 168503 */ GIR_RootConstrainSelectedInstOperands,
59167 /* 168504 */ // GIR_Coverage, 981,
59168 /* 168504 */ GIR_EraseRootFromParent_Done,
59169 /* 168505 */ // Label 4637: @168505
59170 /* 168505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4638*/ GIMT_Encode4(168568), GIMT_Encode2(GIFBS_HasX87), // Rule ID 983 //
59171 /* 168512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59172 /* 168516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
59173 /* 168520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59174 /* 168523 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59175 /* 168527 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
59176 /* 168534 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59177 /* 168538 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59178 /* 168540 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59179 /* 168547 */ // (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)
59180 /* 168547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
59181 /* 168550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59182 /* 168552 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59183 /* 168554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59184 /* 168558 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59185 /* 168561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59186 /* 168566 */ GIR_RootConstrainSelectedInstOperands,
59187 /* 168567 */ // GIR_Coverage, 983,
59188 /* 168567 */ GIR_EraseRootFromParent_Done,
59189 /* 168568 */ // Label 4638: @168568
59190 /* 168568 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4639*/ GIMT_Encode4(168596), GIMT_Encode2(GIFBS_HasX87), // Rule ID 885 //
59191 /* 168575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59192 /* 168579 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
59193 /* 168579 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
59194 /* 168584 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
59195 /* 168590 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
59196 /* 168594 */ GIR_RootConstrainSelectedInstOperands,
59197 /* 168595 */ // GIR_Coverage, 885,
59198 /* 168595 */ GIR_Done,
59199 /* 168596 */ // Label 4639: @168596
59200 /* 168596 */ GIM_Reject,
59201 /* 168597 */ // Label 4634: @168597
59202 /* 168597 */ GIM_Reject,
59203 /* 168598 */ // Label 4628: @168598
59204 /* 168598 */ GIM_Reject,
59205 /* 168599 */ // Label 4567: @168599
59206 /* 168599 */ GIM_Try, /*On fail goto*//*Label 4640*/ GIMT_Encode4(168694),
59207 /* 168604 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
59208 /* 168607 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
59209 /* 168610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59210 /* 168614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59211 /* 168618 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4641*/ GIMT_Encode4(168671), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6697 //
59212 /* 168625 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59213 /* 168629 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59214 /* 168633 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59215 /* 168636 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59216 /* 168640 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59217 /* 168644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59218 /* 168646 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59219 /* 168653 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
59220 /* 168653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
59221 /* 168656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59222 /* 168658 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59223 /* 168660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59224 /* 168664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59225 /* 168669 */ GIR_RootConstrainSelectedInstOperands,
59226 /* 168670 */ // GIR_Coverage, 6697,
59227 /* 168670 */ GIR_EraseRootFromParent_Done,
59228 /* 168671 */ // Label 4641: @168671
59229 /* 168671 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4642*/ GIMT_Encode4(168693), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6693 //
59230 /* 168678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59231 /* 168682 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
59232 /* 168682 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
59233 /* 168687 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59234 /* 168691 */ GIR_RootConstrainSelectedInstOperands,
59235 /* 168692 */ // GIR_Coverage, 6693,
59236 /* 168692 */ GIR_Done,
59237 /* 168693 */ // Label 4642: @168693
59238 /* 168693 */ GIM_Reject,
59239 /* 168694 */ // Label 4640: @168694
59240 /* 168694 */ GIM_Reject,
59241 /* 168695 */ // Label 4568: @168695
59242 /* 168695 */ GIM_Try, /*On fail goto*//*Label 4643*/ GIMT_Encode4(168790),
59243 /* 168700 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
59244 /* 168703 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
59245 /* 168706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59246 /* 168710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59247 /* 168714 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4644*/ GIMT_Encode4(168767), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6709 //
59248 /* 168721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59249 /* 168725 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59250 /* 168729 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59251 /* 168732 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59252 /* 168736 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59253 /* 168740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59254 /* 168742 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59255 /* 168749 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
59256 /* 168749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
59257 /* 168752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59258 /* 168754 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59259 /* 168756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59260 /* 168760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59261 /* 168765 */ GIR_RootConstrainSelectedInstOperands,
59262 /* 168766 */ // GIR_Coverage, 6709,
59263 /* 168766 */ GIR_EraseRootFromParent_Done,
59264 /* 168767 */ // Label 4644: @168767
59265 /* 168767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4645*/ GIMT_Encode4(168789), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6705 //
59266 /* 168774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59267 /* 168778 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
59268 /* 168778 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
59269 /* 168783 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59270 /* 168787 */ GIR_RootConstrainSelectedInstOperands,
59271 /* 168788 */ // GIR_Coverage, 6705,
59272 /* 168788 */ GIR_Done,
59273 /* 168789 */ // Label 4645: @168789
59274 /* 168789 */ GIM_Reject,
59275 /* 168790 */ // Label 4643: @168790
59276 /* 168790 */ GIM_Reject,
59277 /* 168791 */ // Label 4569: @168791
59278 /* 168791 */ GIM_Try, /*On fail goto*//*Label 4646*/ GIMT_Encode4(168886),
59279 /* 168796 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
59280 /* 168799 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
59281 /* 168802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59282 /* 168806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59283 /* 168810 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4647*/ GIMT_Encode4(168863), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6685 //
59284 /* 168817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59285 /* 168821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59286 /* 168825 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59287 /* 168828 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59288 /* 168832 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59289 /* 168836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59290 /* 168838 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59291 /* 168845 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
59292 /* 168845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
59293 /* 168848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59294 /* 168850 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59295 /* 168852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59296 /* 168856 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59297 /* 168861 */ GIR_RootConstrainSelectedInstOperands,
59298 /* 168862 */ // GIR_Coverage, 6685,
59299 /* 168862 */ GIR_EraseRootFromParent_Done,
59300 /* 168863 */ // Label 4647: @168863
59301 /* 168863 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4648*/ GIMT_Encode4(168885), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6681 //
59302 /* 168870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59303 /* 168874 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
59304 /* 168874 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
59305 /* 168879 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59306 /* 168883 */ GIR_RootConstrainSelectedInstOperands,
59307 /* 168884 */ // GIR_Coverage, 6681,
59308 /* 168884 */ GIR_Done,
59309 /* 168885 */ // Label 4648: @168885
59310 /* 168885 */ GIM_Reject,
59311 /* 168886 */ // Label 4646: @168886
59312 /* 168886 */ GIM_Reject,
59313 /* 168887 */ // Label 4570: @168887
59314 /* 168887 */ GIM_Try, /*On fail goto*//*Label 4649*/ GIMT_Encode4(169105),
59315 /* 168892 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
59316 /* 168895 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
59317 /* 168898 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4650*/ GIMT_Encode4(168959), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2238 //
59318 /* 168905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59319 /* 168909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59320 /* 168913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59321 /* 168917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59322 /* 168921 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59323 /* 168924 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59324 /* 168928 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59325 /* 168932 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59326 /* 168934 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59327 /* 168941 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59328 /* 168941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
59329 /* 168944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59330 /* 168946 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59331 /* 168948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59332 /* 168952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59333 /* 168957 */ GIR_RootConstrainSelectedInstOperands,
59334 /* 168958 */ // GIR_Coverage, 2238,
59335 /* 168958 */ GIR_EraseRootFromParent_Done,
59336 /* 168959 */ // Label 4650: @168959
59337 /* 168959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4651*/ GIMT_Encode4(169020), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6637 //
59338 /* 168966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59339 /* 168970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59340 /* 168974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59341 /* 168978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59342 /* 168982 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59343 /* 168985 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59344 /* 168989 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59345 /* 168993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59346 /* 168995 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59347 /* 169002 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59348 /* 169002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
59349 /* 169005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59350 /* 169007 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59351 /* 169009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59352 /* 169013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59353 /* 169018 */ GIR_RootConstrainSelectedInstOperands,
59354 /* 169019 */ // GIR_Coverage, 6637,
59355 /* 169019 */ GIR_EraseRootFromParent_Done,
59356 /* 169020 */ // Label 4651: @169020
59357 /* 169020 */ GIM_Try, /*On fail goto*//*Label 4652*/ GIMT_Encode4(169074),
59358 /* 169025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59359 /* 169029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59360 /* 169033 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59361 /* 169037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4653*/ GIMT_Encode4(169055), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2236 //
59362 /* 169044 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
59363 /* 169044 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
59364 /* 169049 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59365 /* 169053 */ GIR_RootConstrainSelectedInstOperands,
59366 /* 169054 */ // GIR_Coverage, 2236,
59367 /* 169054 */ GIR_Done,
59368 /* 169055 */ // Label 4653: @169055
59369 /* 169055 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4654*/ GIMT_Encode4(169073), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2252 //
59370 /* 169062 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
59371 /* 169062 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
59372 /* 169067 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59373 /* 169071 */ GIR_RootConstrainSelectedInstOperands,
59374 /* 169072 */ // GIR_Coverage, 2252,
59375 /* 169072 */ GIR_Done,
59376 /* 169073 */ // Label 4654: @169073
59377 /* 169073 */ GIM_Reject,
59378 /* 169074 */ // Label 4652: @169074
59379 /* 169074 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4655*/ GIMT_Encode4(169104), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6633 //
59380 /* 169081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59381 /* 169085 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59382 /* 169089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59383 /* 169093 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
59384 /* 169093 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
59385 /* 169098 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59386 /* 169102 */ GIR_RootConstrainSelectedInstOperands,
59387 /* 169103 */ // GIR_Coverage, 6633,
59388 /* 169103 */ GIR_Done,
59389 /* 169104 */ // Label 4655: @169104
59390 /* 169104 */ GIM_Reject,
59391 /* 169105 */ // Label 4649: @169105
59392 /* 169105 */ GIM_Reject,
59393 /* 169106 */ // Label 4571: @169106
59394 /* 169106 */ GIM_Try, /*On fail goto*//*Label 4656*/ GIMT_Encode4(169300),
59395 /* 169111 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
59396 /* 169114 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
59397 /* 169117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4657*/ GIMT_Encode4(169178), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2246 //
59398 /* 169124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59399 /* 169128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59400 /* 169132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59401 /* 169136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59402 /* 169140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59403 /* 169143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59404 /* 169147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59405 /* 169151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59406 /* 169153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59407 /* 169160 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59408 /* 169160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
59409 /* 169163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59410 /* 169165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59411 /* 169167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59412 /* 169171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59413 /* 169176 */ GIR_RootConstrainSelectedInstOperands,
59414 /* 169177 */ // GIR_Coverage, 2246,
59415 /* 169177 */ GIR_EraseRootFromParent_Done,
59416 /* 169178 */ // Label 4657: @169178
59417 /* 169178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4658*/ GIMT_Encode4(169239), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6649 //
59418 /* 169185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59419 /* 169189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59420 /* 169193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59421 /* 169197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59422 /* 169201 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59423 /* 169204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59424 /* 169208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59425 /* 169212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59426 /* 169214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59427 /* 169221 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59428 /* 169221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
59429 /* 169224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59430 /* 169226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59431 /* 169228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59432 /* 169232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59433 /* 169237 */ GIR_RootConstrainSelectedInstOperands,
59434 /* 169238 */ // GIR_Coverage, 6649,
59435 /* 169238 */ GIR_EraseRootFromParent_Done,
59436 /* 169239 */ // Label 4658: @169239
59437 /* 169239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4659*/ GIMT_Encode4(169269), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2244 //
59438 /* 169246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59439 /* 169250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59440 /* 169254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59441 /* 169258 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
59442 /* 169258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
59443 /* 169263 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59444 /* 169267 */ GIR_RootConstrainSelectedInstOperands,
59445 /* 169268 */ // GIR_Coverage, 2244,
59446 /* 169268 */ GIR_Done,
59447 /* 169269 */ // Label 4659: @169269
59448 /* 169269 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4660*/ GIMT_Encode4(169299), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6645 //
59449 /* 169276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59450 /* 169280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59451 /* 169284 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59452 /* 169288 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
59453 /* 169288 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
59454 /* 169293 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59455 /* 169297 */ GIR_RootConstrainSelectedInstOperands,
59456 /* 169298 */ // GIR_Coverage, 6645,
59457 /* 169298 */ GIR_Done,
59458 /* 169299 */ // Label 4660: @169299
59459 /* 169299 */ GIM_Reject,
59460 /* 169300 */ // Label 4656: @169300
59461 /* 169300 */ GIM_Reject,
59462 /* 169301 */ // Label 4572: @169301
59463 /* 169301 */ GIM_Try, /*On fail goto*//*Label 4661*/ GIMT_Encode4(169396),
59464 /* 169306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
59465 /* 169309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
59466 /* 169312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59467 /* 169316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59468 /* 169320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4662*/ GIMT_Encode4(169373), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6613 //
59469 /* 169327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59470 /* 169331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59471 /* 169335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59472 /* 169338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59473 /* 169342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59474 /* 169346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59475 /* 169348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59476 /* 169355 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59477 /* 169355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
59478 /* 169358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59479 /* 169360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59480 /* 169362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59481 /* 169366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59482 /* 169371 */ GIR_RootConstrainSelectedInstOperands,
59483 /* 169372 */ // GIR_Coverage, 6613,
59484 /* 169372 */ GIR_EraseRootFromParent_Done,
59485 /* 169373 */ // Label 4662: @169373
59486 /* 169373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4663*/ GIMT_Encode4(169395), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6609 //
59487 /* 169380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59488 /* 169384 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
59489 /* 169384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
59490 /* 169389 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59491 /* 169393 */ GIR_RootConstrainSelectedInstOperands,
59492 /* 169394 */ // GIR_Coverage, 6609,
59493 /* 169394 */ GIR_Done,
59494 /* 169395 */ // Label 4663: @169395
59495 /* 169395 */ GIM_Reject,
59496 /* 169396 */ // Label 4661: @169396
59497 /* 169396 */ GIM_Reject,
59498 /* 169397 */ // Label 4573: @169397
59499 /* 169397 */ GIM_Try, /*On fail goto*//*Label 4664*/ GIMT_Encode4(169615),
59500 /* 169402 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
59501 /* 169405 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
59502 /* 169408 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4665*/ GIMT_Encode4(169469), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2242 //
59503 /* 169415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59504 /* 169419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59505 /* 169423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59506 /* 169427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59507 /* 169431 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59508 /* 169434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59509 /* 169438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59510 /* 169442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59511 /* 169444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59512 /* 169451 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59513 /* 169451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
59514 /* 169454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59515 /* 169456 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59516 /* 169458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59517 /* 169462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59518 /* 169467 */ GIR_RootConstrainSelectedInstOperands,
59519 /* 169468 */ // GIR_Coverage, 2242,
59520 /* 169468 */ GIR_EraseRootFromParent_Done,
59521 /* 169469 */ // Label 4665: @169469
59522 /* 169469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4666*/ GIMT_Encode4(169530), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6661 //
59523 /* 169476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59524 /* 169480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59525 /* 169484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59526 /* 169488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59527 /* 169492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59528 /* 169495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59529 /* 169499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59530 /* 169503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59531 /* 169505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59532 /* 169512 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59533 /* 169512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
59534 /* 169515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59535 /* 169517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59536 /* 169519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59537 /* 169523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59538 /* 169528 */ GIR_RootConstrainSelectedInstOperands,
59539 /* 169529 */ // GIR_Coverage, 6661,
59540 /* 169529 */ GIR_EraseRootFromParent_Done,
59541 /* 169530 */ // Label 4666: @169530
59542 /* 169530 */ GIM_Try, /*On fail goto*//*Label 4667*/ GIMT_Encode4(169584),
59543 /* 169535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59544 /* 169539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59545 /* 169543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59546 /* 169547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4668*/ GIMT_Encode4(169565), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2240 //
59547 /* 169554 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
59548 /* 169554 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
59549 /* 169559 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59550 /* 169563 */ GIR_RootConstrainSelectedInstOperands,
59551 /* 169564 */ // GIR_Coverage, 2240,
59552 /* 169564 */ GIR_Done,
59553 /* 169565 */ // Label 4668: @169565
59554 /* 169565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4669*/ GIMT_Encode4(169583), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2256 //
59555 /* 169572 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
59556 /* 169572 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
59557 /* 169577 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59558 /* 169581 */ GIR_RootConstrainSelectedInstOperands,
59559 /* 169582 */ // GIR_Coverage, 2256,
59560 /* 169582 */ GIR_Done,
59561 /* 169583 */ // Label 4669: @169583
59562 /* 169583 */ GIM_Reject,
59563 /* 169584 */ // Label 4667: @169584
59564 /* 169584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4670*/ GIMT_Encode4(169614), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6657 //
59565 /* 169591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59566 /* 169595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59567 /* 169599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59568 /* 169603 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
59569 /* 169603 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
59570 /* 169608 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59571 /* 169612 */ GIR_RootConstrainSelectedInstOperands,
59572 /* 169613 */ // GIR_Coverage, 6657,
59573 /* 169613 */ GIR_Done,
59574 /* 169614 */ // Label 4670: @169614
59575 /* 169614 */ GIM_Reject,
59576 /* 169615 */ // Label 4664: @169615
59577 /* 169615 */ GIM_Reject,
59578 /* 169616 */ // Label 4574: @169616
59579 /* 169616 */ GIM_Try, /*On fail goto*//*Label 4671*/ GIMT_Encode4(169810),
59580 /* 169621 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
59581 /* 169624 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
59582 /* 169627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4672*/ GIMT_Encode4(169688), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2250 //
59583 /* 169634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59584 /* 169638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59585 /* 169642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59586 /* 169646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59587 /* 169650 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59588 /* 169653 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59589 /* 169657 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59590 /* 169661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59591 /* 169663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59592 /* 169670 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59593 /* 169670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
59594 /* 169673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59595 /* 169675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59596 /* 169677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59597 /* 169681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59598 /* 169686 */ GIR_RootConstrainSelectedInstOperands,
59599 /* 169687 */ // GIR_Coverage, 2250,
59600 /* 169687 */ GIR_EraseRootFromParent_Done,
59601 /* 169688 */ // Label 4672: @169688
59602 /* 169688 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4673*/ GIMT_Encode4(169749), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6673 //
59603 /* 169695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59604 /* 169699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59605 /* 169703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59606 /* 169707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59607 /* 169711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59608 /* 169714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59609 /* 169718 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59610 /* 169722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59611 /* 169724 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59612 /* 169731 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59613 /* 169731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
59614 /* 169734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59615 /* 169736 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59616 /* 169738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59617 /* 169742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59618 /* 169747 */ GIR_RootConstrainSelectedInstOperands,
59619 /* 169748 */ // GIR_Coverage, 6673,
59620 /* 169748 */ GIR_EraseRootFromParent_Done,
59621 /* 169749 */ // Label 4673: @169749
59622 /* 169749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4674*/ GIMT_Encode4(169779), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2248 //
59623 /* 169756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59624 /* 169760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59625 /* 169764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59626 /* 169768 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
59627 /* 169768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
59628 /* 169773 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59629 /* 169777 */ GIR_RootConstrainSelectedInstOperands,
59630 /* 169778 */ // GIR_Coverage, 2248,
59631 /* 169778 */ GIR_Done,
59632 /* 169779 */ // Label 4674: @169779
59633 /* 169779 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4675*/ GIMT_Encode4(169809), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6669 //
59634 /* 169786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59635 /* 169790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59636 /* 169794 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59637 /* 169798 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
59638 /* 169798 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
59639 /* 169803 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59640 /* 169807 */ GIR_RootConstrainSelectedInstOperands,
59641 /* 169808 */ // GIR_Coverage, 6669,
59642 /* 169808 */ GIR_Done,
59643 /* 169809 */ // Label 4675: @169809
59644 /* 169809 */ GIM_Reject,
59645 /* 169810 */ // Label 4671: @169810
59646 /* 169810 */ GIM_Reject,
59647 /* 169811 */ // Label 4575: @169811
59648 /* 169811 */ GIM_Try, /*On fail goto*//*Label 4676*/ GIMT_Encode4(169906),
59649 /* 169816 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
59650 /* 169819 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
59651 /* 169822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59652 /* 169826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59653 /* 169830 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4677*/ GIMT_Encode4(169883), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6625 //
59654 /* 169837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59655 /* 169841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59656 /* 169845 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59657 /* 169848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59658 /* 169852 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59659 /* 169856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59660 /* 169858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59661 /* 169865 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59662 /* 169865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
59663 /* 169868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59664 /* 169870 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59665 /* 169872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59666 /* 169876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59667 /* 169881 */ GIR_RootConstrainSelectedInstOperands,
59668 /* 169882 */ // GIR_Coverage, 6625,
59669 /* 169882 */ GIR_EraseRootFromParent_Done,
59670 /* 169883 */ // Label 4677: @169883
59671 /* 169883 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4678*/ GIMT_Encode4(169905), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6621 //
59672 /* 169890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59673 /* 169894 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
59674 /* 169894 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
59675 /* 169899 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59676 /* 169903 */ GIR_RootConstrainSelectedInstOperands,
59677 /* 169904 */ // GIR_Coverage, 6621,
59678 /* 169904 */ GIR_Done,
59679 /* 169905 */ // Label 4678: @169905
59680 /* 169905 */ GIM_Reject,
59681 /* 169906 */ // Label 4676: @169906
59682 /* 169906 */ GIM_Reject,
59683 /* 169907 */ // Label 4576: @169907
59684 /* 169907 */ GIM_Reject,
59685 /* 169908 */ // Label 49: @169908
59686 /* 169908 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 4682*/ GIMT_Encode4(170027),
59687 /* 169919 */ /*GILLT_s32*//*Label 4679*/ GIMT_Encode4(169931),
59688 /* 169923 */ /*GILLT_s64*//*Label 4680*/ GIMT_Encode4(169963),
59689 /* 169927 */ /*GILLT_s80*//*Label 4681*/ GIMT_Encode4(169995),
59690 /* 169931 */ // Label 4679: @169931
59691 /* 169931 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4683*/ GIMT_Encode4(169962), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1018 //
59692 /* 169938 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
59693 /* 169941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59694 /* 169945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59695 /* 169949 */ // (fneg:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
59696 /* 169949 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
59697 /* 169954 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
59698 /* 169960 */ GIR_RootConstrainSelectedInstOperands,
59699 /* 169961 */ // GIR_Coverage, 1018,
59700 /* 169961 */ GIR_Done,
59701 /* 169962 */ // Label 4683: @169962
59702 /* 169962 */ GIM_Reject,
59703 /* 169963 */ // Label 4680: @169963
59704 /* 169963 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4684*/ GIMT_Encode4(169994), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1019 //
59705 /* 169970 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
59706 /* 169973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
59707 /* 169977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
59708 /* 169981 */ // (fneg:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
59709 /* 169981 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
59710 /* 169986 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
59711 /* 169992 */ GIR_RootConstrainSelectedInstOperands,
59712 /* 169993 */ // GIR_Coverage, 1019,
59713 /* 169993 */ GIR_Done,
59714 /* 169994 */ // Label 4684: @169994
59715 /* 169994 */ GIM_Reject,
59716 /* 169995 */ // Label 4681: @169995
59717 /* 169995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4685*/ GIMT_Encode4(170026), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1020 //
59718 /* 170002 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
59719 /* 170005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59720 /* 170009 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59721 /* 170013 */ // (fneg:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
59722 /* 170013 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
59723 /* 170018 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
59724 /* 170024 */ GIR_RootConstrainSelectedInstOperands,
59725 /* 170025 */ // GIR_Coverage, 1020,
59726 /* 170025 */ GIR_Done,
59727 /* 170026 */ // Label 4685: @170026
59728 /* 170026 */ GIM_Reject,
59729 /* 170027 */ // Label 4682: @170027
59730 /* 170027 */ GIM_Reject,
59731 /* 170028 */ // Label 50: @170028
59732 /* 170028 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 4693*/ GIMT_Encode4(171000),
59733 /* 170039 */ /*GILLT_s32*//*Label 4686*/ GIMT_Encode4(170127),
59734 /* 170043 */ /*GILLT_s64*//*Label 4687*/ GIMT_Encode4(170246),
59735 /* 170047 */ /*GILLT_s80*//*Label 4688*/ GIMT_Encode4(170718), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
59736 /* 170107 */ /*GILLT_v8s32*//*Label 4689*/ GIMT_Encode4(170792),
59737 /* 170111 */ /*GILLT_v16s32*//*Label 4690*/ GIMT_Encode4(170822), GIMT_Encode4(0),
59738 /* 170119 */ /*GILLT_v4s64*//*Label 4691*/ GIMT_Encode4(170852),
59739 /* 170123 */ /*GILLT_v8s64*//*Label 4692*/ GIMT_Encode4(170914),
59740 /* 170127 */ // Label 4686: @170127
59741 /* 170127 */ GIM_Try, /*On fail goto*//*Label 4694*/ GIMT_Encode4(170245),
59742 /* 170132 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
59743 /* 170135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59744 /* 170139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4695*/ GIMT_Encode4(170207), GIMT_Encode2(GIFBS_HasFP16_OptForSize), // Rule ID 21356 //
59745 /* 170146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59746 /* 170150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59747 /* 170154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59748 /* 170157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59749 /* 170161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59750 /* 170165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59751 /* 170167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59752 /* 170174 */ // (fpextend:{ *:[f32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
59753 /* 170174 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
59754 /* 170177 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59755 /* 170181 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59756 /* 170186 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59757 /* 170188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrm),
59758 /* 170191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59759 /* 170193 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59760 /* 170196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59761 /* 170200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59762 /* 170205 */ GIR_RootConstrainSelectedInstOperands,
59763 /* 170206 */ // GIR_Coverage, 21356,
59764 /* 170206 */ GIR_EraseRootFromParent_Done,
59765 /* 170207 */ // Label 4695: @170207
59766 /* 170207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4696*/ GIMT_Encode4(170244), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21354 //
59767 /* 170214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59768 /* 170218 */ // (fpextend:{ *:[f32] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR16X:{ *:[f16] }:$src)
59769 /* 170218 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
59770 /* 170221 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59771 /* 170225 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59772 /* 170230 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59773 /* 170232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrr),
59774 /* 170235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59775 /* 170237 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59776 /* 170240 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
59777 /* 170242 */ GIR_RootConstrainSelectedInstOperands,
59778 /* 170243 */ // GIR_Coverage, 21354,
59779 /* 170243 */ GIR_EraseRootFromParent_Done,
59780 /* 170244 */ // Label 4696: @170244
59781 /* 170244 */ GIM_Reject,
59782 /* 170245 */ // Label 4694: @170245
59783 /* 170245 */ GIM_Reject,
59784 /* 170246 */ // Label 4687: @170246
59785 /* 170246 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 4699*/ GIMT_Encode4(170717),
59786 /* 170257 */ /*GILLT_s16*//*Label 4697*/ GIMT_Encode4(170265),
59787 /* 170261 */ /*GILLT_s32*//*Label 4698*/ GIMT_Encode4(170381),
59788 /* 170265 */ // Label 4697: @170265
59789 /* 170265 */ GIM_Try, /*On fail goto*//*Label 4700*/ GIMT_Encode4(170380),
59790 /* 170270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59791 /* 170274 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4701*/ GIMT_Encode4(170342), GIMT_Encode2(GIFBS_HasFP16_OptForSize), // Rule ID 21360 //
59792 /* 170281 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59793 /* 170285 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59794 /* 170289 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59795 /* 170292 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59796 /* 170296 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59797 /* 170300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59798 /* 170302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59799 /* 170309 */ // (fpextend:{ *:[f64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
59800 /* 170309 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59801 /* 170312 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59802 /* 170316 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59803 /* 170321 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59804 /* 170323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrm),
59805 /* 170326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59806 /* 170328 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59807 /* 170331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59808 /* 170335 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59809 /* 170340 */ GIR_RootConstrainSelectedInstOperands,
59810 /* 170341 */ // GIR_Coverage, 21360,
59811 /* 170341 */ GIR_EraseRootFromParent_Done,
59812 /* 170342 */ // Label 4701: @170342
59813 /* 170342 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4702*/ GIMT_Encode4(170379), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21358 //
59814 /* 170349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59815 /* 170353 */ // (fpextend:{ *:[f64] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR16X:{ *:[f16] }:$src)
59816 /* 170353 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59817 /* 170356 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59818 /* 170360 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59819 /* 170365 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59820 /* 170367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrr),
59821 /* 170370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59822 /* 170372 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59823 /* 170375 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
59824 /* 170377 */ GIR_RootConstrainSelectedInstOperands,
59825 /* 170378 */ // GIR_Coverage, 21358,
59826 /* 170378 */ GIR_EraseRootFromParent_Done,
59827 /* 170379 */ // Label 4702: @170379
59828 /* 170379 */ GIM_Reject,
59829 /* 170380 */ // Label 4700: @170380
59830 /* 170380 */ GIM_Reject,
59831 /* 170381 */ // Label 4698: @170381
59832 /* 170381 */ GIM_Try, /*On fail goto*//*Label 4703*/ GIMT_Encode4(170510),
59833 /* 170386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59834 /* 170390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4704*/ GIMT_Encode4(170441), GIMT_Encode2(GIFBS_OptForSize_UseSSE2), // Rule ID 1875 //
59835 /* 170397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59836 /* 170401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59837 /* 170405 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59838 /* 170408 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59839 /* 170412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59840 /* 170416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59841 /* 170418 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59842 /* 170425 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
59843 /* 170425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrm),
59844 /* 170428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59845 /* 170430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59846 /* 170434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59847 /* 170439 */ GIR_RootConstrainSelectedInstOperands,
59848 /* 170440 */ // GIR_Coverage, 1875,
59849 /* 170440 */ GIR_EraseRootFromParent_Done,
59850 /* 170441 */ // Label 4704: @170441
59851 /* 170441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4705*/ GIMT_Encode4(170509), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18095 //
59852 /* 170448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59853 /* 170452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59854 /* 170456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59855 /* 170459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59856 /* 170463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59857 /* 170467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59858 /* 170469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59859 /* 170476 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
59860 /* 170476 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59861 /* 170479 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59862 /* 170483 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59863 /* 170488 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59864 /* 170490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrm),
59865 /* 170493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59866 /* 170495 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59867 /* 170498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59868 /* 170502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59869 /* 170507 */ GIR_RootConstrainSelectedInstOperands,
59870 /* 170508 */ // GIR_Coverage, 18095,
59871 /* 170508 */ GIR_EraseRootFromParent_Done,
59872 /* 170509 */ // Label 4705: @170509
59873 /* 170509 */ GIM_Reject,
59874 /* 170510 */ // Label 4703: @170510
59875 /* 170510 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4706*/ GIMT_Encode4(170582), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21350 //
59876 /* 170517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59877 /* 170521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59878 /* 170525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59879 /* 170529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59880 /* 170532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59881 /* 170536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59882 /* 170540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59883 /* 170542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59884 /* 170549 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
59885 /* 170549 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59886 /* 170552 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59887 /* 170556 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59888 /* 170561 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59889 /* 170563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrm),
59890 /* 170566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59891 /* 170568 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59892 /* 170571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59893 /* 170575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59894 /* 170580 */ GIR_RootConstrainSelectedInstOperands,
59895 /* 170581 */ // GIR_Coverage, 21350,
59896 /* 170581 */ GIR_EraseRootFromParent_Done,
59897 /* 170582 */ // Label 4706: @170582
59898 /* 170582 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4707*/ GIMT_Encode4(170608), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1873 //
59899 /* 170589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59900 /* 170593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59901 /* 170597 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (CVTSS2SDrr:{ *:[f64] } FR32:{ *:[f32] }:$src)
59902 /* 170597 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrr),
59903 /* 170602 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59904 /* 170606 */ GIR_RootConstrainSelectedInstOperands,
59905 /* 170607 */ // GIR_Coverage, 1873,
59906 /* 170607 */ GIR_Done,
59907 /* 170608 */ // Label 4707: @170608
59908 /* 170608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4708*/ GIMT_Encode4(170634), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17784 //
59909 /* 170615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
59910 /* 170619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59911 /* 170623 */ // (fpextend:{ *:[f64] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP32:{ *:[f32] }:$src, RFP64:{ *:[i32] })
59912 /* 170623 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
59913 /* 170628 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
59914 /* 170633 */ // GIR_Coverage, 17784,
59915 /* 170633 */ GIR_Done,
59916 /* 170634 */ // Label 4708: @170634
59917 /* 170634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4709*/ GIMT_Encode4(170675), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18093 //
59918 /* 170641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59919 /* 170645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59920 /* 170649 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32:{ *:[f32] }:$src)
59921 /* 170649 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59922 /* 170652 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59923 /* 170656 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59924 /* 170661 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59925 /* 170663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrr),
59926 /* 170666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59927 /* 170668 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59928 /* 170671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
59929 /* 170673 */ GIR_RootConstrainSelectedInstOperands,
59930 /* 170674 */ // GIR_Coverage, 18093,
59931 /* 170674 */ GIR_EraseRootFromParent_Done,
59932 /* 170675 */ // Label 4709: @170675
59933 /* 170675 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4710*/ GIMT_Encode4(170716), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21348 //
59934 /* 170682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59935 /* 170686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59936 /* 170690 */ // (fpextend:{ *:[f64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32X:{ *:[f32] }:$src)
59937 /* 170690 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59938 /* 170693 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59939 /* 170697 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59940 /* 170702 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59941 /* 170704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrr),
59942 /* 170707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59943 /* 170709 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59944 /* 170712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
59945 /* 170714 */ GIR_RootConstrainSelectedInstOperands,
59946 /* 170715 */ // GIR_Coverage, 21348,
59947 /* 170715 */ GIR_EraseRootFromParent_Done,
59948 /* 170716 */ // Label 4710: @170716
59949 /* 170716 */ GIM_Reject,
59950 /* 170717 */ // Label 4699: @170717
59951 /* 170717 */ GIM_Reject,
59952 /* 170718 */ // Label 4688: @170718
59953 /* 170718 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4713*/ GIMT_Encode4(170791),
59954 /* 170729 */ /*GILLT_s32*//*Label 4711*/ GIMT_Encode4(170737),
59955 /* 170733 */ /*GILLT_s64*//*Label 4712*/ GIMT_Encode4(170764),
59956 /* 170737 */ // Label 4711: @170737
59957 /* 170737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4714*/ GIMT_Encode4(170763), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17786 //
59958 /* 170744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59959 /* 170748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59960 /* 170752 */ // (fpextend:{ *:[f80] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP32:{ *:[f32] }:$src, RFP80:{ *:[i32] })
59961 /* 170752 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
59962 /* 170757 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
59963 /* 170762 */ // GIR_Coverage, 17786,
59964 /* 170762 */ GIR_Done,
59965 /* 170763 */ // Label 4714: @170763
59966 /* 170763 */ GIM_Reject,
59967 /* 170764 */ // Label 4712: @170764
59968 /* 170764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4715*/ GIMT_Encode4(170790), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 17788 //
59969 /* 170771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59970 /* 170775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
59971 /* 170779 */ // (fpextend:{ *:[f80] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP64:{ *:[f64] }:$src, RFP80:{ *:[i32] })
59972 /* 170779 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
59973 /* 170784 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
59974 /* 170789 */ // GIR_Coverage, 17788,
59975 /* 170789 */ GIR_Done,
59976 /* 170790 */ // Label 4715: @170790
59977 /* 170790 */ GIM_Reject,
59978 /* 170791 */ // Label 4713: @170791
59979 /* 170791 */ GIM_Reject,
59980 /* 170792 */ // Label 4689: @170792
59981 /* 170792 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4716*/ GIMT_Encode4(170821), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 10639 //
59982 /* 170799 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
59983 /* 170802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59984 /* 170806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59985 /* 170810 */ // (fpextend:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PSXZ256rr:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src)
59986 /* 170810 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZ256rr),
59987 /* 170815 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59988 /* 170819 */ GIR_RootConstrainSelectedInstOperands,
59989 /* 170820 */ // GIR_Coverage, 10639,
59990 /* 170820 */ GIR_Done,
59991 /* 170821 */ // Label 4716: @170821
59992 /* 170821 */ GIM_Reject,
59993 /* 170822 */ // Label 4690: @170822
59994 /* 170822 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4717*/ GIMT_Encode4(170851), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10614 //
59995 /* 170829 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
59996 /* 170832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59997 /* 170836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59998 /* 170840 */ // (fpextend:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2PSXZrr:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src)
59999 /* 170840 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZrr),
60000 /* 170845 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60001 /* 170849 */ GIR_RootConstrainSelectedInstOperands,
60002 /* 170850 */ // GIR_Coverage, 10614,
60003 /* 170850 */ GIR_Done,
60004 /* 170851 */ // Label 4717: @170851
60005 /* 170851 */ GIM_Reject,
60006 /* 170852 */ // Label 4691: @170852
60007 /* 170852 */ GIM_Try, /*On fail goto*//*Label 4718*/ GIMT_Encode4(170913),
60008 /* 170857 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
60009 /* 170860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4719*/ GIMT_Encode4(170886), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1916 //
60010 /* 170867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60011 /* 170871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60012 /* 170875 */ // (fpextend:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2PDYrr:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src)
60013 /* 170875 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDYrr),
60014 /* 170880 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60015 /* 170884 */ GIR_RootConstrainSelectedInstOperands,
60016 /* 170885 */ // GIR_Coverage, 1916,
60017 /* 170885 */ GIR_Done,
60018 /* 170886 */ // Label 4719: @170886
60019 /* 170886 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4720*/ GIMT_Encode4(170912), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 10576 //
60020 /* 170893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60021 /* 170897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60022 /* 170901 */ // (fpextend:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src)
60023 /* 170901 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZ256rr),
60024 /* 170906 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60025 /* 170910 */ GIR_RootConstrainSelectedInstOperands,
60026 /* 170911 */ // GIR_Coverage, 10576,
60027 /* 170911 */ GIR_Done,
60028 /* 170912 */ // Label 4720: @170912
60029 /* 170912 */ GIM_Reject,
60030 /* 170913 */ // Label 4718: @170913
60031 /* 170913 */ GIM_Reject,
60032 /* 170914 */ // Label 4692: @170914
60033 /* 170914 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(21), /*)*//*default:*//*Label 4723*/ GIMT_Encode4(170999),
60034 /* 170925 */ /*GILLT_v8s16*//*Label 4721*/ GIMT_Encode4(170945), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
60035 /* 170941 */ /*GILLT_v8s32*//*Label 4722*/ GIMT_Encode4(170972),
60036 /* 170945 */ // Label 4721: @170945
60037 /* 170945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4724*/ GIMT_Encode4(170971), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10665 //
60038 /* 170952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60039 /* 170956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60040 /* 170960 */ // (fpextend:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PDZrr:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src)
60041 /* 170960 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PDZrr),
60042 /* 170965 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60043 /* 170969 */ GIR_RootConstrainSelectedInstOperands,
60044 /* 170970 */ // GIR_Coverage, 10665,
60045 /* 170970 */ GIR_Done,
60046 /* 170971 */ // Label 4724: @170971
60047 /* 170971 */ GIM_Reject,
60048 /* 170972 */ // Label 4722: @170972
60049 /* 170972 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4725*/ GIMT_Encode4(170998), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10551 //
60050 /* 170979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60051 /* 170983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60052 /* 170987 */ // (fpextend:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src)
60053 /* 170987 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZrr),
60054 /* 170992 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60055 /* 170996 */ GIR_RootConstrainSelectedInstOperands,
60056 /* 170997 */ // GIR_Coverage, 10551,
60057 /* 170997 */ GIR_Done,
60058 /* 170998 */ // Label 4725: @170998
60059 /* 170998 */ GIM_Reject,
60060 /* 170999 */ // Label 4723: @170999
60061 /* 170999 */ GIM_Reject,
60062 /* 171000 */ // Label 4693: @171000
60063 /* 171000 */ GIM_Reject,
60064 /* 171001 */ // Label 51: @171001
60065 /* 171001 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4729*/ GIMT_Encode4(171397),
60066 /* 171012 */ /*GILLT_s16*//*Label 4726*/ GIMT_Encode4(171024),
60067 /* 171016 */ /*GILLT_s32*//*Label 4727*/ GIMT_Encode4(171128),
60068 /* 171020 */ /*GILLT_s64*//*Label 4728*/ GIMT_Encode4(171367),
60069 /* 171024 */ // Label 4726: @171024
60070 /* 171024 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4732*/ GIMT_Encode4(171127),
60071 /* 171035 */ /*GILLT_s32*//*Label 4730*/ GIMT_Encode4(171043),
60072 /* 171039 */ /*GILLT_s64*//*Label 4731*/ GIMT_Encode4(171085),
60073 /* 171043 */ // Label 4730: @171043
60074 /* 171043 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4733*/ GIMT_Encode4(171084), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21362 //
60075 /* 171050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60076 /* 171054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60077 /* 171058 */ // (fpround:{ *:[f16] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR32X:{ *:[f32] }:$src)
60078 /* 171058 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60079 /* 171061 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60080 /* 171065 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60081 /* 171070 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60082 /* 171072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SHZrr),
60083 /* 171075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60084 /* 171077 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60085 /* 171080 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60086 /* 171082 */ GIR_RootConstrainSelectedInstOperands,
60087 /* 171083 */ // GIR_Coverage, 21362,
60088 /* 171083 */ GIR_EraseRootFromParent_Done,
60089 /* 171084 */ // Label 4733: @171084
60090 /* 171084 */ GIM_Reject,
60091 /* 171085 */ // Label 4731: @171085
60092 /* 171085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4734*/ GIMT_Encode4(171126), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21364 //
60093 /* 171092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60094 /* 171096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60095 /* 171100 */ // (fpround:{ *:[f16] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR64X:{ *:[f64] }:$src)
60096 /* 171100 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60097 /* 171103 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60098 /* 171107 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60099 /* 171112 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60100 /* 171114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SHZrr),
60101 /* 171117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60102 /* 171119 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60103 /* 171122 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60104 /* 171124 */ GIR_RootConstrainSelectedInstOperands,
60105 /* 171125 */ // GIR_Coverage, 21364,
60106 /* 171125 */ GIR_EraseRootFromParent_Done,
60107 /* 171126 */ // Label 4734: @171126
60108 /* 171126 */ GIM_Reject,
60109 /* 171127 */ // Label 4732: @171127
60110 /* 171127 */ GIM_Reject,
60111 /* 171128 */ // Label 4727: @171128
60112 /* 171128 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(4), GIMT_Encode2(6), /*)*//*default:*//*Label 4737*/ GIMT_Encode4(171366),
60113 /* 171139 */ /*GILLT_s64*//*Label 4735*/ GIMT_Encode4(171147),
60114 /* 171143 */ /*GILLT_s80*//*Label 4736*/ GIMT_Encode4(171339),
60115 /* 171147 */ // Label 4735: @171147
60116 /* 171147 */ GIM_Try, /*On fail goto*//*Label 4738*/ GIMT_Encode4(171230),
60117 /* 171152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60118 /* 171156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4739*/ GIMT_Encode4(171207), GIMT_Encode2(GIFBS_OptForSize_UseSSE2), // Rule ID 1863 //
60119 /* 171163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60120 /* 171167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60121 /* 171171 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60122 /* 171174 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60123 /* 171178 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60124 /* 171182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60125 /* 171184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60126 /* 171191 */ // (fpround:{ *:[f32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
60127 /* 171191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrm),
60128 /* 171194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60129 /* 171196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60130 /* 171200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60131 /* 171205 */ GIR_RootConstrainSelectedInstOperands,
60132 /* 171206 */ // GIR_Coverage, 1863,
60133 /* 171206 */ GIR_EraseRootFromParent_Done,
60134 /* 171207 */ // Label 4739: @171207
60135 /* 171207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4740*/ GIMT_Encode4(171229), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1861 //
60136 /* 171214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60137 /* 171218 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (CVTSD2SSrr:{ *:[f32] } FR64:{ *:[f64] }:$src)
60138 /* 171218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrr),
60139 /* 171223 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60140 /* 171227 */ GIR_RootConstrainSelectedInstOperands,
60141 /* 171228 */ // GIR_Coverage, 1861,
60142 /* 171228 */ GIR_Done,
60143 /* 171229 */ // Label 4740: @171229
60144 /* 171229 */ GIM_Reject,
60145 /* 171230 */ // Label 4738: @171230
60146 /* 171230 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4741*/ GIMT_Encode4(171256), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17790 //
60147 /* 171237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60148 /* 171241 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60149 /* 171245 */ // (fpround:{ *:[f32] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP64:{ *:[f64] }:$src, RFP32:{ *:[i32] })
60150 /* 171245 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
60151 /* 171250 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
60152 /* 171255 */ // GIR_Coverage, 17790,
60153 /* 171255 */ GIR_Done,
60154 /* 171256 */ // Label 4741: @171256
60155 /* 171256 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4742*/ GIMT_Encode4(171297), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18091 //
60156 /* 171263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60157 /* 171267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60158 /* 171271 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64:{ *:[f64] }:$src)
60159 /* 171271 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
60160 /* 171274 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60161 /* 171278 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60162 /* 171283 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60163 /* 171285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSrr),
60164 /* 171288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60165 /* 171290 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60166 /* 171293 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60167 /* 171295 */ GIR_RootConstrainSelectedInstOperands,
60168 /* 171296 */ // GIR_Coverage, 18091,
60169 /* 171296 */ GIR_EraseRootFromParent_Done,
60170 /* 171297 */ // Label 4742: @171297
60171 /* 171297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4743*/ GIMT_Encode4(171338), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21352 //
60172 /* 171304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60173 /* 171308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60174 /* 171312 */ // (fpround:{ *:[f32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64X:{ *:[f64] }:$src)
60175 /* 171312 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
60176 /* 171315 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60177 /* 171319 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60178 /* 171324 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60179 /* 171326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSZrr),
60180 /* 171329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60181 /* 171331 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60182 /* 171334 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60183 /* 171336 */ GIR_RootConstrainSelectedInstOperands,
60184 /* 171337 */ // GIR_Coverage, 21352,
60185 /* 171337 */ GIR_EraseRootFromParent_Done,
60186 /* 171338 */ // Label 4743: @171338
60187 /* 171338 */ GIM_Reject,
60188 /* 171339 */ // Label 4736: @171339
60189 /* 171339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4744*/ GIMT_Encode4(171365), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17792 //
60190 /* 171346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60191 /* 171350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60192 /* 171354 */ // (fpround:{ *:[f32] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP80:{ *:[f80] }:$src, RFP32:{ *:[i32] })
60193 /* 171354 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
60194 /* 171359 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
60195 /* 171364 */ // GIR_Coverage, 17792,
60196 /* 171364 */ GIR_Done,
60197 /* 171365 */ // Label 4744: @171365
60198 /* 171365 */ GIM_Reject,
60199 /* 171366 */ // Label 4737: @171366
60200 /* 171366 */ GIM_Reject,
60201 /* 171367 */ // Label 4728: @171367
60202 /* 171367 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4745*/ GIMT_Encode4(171396), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 17794 //
60203 /* 171374 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
60204 /* 171377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60205 /* 171381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60206 /* 171385 */ // (fpround:{ *:[f64] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP80:{ *:[f80] }:$src, RFP64:{ *:[i32] })
60207 /* 171385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
60208 /* 171390 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
60209 /* 171395 */ // GIR_Coverage, 17794,
60210 /* 171395 */ GIR_Done,
60211 /* 171396 */ // Label 4745: @171396
60212 /* 171396 */ GIM_Reject,
60213 /* 171397 */ // Label 4729: @171397
60214 /* 171397 */ GIM_Reject,
60215 /* 171398 */ // Label 52: @171398
60216 /* 171398 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(20), /*)*//*default:*//*Label 4749*/ GIMT_Encode4(172708),
60217 /* 171409 */ /*GILLT_s32*//*Label 4746*/ GIMT_Encode4(171477),
60218 /* 171413 */ /*GILLT_s64*//*Label 4747*/ GIMT_Encode4(172049), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
60219 /* 171473 */ /*GILLT_v4s32*//*Label 4748*/ GIMT_Encode4(172621),
60220 /* 171477 */ // Label 4746: @171477
60221 /* 171477 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4753*/ GIMT_Encode4(172048),
60222 /* 171488 */ /*GILLT_s16*//*Label 4750*/ GIMT_Encode4(171500),
60223 /* 171492 */ /*GILLT_s32*//*Label 4751*/ GIMT_Encode4(171584),
60224 /* 171496 */ /*GILLT_s64*//*Label 4752*/ GIMT_Encode4(171816),
60225 /* 171500 */ // Label 4750: @171500
60226 /* 171500 */ GIM_Try, /*On fail goto*//*Label 4754*/ GIMT_Encode4(171583),
60227 /* 171505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60228 /* 171509 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4755*/ GIMT_Encode4(171560), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15174 //
60229 /* 171516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60230 /* 171520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60231 /* 171524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60232 /* 171527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60233 /* 171531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60234 /* 171535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60235 /* 171537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60236 /* 171544 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60237 /* 171544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
60238 /* 171547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60239 /* 171549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60240 /* 171553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60241 /* 171558 */ GIR_RootConstrainSelectedInstOperands,
60242 /* 171559 */ // GIR_Coverage, 15174,
60243 /* 171559 */ GIR_EraseRootFromParent_Done,
60244 /* 171560 */ // Label 4755: @171560
60245 /* 171560 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4756*/ GIMT_Encode4(171582), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15172 //
60246 /* 171567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60247 /* 171571 */ // (fp_to_sint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
60248 /* 171571 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
60249 /* 171576 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60250 /* 171580 */ GIR_RootConstrainSelectedInstOperands,
60251 /* 171581 */ // GIR_Coverage, 15172,
60252 /* 171581 */ GIR_Done,
60253 /* 171582 */ // Label 4756: @171582
60254 /* 171582 */ GIM_Reject,
60255 /* 171583 */ // Label 4754: @171583
60256 /* 171583 */ GIM_Reject,
60257 /* 171584 */ // Label 4751: @171584
60258 /* 171584 */ GIM_Try, /*On fail goto*//*Label 4757*/ GIMT_Encode4(171815),
60259 /* 171589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60260 /* 171593 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4758*/ GIMT_Encode4(171644), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1723 //
60261 /* 171600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60262 /* 171604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60263 /* 171608 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60264 /* 171611 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60265 /* 171615 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60266 /* 171619 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60267 /* 171621 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60268 /* 171628 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60269 /* 171628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrm),
60270 /* 171631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60271 /* 171633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60272 /* 171637 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60273 /* 171642 */ GIR_RootConstrainSelectedInstOperands,
60274 /* 171643 */ // GIR_Coverage, 1723,
60275 /* 171643 */ GIR_EraseRootFromParent_Done,
60276 /* 171644 */ // Label 4758: @171644
60277 /* 171644 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4759*/ GIMT_Encode4(171695), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1747 //
60278 /* 171651 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60279 /* 171655 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60280 /* 171659 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60281 /* 171662 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60282 /* 171666 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60283 /* 171670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60284 /* 171672 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60285 /* 171679 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60286 /* 171679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrm),
60287 /* 171682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60288 /* 171684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60289 /* 171688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60290 /* 171693 */ GIR_RootConstrainSelectedInstOperands,
60291 /* 171694 */ // GIR_Coverage, 1747,
60292 /* 171694 */ GIR_EraseRootFromParent_Done,
60293 /* 171695 */ // Label 4759: @171695
60294 /* 171695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4760*/ GIMT_Encode4(171746), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10364 //
60295 /* 171702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60296 /* 171706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60297 /* 171710 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60298 /* 171713 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60299 /* 171717 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60300 /* 171721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60301 /* 171723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60302 /* 171730 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60303 /* 171730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrm),
60304 /* 171733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60305 /* 171735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60306 /* 171739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60307 /* 171744 */ GIR_RootConstrainSelectedInstOperands,
60308 /* 171745 */ // GIR_Coverage, 10364,
60309 /* 171745 */ GIR_EraseRootFromParent_Done,
60310 /* 171746 */ // Label 4760: @171746
60311 /* 171746 */ GIM_Try, /*On fail goto*//*Label 4761*/ GIMT_Encode4(171792),
60312 /* 171751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60313 /* 171755 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4762*/ GIMT_Encode4(171773), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1721 //
60314 /* 171762 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
60315 /* 171762 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrr),
60316 /* 171767 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60317 /* 171771 */ GIR_RootConstrainSelectedInstOperands,
60318 /* 171772 */ // GIR_Coverage, 1721,
60319 /* 171772 */ GIR_Done,
60320 /* 171773 */ // Label 4762: @171773
60321 /* 171773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4763*/ GIMT_Encode4(171791), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1745 //
60322 /* 171780 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
60323 /* 171780 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrr),
60324 /* 171785 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60325 /* 171789 */ GIR_RootConstrainSelectedInstOperands,
60326 /* 171790 */ // GIR_Coverage, 1745,
60327 /* 171790 */ GIR_Done,
60328 /* 171791 */ // Label 4763: @171791
60329 /* 171791 */ GIM_Reject,
60330 /* 171792 */ // Label 4761: @171792
60331 /* 171792 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4764*/ GIMT_Encode4(171814), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10362 //
60332 /* 171799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60333 /* 171803 */ // (fp_to_sint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
60334 /* 171803 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrr),
60335 /* 171808 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60336 /* 171812 */ GIR_RootConstrainSelectedInstOperands,
60337 /* 171813 */ // GIR_Coverage, 10362,
60338 /* 171813 */ GIR_Done,
60339 /* 171814 */ // Label 4764: @171814
60340 /* 171814 */ GIM_Reject,
60341 /* 171815 */ // Label 4757: @171815
60342 /* 171815 */ GIM_Reject,
60343 /* 171816 */ // Label 4752: @171816
60344 /* 171816 */ GIM_Try, /*On fail goto*//*Label 4765*/ GIMT_Encode4(172047),
60345 /* 171821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60346 /* 171825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4766*/ GIMT_Encode4(171876), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1731 //
60347 /* 171832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60348 /* 171836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60349 /* 171840 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60350 /* 171843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60351 /* 171847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60352 /* 171851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60353 /* 171853 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60354 /* 171860 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60355 /* 171860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrm),
60356 /* 171863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60357 /* 171865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60358 /* 171869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60359 /* 171874 */ GIR_RootConstrainSelectedInstOperands,
60360 /* 171875 */ // GIR_Coverage, 1731,
60361 /* 171875 */ GIR_EraseRootFromParent_Done,
60362 /* 171876 */ // Label 4766: @171876
60363 /* 171876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4767*/ GIMT_Encode4(171927), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1755 //
60364 /* 171883 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60365 /* 171887 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60366 /* 171891 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60367 /* 171894 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60368 /* 171898 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60369 /* 171902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60370 /* 171904 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60371 /* 171911 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60372 /* 171911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrm),
60373 /* 171914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60374 /* 171916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60375 /* 171920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60376 /* 171925 */ GIR_RootConstrainSelectedInstOperands,
60377 /* 171926 */ // GIR_Coverage, 1755,
60378 /* 171926 */ GIR_EraseRootFromParent_Done,
60379 /* 171927 */ // Label 4767: @171927
60380 /* 171927 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4768*/ GIMT_Encode4(171978), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10382 //
60381 /* 171934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60382 /* 171938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60383 /* 171942 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60384 /* 171945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60385 /* 171949 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60386 /* 171953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60387 /* 171955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60388 /* 171962 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60389 /* 171962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrm),
60390 /* 171965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60391 /* 171967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60392 /* 171971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60393 /* 171976 */ GIR_RootConstrainSelectedInstOperands,
60394 /* 171977 */ // GIR_Coverage, 10382,
60395 /* 171977 */ GIR_EraseRootFromParent_Done,
60396 /* 171978 */ // Label 4768: @171978
60397 /* 171978 */ GIM_Try, /*On fail goto*//*Label 4769*/ GIMT_Encode4(172024),
60398 /* 171983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60399 /* 171987 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4770*/ GIMT_Encode4(172005), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1729 //
60400 /* 171994 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
60401 /* 171994 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrr),
60402 /* 171999 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60403 /* 172003 */ GIR_RootConstrainSelectedInstOperands,
60404 /* 172004 */ // GIR_Coverage, 1729,
60405 /* 172004 */ GIR_Done,
60406 /* 172005 */ // Label 4770: @172005
60407 /* 172005 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4771*/ GIMT_Encode4(172023), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1753 //
60408 /* 172012 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
60409 /* 172012 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrr),
60410 /* 172017 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60411 /* 172021 */ GIR_RootConstrainSelectedInstOperands,
60412 /* 172022 */ // GIR_Coverage, 1753,
60413 /* 172022 */ GIR_Done,
60414 /* 172023 */ // Label 4771: @172023
60415 /* 172023 */ GIM_Reject,
60416 /* 172024 */ // Label 4769: @172024
60417 /* 172024 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4772*/ GIMT_Encode4(172046), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10380 //
60418 /* 172031 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60419 /* 172035 */ // (fp_to_sint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
60420 /* 172035 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrr),
60421 /* 172040 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60422 /* 172044 */ GIR_RootConstrainSelectedInstOperands,
60423 /* 172045 */ // GIR_Coverage, 10380,
60424 /* 172045 */ GIR_Done,
60425 /* 172046 */ // Label 4772: @172046
60426 /* 172046 */ GIM_Reject,
60427 /* 172047 */ // Label 4765: @172047
60428 /* 172047 */ GIM_Reject,
60429 /* 172048 */ // Label 4753: @172048
60430 /* 172048 */ GIM_Reject,
60431 /* 172049 */ // Label 4747: @172049
60432 /* 172049 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4776*/ GIMT_Encode4(172620),
60433 /* 172060 */ /*GILLT_s16*//*Label 4773*/ GIMT_Encode4(172072),
60434 /* 172064 */ /*GILLT_s32*//*Label 4774*/ GIMT_Encode4(172156),
60435 /* 172068 */ /*GILLT_s64*//*Label 4775*/ GIMT_Encode4(172388),
60436 /* 172072 */ // Label 4773: @172072
60437 /* 172072 */ GIM_Try, /*On fail goto*//*Label 4777*/ GIMT_Encode4(172155),
60438 /* 172077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60439 /* 172081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4778*/ GIMT_Encode4(172132), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15183 //
60440 /* 172088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60441 /* 172092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60442 /* 172096 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60443 /* 172099 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60444 /* 172103 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60445 /* 172107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60446 /* 172109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60447 /* 172116 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60448 /* 172116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
60449 /* 172119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60450 /* 172121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60451 /* 172125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60452 /* 172130 */ GIR_RootConstrainSelectedInstOperands,
60453 /* 172131 */ // GIR_Coverage, 15183,
60454 /* 172131 */ GIR_EraseRootFromParent_Done,
60455 /* 172132 */ // Label 4778: @172132
60456 /* 172132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4779*/ GIMT_Encode4(172154), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15181 //
60457 /* 172139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60458 /* 172143 */ // (fp_to_sint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
60459 /* 172143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
60460 /* 172148 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60461 /* 172152 */ GIR_RootConstrainSelectedInstOperands,
60462 /* 172153 */ // GIR_Coverage, 15181,
60463 /* 172153 */ GIR_Done,
60464 /* 172154 */ // Label 4779: @172154
60465 /* 172154 */ GIM_Reject,
60466 /* 172155 */ // Label 4777: @172155
60467 /* 172155 */ GIM_Reject,
60468 /* 172156 */ // Label 4774: @172156
60469 /* 172156 */ GIM_Try, /*On fail goto*//*Label 4780*/ GIMT_Encode4(172387),
60470 /* 172161 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60471 /* 172165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4781*/ GIMT_Encode4(172216), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1727 //
60472 /* 172172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60473 /* 172176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60474 /* 172180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60475 /* 172183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60476 /* 172187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60477 /* 172191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60478 /* 172193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60479 /* 172200 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60480 /* 172200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rm),
60481 /* 172203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60482 /* 172205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60483 /* 172209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60484 /* 172214 */ GIR_RootConstrainSelectedInstOperands,
60485 /* 172215 */ // GIR_Coverage, 1727,
60486 /* 172215 */ GIR_EraseRootFromParent_Done,
60487 /* 172216 */ // Label 4781: @172216
60488 /* 172216 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4782*/ GIMT_Encode4(172267), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1751 //
60489 /* 172223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60490 /* 172227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60491 /* 172231 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60492 /* 172234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60493 /* 172238 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60494 /* 172242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60495 /* 172244 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60496 /* 172251 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60497 /* 172251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rm),
60498 /* 172254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60499 /* 172256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60500 /* 172260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60501 /* 172265 */ GIR_RootConstrainSelectedInstOperands,
60502 /* 172266 */ // GIR_Coverage, 1751,
60503 /* 172266 */ GIR_EraseRootFromParent_Done,
60504 /* 172267 */ // Label 4782: @172267
60505 /* 172267 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4783*/ GIMT_Encode4(172318), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10373 //
60506 /* 172274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60507 /* 172278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60508 /* 172282 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60509 /* 172285 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60510 /* 172289 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60511 /* 172293 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60512 /* 172295 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60513 /* 172302 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60514 /* 172302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrm),
60515 /* 172305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60516 /* 172307 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60517 /* 172311 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60518 /* 172316 */ GIR_RootConstrainSelectedInstOperands,
60519 /* 172317 */ // GIR_Coverage, 10373,
60520 /* 172317 */ GIR_EraseRootFromParent_Done,
60521 /* 172318 */ // Label 4783: @172318
60522 /* 172318 */ GIM_Try, /*On fail goto*//*Label 4784*/ GIMT_Encode4(172364),
60523 /* 172323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60524 /* 172327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4785*/ GIMT_Encode4(172345), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1725 //
60525 /* 172334 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
60526 /* 172334 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rr),
60527 /* 172339 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60528 /* 172343 */ GIR_RootConstrainSelectedInstOperands,
60529 /* 172344 */ // GIR_Coverage, 1725,
60530 /* 172344 */ GIR_Done,
60531 /* 172345 */ // Label 4785: @172345
60532 /* 172345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4786*/ GIMT_Encode4(172363), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1749 //
60533 /* 172352 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
60534 /* 172352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rr),
60535 /* 172357 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60536 /* 172361 */ GIR_RootConstrainSelectedInstOperands,
60537 /* 172362 */ // GIR_Coverage, 1749,
60538 /* 172362 */ GIR_Done,
60539 /* 172363 */ // Label 4786: @172363
60540 /* 172363 */ GIM_Reject,
60541 /* 172364 */ // Label 4784: @172364
60542 /* 172364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4787*/ GIMT_Encode4(172386), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10371 //
60543 /* 172371 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60544 /* 172375 */ // (fp_to_sint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
60545 /* 172375 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrr),
60546 /* 172380 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60547 /* 172384 */ GIR_RootConstrainSelectedInstOperands,
60548 /* 172385 */ // GIR_Coverage, 10371,
60549 /* 172385 */ GIR_Done,
60550 /* 172386 */ // Label 4787: @172386
60551 /* 172386 */ GIM_Reject,
60552 /* 172387 */ // Label 4780: @172387
60553 /* 172387 */ GIM_Reject,
60554 /* 172388 */ // Label 4775: @172388
60555 /* 172388 */ GIM_Try, /*On fail goto*//*Label 4788*/ GIMT_Encode4(172619),
60556 /* 172393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60557 /* 172397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4789*/ GIMT_Encode4(172448), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1735 //
60558 /* 172404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60559 /* 172408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60560 /* 172412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60561 /* 172415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60562 /* 172419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60563 /* 172423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60564 /* 172425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60565 /* 172432 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60566 /* 172432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rm),
60567 /* 172435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60568 /* 172437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60569 /* 172441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60570 /* 172446 */ GIR_RootConstrainSelectedInstOperands,
60571 /* 172447 */ // GIR_Coverage, 1735,
60572 /* 172447 */ GIR_EraseRootFromParent_Done,
60573 /* 172448 */ // Label 4789: @172448
60574 /* 172448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4790*/ GIMT_Encode4(172499), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1759 //
60575 /* 172455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60576 /* 172459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60577 /* 172463 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60578 /* 172466 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60579 /* 172470 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60580 /* 172474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60581 /* 172476 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60582 /* 172483 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60583 /* 172483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rm),
60584 /* 172486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60585 /* 172488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60586 /* 172492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60587 /* 172497 */ GIR_RootConstrainSelectedInstOperands,
60588 /* 172498 */ // GIR_Coverage, 1759,
60589 /* 172498 */ GIR_EraseRootFromParent_Done,
60590 /* 172499 */ // Label 4790: @172499
60591 /* 172499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4791*/ GIMT_Encode4(172550), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10391 //
60592 /* 172506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60593 /* 172510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60594 /* 172514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60595 /* 172517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60596 /* 172521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60597 /* 172525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60598 /* 172527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60599 /* 172534 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60600 /* 172534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrm),
60601 /* 172537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60602 /* 172539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60603 /* 172543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60604 /* 172548 */ GIR_RootConstrainSelectedInstOperands,
60605 /* 172549 */ // GIR_Coverage, 10391,
60606 /* 172549 */ GIR_EraseRootFromParent_Done,
60607 /* 172550 */ // Label 4791: @172550
60608 /* 172550 */ GIM_Try, /*On fail goto*//*Label 4792*/ GIMT_Encode4(172596),
60609 /* 172555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60610 /* 172559 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4793*/ GIMT_Encode4(172577), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1733 //
60611 /* 172566 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
60612 /* 172566 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rr),
60613 /* 172571 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60614 /* 172575 */ GIR_RootConstrainSelectedInstOperands,
60615 /* 172576 */ // GIR_Coverage, 1733,
60616 /* 172576 */ GIR_Done,
60617 /* 172577 */ // Label 4793: @172577
60618 /* 172577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4794*/ GIMT_Encode4(172595), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1757 //
60619 /* 172584 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
60620 /* 172584 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rr),
60621 /* 172589 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60622 /* 172593 */ GIR_RootConstrainSelectedInstOperands,
60623 /* 172594 */ // GIR_Coverage, 1757,
60624 /* 172594 */ GIR_Done,
60625 /* 172595 */ // Label 4794: @172595
60626 /* 172595 */ GIM_Reject,
60627 /* 172596 */ // Label 4792: @172596
60628 /* 172596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4795*/ GIMT_Encode4(172618), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10389 //
60629 /* 172603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60630 /* 172607 */ // (fp_to_sint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
60631 /* 172607 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrr),
60632 /* 172612 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60633 /* 172616 */ GIR_RootConstrainSelectedInstOperands,
60634 /* 172617 */ // GIR_Coverage, 10389,
60635 /* 172617 */ GIR_Done,
60636 /* 172618 */ // Label 4795: @172618
60637 /* 172618 */ GIM_Reject,
60638 /* 172619 */ // Label 4788: @172619
60639 /* 172619 */ GIM_Reject,
60640 /* 172620 */ // Label 4776: @172620
60641 /* 172620 */ GIM_Reject,
60642 /* 172621 */ // Label 4748: @172621
60643 /* 172621 */ GIM_Try, /*On fail goto*//*Label 4796*/ GIMT_Encode4(172707),
60644 /* 172626 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
60645 /* 172629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60646 /* 172633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4797*/ GIMT_Encode4(172684), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18147 //
60647 /* 172640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60648 /* 172644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60649 /* 172648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60650 /* 172651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60651 /* 172655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60652 /* 172659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60653 /* 172661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60654 /* 172668 */ // (fp_to_sint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
60655 /* 172668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrm),
60656 /* 172671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60657 /* 172673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60658 /* 172677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60659 /* 172682 */ GIR_RootConstrainSelectedInstOperands,
60660 /* 172683 */ // GIR_Coverage, 18147,
60661 /* 172683 */ GIR_EraseRootFromParent_Done,
60662 /* 172684 */ // Label 4797: @172684
60663 /* 172684 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4798*/ GIMT_Encode4(172706), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18145 //
60664 /* 172691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60665 /* 172695 */ // (fp_to_sint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
60666 /* 172695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrr),
60667 /* 172700 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60668 /* 172704 */ GIR_RootConstrainSelectedInstOperands,
60669 /* 172705 */ // GIR_Coverage, 18145,
60670 /* 172705 */ GIR_Done,
60671 /* 172706 */ // Label 4798: @172706
60672 /* 172706 */ GIM_Reject,
60673 /* 172707 */ // Label 4796: @172707
60674 /* 172707 */ GIM_Reject,
60675 /* 172708 */ // Label 4749: @172708
60676 /* 172708 */ GIM_Reject,
60677 /* 172709 */ // Label 53: @172709
60678 /* 172709 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4801*/ GIMT_Encode4(173280),
60679 /* 172720 */ /*GILLT_s32*//*Label 4799*/ GIMT_Encode4(172728),
60680 /* 172724 */ /*GILLT_s64*//*Label 4800*/ GIMT_Encode4(173004),
60681 /* 172728 */ // Label 4799: @172728
60682 /* 172728 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4805*/ GIMT_Encode4(173003),
60683 /* 172739 */ /*GILLT_s16*//*Label 4802*/ GIMT_Encode4(172751),
60684 /* 172743 */ /*GILLT_s32*//*Label 4803*/ GIMT_Encode4(172835),
60685 /* 172747 */ /*GILLT_s64*//*Label 4804*/ GIMT_Encode4(172919),
60686 /* 172751 */ // Label 4802: @172751
60687 /* 172751 */ GIM_Try, /*On fail goto*//*Label 4806*/ GIMT_Encode4(172834),
60688 /* 172756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60689 /* 172760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4807*/ GIMT_Encode4(172811), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15192 //
60690 /* 172767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60691 /* 172771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60692 /* 172775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60693 /* 172778 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60694 /* 172782 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60695 /* 172786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60696 /* 172788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60697 /* 172795 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60698 /* 172795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrm),
60699 /* 172798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60700 /* 172800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60701 /* 172804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60702 /* 172809 */ GIR_RootConstrainSelectedInstOperands,
60703 /* 172810 */ // GIR_Coverage, 15192,
60704 /* 172810 */ GIR_EraseRootFromParent_Done,
60705 /* 172811 */ // Label 4807: @172811
60706 /* 172811 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4808*/ GIMT_Encode4(172833), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15190 //
60707 /* 172818 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60708 /* 172822 */ // (fp_to_uint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
60709 /* 172822 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrr),
60710 /* 172827 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60711 /* 172831 */ GIR_RootConstrainSelectedInstOperands,
60712 /* 172832 */ // GIR_Coverage, 15190,
60713 /* 172832 */ GIR_Done,
60714 /* 172833 */ // Label 4808: @172833
60715 /* 172833 */ GIM_Reject,
60716 /* 172834 */ // Label 4806: @172834
60717 /* 172834 */ GIM_Reject,
60718 /* 172835 */ // Label 4803: @172835
60719 /* 172835 */ GIM_Try, /*On fail goto*//*Label 4809*/ GIMT_Encode4(172918),
60720 /* 172840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60721 /* 172844 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4810*/ GIMT_Encode4(172895), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10400 //
60722 /* 172851 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60723 /* 172855 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60724 /* 172859 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60725 /* 172862 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60726 /* 172866 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60727 /* 172870 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60728 /* 172872 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60729 /* 172879 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60730 /* 172879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrm),
60731 /* 172882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60732 /* 172884 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60733 /* 172888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60734 /* 172893 */ GIR_RootConstrainSelectedInstOperands,
60735 /* 172894 */ // GIR_Coverage, 10400,
60736 /* 172894 */ GIR_EraseRootFromParent_Done,
60737 /* 172895 */ // Label 4810: @172895
60738 /* 172895 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4811*/ GIMT_Encode4(172917), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10398 //
60739 /* 172902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60740 /* 172906 */ // (fp_to_uint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
60741 /* 172906 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrr),
60742 /* 172911 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60743 /* 172915 */ GIR_RootConstrainSelectedInstOperands,
60744 /* 172916 */ // GIR_Coverage, 10398,
60745 /* 172916 */ GIR_Done,
60746 /* 172917 */ // Label 4811: @172917
60747 /* 172917 */ GIM_Reject,
60748 /* 172918 */ // Label 4809: @172918
60749 /* 172918 */ GIM_Reject,
60750 /* 172919 */ // Label 4804: @172919
60751 /* 172919 */ GIM_Try, /*On fail goto*//*Label 4812*/ GIMT_Encode4(173002),
60752 /* 172924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60753 /* 172928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4813*/ GIMT_Encode4(172979), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10418 //
60754 /* 172935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60755 /* 172939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60756 /* 172943 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60757 /* 172946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60758 /* 172950 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60759 /* 172954 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60760 /* 172956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60761 /* 172963 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60762 /* 172963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrm),
60763 /* 172966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60764 /* 172968 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60765 /* 172972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60766 /* 172977 */ GIR_RootConstrainSelectedInstOperands,
60767 /* 172978 */ // GIR_Coverage, 10418,
60768 /* 172978 */ GIR_EraseRootFromParent_Done,
60769 /* 172979 */ // Label 4813: @172979
60770 /* 172979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4814*/ GIMT_Encode4(173001), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10416 //
60771 /* 172986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60772 /* 172990 */ // (fp_to_uint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
60773 /* 172990 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrr),
60774 /* 172995 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60775 /* 172999 */ GIR_RootConstrainSelectedInstOperands,
60776 /* 173000 */ // GIR_Coverage, 10416,
60777 /* 173000 */ GIR_Done,
60778 /* 173001 */ // Label 4814: @173001
60779 /* 173001 */ GIM_Reject,
60780 /* 173002 */ // Label 4812: @173002
60781 /* 173002 */ GIM_Reject,
60782 /* 173003 */ // Label 4805: @173003
60783 /* 173003 */ GIM_Reject,
60784 /* 173004 */ // Label 4800: @173004
60785 /* 173004 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4818*/ GIMT_Encode4(173279),
60786 /* 173015 */ /*GILLT_s16*//*Label 4815*/ GIMT_Encode4(173027),
60787 /* 173019 */ /*GILLT_s32*//*Label 4816*/ GIMT_Encode4(173111),
60788 /* 173023 */ /*GILLT_s64*//*Label 4817*/ GIMT_Encode4(173195),
60789 /* 173027 */ // Label 4815: @173027
60790 /* 173027 */ GIM_Try, /*On fail goto*//*Label 4819*/ GIMT_Encode4(173110),
60791 /* 173032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60792 /* 173036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4820*/ GIMT_Encode4(173087), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15201 //
60793 /* 173043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60794 /* 173047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60795 /* 173051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60796 /* 173054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60797 /* 173058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60798 /* 173062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60799 /* 173064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60800 /* 173071 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60801 /* 173071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrm),
60802 /* 173074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60803 /* 173076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60804 /* 173080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60805 /* 173085 */ GIR_RootConstrainSelectedInstOperands,
60806 /* 173086 */ // GIR_Coverage, 15201,
60807 /* 173086 */ GIR_EraseRootFromParent_Done,
60808 /* 173087 */ // Label 4820: @173087
60809 /* 173087 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4821*/ GIMT_Encode4(173109), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15199 //
60810 /* 173094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60811 /* 173098 */ // (fp_to_uint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
60812 /* 173098 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrr),
60813 /* 173103 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60814 /* 173107 */ GIR_RootConstrainSelectedInstOperands,
60815 /* 173108 */ // GIR_Coverage, 15199,
60816 /* 173108 */ GIR_Done,
60817 /* 173109 */ // Label 4821: @173109
60818 /* 173109 */ GIM_Reject,
60819 /* 173110 */ // Label 4819: @173110
60820 /* 173110 */ GIM_Reject,
60821 /* 173111 */ // Label 4816: @173111
60822 /* 173111 */ GIM_Try, /*On fail goto*//*Label 4822*/ GIMT_Encode4(173194),
60823 /* 173116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60824 /* 173120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4823*/ GIMT_Encode4(173171), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10409 //
60825 /* 173127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60826 /* 173131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60827 /* 173135 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60828 /* 173138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60829 /* 173142 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60830 /* 173146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60831 /* 173148 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60832 /* 173155 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60833 /* 173155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrm),
60834 /* 173158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60835 /* 173160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60836 /* 173164 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60837 /* 173169 */ GIR_RootConstrainSelectedInstOperands,
60838 /* 173170 */ // GIR_Coverage, 10409,
60839 /* 173170 */ GIR_EraseRootFromParent_Done,
60840 /* 173171 */ // Label 4823: @173171
60841 /* 173171 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4824*/ GIMT_Encode4(173193), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10407 //
60842 /* 173178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60843 /* 173182 */ // (fp_to_uint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
60844 /* 173182 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrr),
60845 /* 173187 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60846 /* 173191 */ GIR_RootConstrainSelectedInstOperands,
60847 /* 173192 */ // GIR_Coverage, 10407,
60848 /* 173192 */ GIR_Done,
60849 /* 173193 */ // Label 4824: @173193
60850 /* 173193 */ GIM_Reject,
60851 /* 173194 */ // Label 4822: @173194
60852 /* 173194 */ GIM_Reject,
60853 /* 173195 */ // Label 4817: @173195
60854 /* 173195 */ GIM_Try, /*On fail goto*//*Label 4825*/ GIMT_Encode4(173278),
60855 /* 173200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60856 /* 173204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4826*/ GIMT_Encode4(173255), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10427 //
60857 /* 173211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60858 /* 173215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60859 /* 173219 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60860 /* 173222 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60861 /* 173226 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60862 /* 173230 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60863 /* 173232 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60864 /* 173239 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60865 /* 173239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrm),
60866 /* 173242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60867 /* 173244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60868 /* 173248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60869 /* 173253 */ GIR_RootConstrainSelectedInstOperands,
60870 /* 173254 */ // GIR_Coverage, 10427,
60871 /* 173254 */ GIR_EraseRootFromParent_Done,
60872 /* 173255 */ // Label 4826: @173255
60873 /* 173255 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4827*/ GIMT_Encode4(173277), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10425 //
60874 /* 173262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60875 /* 173266 */ // (fp_to_uint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
60876 /* 173266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrr),
60877 /* 173271 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60878 /* 173275 */ GIR_RootConstrainSelectedInstOperands,
60879 /* 173276 */ // GIR_Coverage, 10425,
60880 /* 173276 */ GIR_Done,
60881 /* 173277 */ // Label 4827: @173277
60882 /* 173277 */ GIM_Reject,
60883 /* 173278 */ // Label 4825: @173278
60884 /* 173278 */ GIM_Reject,
60885 /* 173279 */ // Label 4818: @173279
60886 /* 173279 */ GIM_Reject,
60887 /* 173280 */ // Label 4801: @173280
60888 /* 173280 */ GIM_Reject,
60889 /* 173281 */ // Label 54: @173281
60890 /* 173281 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4840*/ GIMT_Encode4(176718),
60891 /* 173292 */ /*GILLT_s16*//*Label 4828*/ GIMT_Encode4(173384),
60892 /* 173296 */ /*GILLT_s32*//*Label 4829*/ GIMT_Encode4(173636),
60893 /* 173300 */ /*GILLT_s64*//*Label 4830*/ GIMT_Encode4(174274), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
60894 /* 173348 */ /*GILLT_v8s16*//*Label 4831*/ GIMT_Encode4(174908),
60895 /* 173352 */ /*GILLT_v16s16*//*Label 4832*/ GIMT_Encode4(175208),
60896 /* 173356 */ /*GILLT_v32s16*//*Label 4833*/ GIMT_Encode4(175408),
60897 /* 173360 */ /*GILLT_v4s32*//*Label 4834*/ GIMT_Encode4(175495),
60898 /* 173364 */ /*GILLT_v8s32*//*Label 4835*/ GIMT_Encode4(175798),
60899 /* 173368 */ /*GILLT_v16s32*//*Label 4836*/ GIMT_Encode4(176077),
60900 /* 173372 */ /*GILLT_v2s64*//*Label 4837*/ GIMT_Encode4(176164),
60901 /* 173376 */ /*GILLT_v4s64*//*Label 4838*/ GIMT_Encode4(176251),
60902 /* 173380 */ /*GILLT_v8s64*//*Label 4839*/ GIMT_Encode4(176522),
60903 /* 173384 */ // Label 4828: @173384
60904 /* 173384 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4843*/ GIMT_Encode4(173635),
60905 /* 173395 */ /*GILLT_s32*//*Label 4841*/ GIMT_Encode4(173403),
60906 /* 173399 */ /*GILLT_s64*//*Label 4842*/ GIMT_Encode4(173519),
60907 /* 173403 */ // Label 4841: @173403
60908 /* 173403 */ GIM_Try, /*On fail goto*//*Label 4844*/ GIMT_Encode4(173518),
60909 /* 173408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60910 /* 173412 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4845*/ GIMT_Encode4(173480), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22379 //
60911 /* 173419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60912 /* 173423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60913 /* 173427 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60914 /* 173430 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60915 /* 173434 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
60916 /* 173438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60917 /* 173440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60918 /* 173447 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
60919 /* 173447 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60920 /* 173450 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60921 /* 173454 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60922 /* 173459 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60923 /* 173461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrm),
60924 /* 173464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60925 /* 173466 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60926 /* 173469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60927 /* 173473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60928 /* 173478 */ GIR_RootConstrainSelectedInstOperands,
60929 /* 173479 */ // GIR_Coverage, 22379,
60930 /* 173479 */ GIR_EraseRootFromParent_Done,
60931 /* 173480 */ // Label 4845: @173480
60932 /* 173480 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4846*/ GIMT_Encode4(173517), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22383 //
60933 /* 173487 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60934 /* 173491 */ // (sint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
60935 /* 173491 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60936 /* 173494 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60937 /* 173498 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60938 /* 173503 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60939 /* 173505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrr),
60940 /* 173508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60941 /* 173510 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60942 /* 173513 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60943 /* 173515 */ GIR_RootConstrainSelectedInstOperands,
60944 /* 173516 */ // GIR_Coverage, 22383,
60945 /* 173516 */ GIR_EraseRootFromParent_Done,
60946 /* 173517 */ // Label 4846: @173517
60947 /* 173517 */ GIM_Reject,
60948 /* 173518 */ // Label 4844: @173518
60949 /* 173518 */ GIM_Reject,
60950 /* 173519 */ // Label 4842: @173519
60951 /* 173519 */ GIM_Try, /*On fail goto*//*Label 4847*/ GIMT_Encode4(173634),
60952 /* 173524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60953 /* 173528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4848*/ GIMT_Encode4(173596), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22381 //
60954 /* 173535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60955 /* 173539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60956 /* 173543 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60957 /* 173546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60958 /* 173550 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60959 /* 173554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60960 /* 173556 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60961 /* 173563 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
60962 /* 173563 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60963 /* 173566 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60964 /* 173570 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60965 /* 173575 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60966 /* 173577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrm),
60967 /* 173580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60968 /* 173582 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60969 /* 173585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60970 /* 173589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60971 /* 173594 */ GIR_RootConstrainSelectedInstOperands,
60972 /* 173595 */ // GIR_Coverage, 22381,
60973 /* 173595 */ GIR_EraseRootFromParent_Done,
60974 /* 173596 */ // Label 4848: @173596
60975 /* 173596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4849*/ GIMT_Encode4(173633), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22385 //
60976 /* 173603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60977 /* 173607 */ // (sint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
60978 /* 173607 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60979 /* 173610 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60980 /* 173614 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60981 /* 173619 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60982 /* 173621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrr),
60983 /* 173624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60984 /* 173626 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60985 /* 173629 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60986 /* 173631 */ GIR_RootConstrainSelectedInstOperands,
60987 /* 173632 */ // GIR_Coverage, 22385,
60988 /* 173632 */ GIR_EraseRootFromParent_Done,
60989 /* 173633 */ // Label 4849: @173633
60990 /* 173633 */ GIM_Reject,
60991 /* 173634 */ // Label 4847: @173634
60992 /* 173634 */ GIM_Reject,
60993 /* 173635 */ // Label 4843: @173635
60994 /* 173635 */ GIM_Reject,
60995 /* 173636 */ // Label 4829: @173636
60996 /* 173636 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4852*/ GIMT_Encode4(174273),
60997 /* 173647 */ /*GILLT_s32*//*Label 4850*/ GIMT_Encode4(173655),
60998 /* 173651 */ /*GILLT_s64*//*Label 4851*/ GIMT_Encode4(173965),
60999 /* 173655 */ // Label 4850: @173655
61000 /* 173655 */ GIM_Try, /*On fail goto*//*Label 4853*/ GIMT_Encode4(173784),
61001 /* 173660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61002 /* 173664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4854*/ GIMT_Encode4(173715), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1771 //
61003 /* 173671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61004 /* 173675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61005 /* 173679 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61006 /* 173682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61007 /* 173686 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61008 /* 173690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61009 /* 173692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61010 /* 173699 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
61011 /* 173699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrm),
61012 /* 173702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61013 /* 173704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61014 /* 173708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61015 /* 173713 */ GIR_RootConstrainSelectedInstOperands,
61016 /* 173714 */ // GIR_Coverage, 1771,
61017 /* 173714 */ GIR_EraseRootFromParent_Done,
61018 /* 173715 */ // Label 4854: @173715
61019 /* 173715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4855*/ GIMT_Encode4(173783), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18043 //
61020 /* 173722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61021 /* 173726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61022 /* 173730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61023 /* 173733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61024 /* 173737 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61025 /* 173741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61026 /* 173743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61027 /* 173750 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61028 /* 173750 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61029 /* 173753 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61030 /* 173757 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61031 /* 173762 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61032 /* 173764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrm),
61033 /* 173767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61034 /* 173769 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61035 /* 173772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61036 /* 173776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61037 /* 173781 */ GIR_RootConstrainSelectedInstOperands,
61038 /* 173782 */ // GIR_Coverage, 18043,
61039 /* 173782 */ GIR_EraseRootFromParent_Done,
61040 /* 173783 */ // Label 4855: @173783
61041 /* 173783 */ GIM_Reject,
61042 /* 173784 */ // Label 4853: @173784
61043 /* 173784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4856*/ GIMT_Encode4(173856), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21264 //
61044 /* 173791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61045 /* 173795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61046 /* 173799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61047 /* 173803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61048 /* 173806 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61049 /* 173810 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61050 /* 173814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61051 /* 173816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61052 /* 173823 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61053 /* 173823 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61054 /* 173826 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61055 /* 173830 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61056 /* 173835 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61057 /* 173837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrm),
61058 /* 173840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61059 /* 173842 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61060 /* 173845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61061 /* 173849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61062 /* 173854 */ GIR_RootConstrainSelectedInstOperands,
61063 /* 173855 */ // GIR_Coverage, 21264,
61064 /* 173855 */ GIR_EraseRootFromParent_Done,
61065 /* 173856 */ // Label 4856: @173856
61066 /* 173856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4857*/ GIMT_Encode4(173882), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1769 //
61067 /* 173863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61068 /* 173867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61069 /* 173871 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (CVTSI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
61070 /* 173871 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrr),
61071 /* 173876 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61072 /* 173880 */ GIR_RootConstrainSelectedInstOperands,
61073 /* 173881 */ // GIR_Coverage, 1769,
61074 /* 173881 */ GIR_Done,
61075 /* 173882 */ // Label 4857: @173882
61076 /* 173882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4858*/ GIMT_Encode4(173923), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18051 //
61077 /* 173889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61078 /* 173893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61079 /* 173897 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
61080 /* 173897 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61081 /* 173900 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61082 /* 173904 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61083 /* 173909 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61084 /* 173911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrr),
61085 /* 173914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61086 /* 173916 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61087 /* 173919 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61088 /* 173921 */ GIR_RootConstrainSelectedInstOperands,
61089 /* 173922 */ // GIR_Coverage, 18051,
61090 /* 173922 */ GIR_EraseRootFromParent_Done,
61091 /* 173923 */ // Label 4858: @173923
61092 /* 173923 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4859*/ GIMT_Encode4(173964), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21272 //
61093 /* 173930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61094 /* 173934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61095 /* 173938 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
61096 /* 173938 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61097 /* 173941 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61098 /* 173945 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61099 /* 173950 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61100 /* 173952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrr),
61101 /* 173955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61102 /* 173957 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61103 /* 173960 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61104 /* 173962 */ GIR_RootConstrainSelectedInstOperands,
61105 /* 173963 */ // GIR_Coverage, 21272,
61106 /* 173963 */ GIR_EraseRootFromParent_Done,
61107 /* 173964 */ // Label 4859: @173964
61108 /* 173964 */ GIM_Reject,
61109 /* 173965 */ // Label 4851: @173965
61110 /* 173965 */ GIM_Try, /*On fail goto*//*Label 4860*/ GIMT_Encode4(174094),
61111 /* 173970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61112 /* 173974 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4861*/ GIMT_Encode4(174025), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1775 //
61113 /* 173981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61114 /* 173985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61115 /* 173989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61116 /* 173992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61117 /* 173996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61118 /* 174000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61119 /* 174002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61120 /* 174009 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
61121 /* 174009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrm),
61122 /* 174012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61123 /* 174014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61124 /* 174018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61125 /* 174023 */ GIR_RootConstrainSelectedInstOperands,
61126 /* 174024 */ // GIR_Coverage, 1775,
61127 /* 174024 */ GIR_EraseRootFromParent_Done,
61128 /* 174025 */ // Label 4861: @174025
61129 /* 174025 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4862*/ GIMT_Encode4(174093), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18045 //
61130 /* 174032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61131 /* 174036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61132 /* 174040 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61133 /* 174043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61134 /* 174047 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61135 /* 174051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61136 /* 174053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61137 /* 174060 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61138 /* 174060 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61139 /* 174063 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61140 /* 174067 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61141 /* 174072 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61142 /* 174074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrm),
61143 /* 174077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61144 /* 174079 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61145 /* 174082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61146 /* 174086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61147 /* 174091 */ GIR_RootConstrainSelectedInstOperands,
61148 /* 174092 */ // GIR_Coverage, 18045,
61149 /* 174092 */ GIR_EraseRootFromParent_Done,
61150 /* 174093 */ // Label 4862: @174093
61151 /* 174093 */ GIM_Reject,
61152 /* 174094 */ // Label 4860: @174094
61153 /* 174094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4863*/ GIMT_Encode4(174166), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21266 //
61154 /* 174101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61155 /* 174105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61156 /* 174109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61157 /* 174113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61158 /* 174116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61159 /* 174120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61160 /* 174124 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61161 /* 174126 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61162 /* 174133 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61163 /* 174133 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61164 /* 174136 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61165 /* 174140 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61166 /* 174145 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61167 /* 174147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrm),
61168 /* 174150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61169 /* 174152 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61170 /* 174155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61171 /* 174159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61172 /* 174164 */ GIR_RootConstrainSelectedInstOperands,
61173 /* 174165 */ // GIR_Coverage, 21266,
61174 /* 174165 */ GIR_EraseRootFromParent_Done,
61175 /* 174166 */ // Label 4863: @174166
61176 /* 174166 */ GIM_Try, /*On fail goto*//*Label 4864*/ GIMT_Encode4(174231),
61177 /* 174171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61178 /* 174175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61179 /* 174179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4865*/ GIMT_Encode4(174197), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1773 //
61180 /* 174186 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (CVTSI642SSrr:{ *:[f32] } GR64:{ *:[i64] }:$src)
61181 /* 174186 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrr),
61182 /* 174191 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61183 /* 174195 */ GIR_RootConstrainSelectedInstOperands,
61184 /* 174196 */ // GIR_Coverage, 1773,
61185 /* 174196 */ GIR_Done,
61186 /* 174197 */ // Label 4865: @174197
61187 /* 174197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4866*/ GIMT_Encode4(174230), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18053 //
61188 /* 174204 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
61189 /* 174204 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61190 /* 174207 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61191 /* 174211 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61192 /* 174216 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61193 /* 174218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrr),
61194 /* 174221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61195 /* 174223 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61196 /* 174226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61197 /* 174228 */ GIR_RootConstrainSelectedInstOperands,
61198 /* 174229 */ // GIR_Coverage, 18053,
61199 /* 174229 */ GIR_EraseRootFromParent_Done,
61200 /* 174230 */ // Label 4866: @174230
61201 /* 174230 */ GIM_Reject,
61202 /* 174231 */ // Label 4864: @174231
61203 /* 174231 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4867*/ GIMT_Encode4(174272), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21274 //
61204 /* 174238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61205 /* 174242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61206 /* 174246 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
61207 /* 174246 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61208 /* 174249 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61209 /* 174253 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61210 /* 174258 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61211 /* 174260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrr),
61212 /* 174263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61213 /* 174265 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61214 /* 174268 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61215 /* 174270 */ GIR_RootConstrainSelectedInstOperands,
61216 /* 174271 */ // GIR_Coverage, 21274,
61217 /* 174271 */ GIR_EraseRootFromParent_Done,
61218 /* 174272 */ // Label 4867: @174272
61219 /* 174272 */ GIM_Reject,
61220 /* 174273 */ // Label 4852: @174273
61221 /* 174273 */ GIM_Reject,
61222 /* 174274 */ // Label 4830: @174274
61223 /* 174274 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4870*/ GIMT_Encode4(174907),
61224 /* 174285 */ /*GILLT_s32*//*Label 4868*/ GIMT_Encode4(174293),
61225 /* 174289 */ /*GILLT_s64*//*Label 4869*/ GIMT_Encode4(174599),
61226 /* 174293 */ // Label 4868: @174293
61227 /* 174293 */ GIM_Try, /*On fail goto*//*Label 4871*/ GIMT_Encode4(174422),
61228 /* 174298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61229 /* 174302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4872*/ GIMT_Encode4(174353), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1779 //
61230 /* 174309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61231 /* 174313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61232 /* 174317 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61233 /* 174320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61234 /* 174324 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61235 /* 174328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61236 /* 174330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61237 /* 174337 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
61238 /* 174337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrm),
61239 /* 174340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61240 /* 174342 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61241 /* 174346 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61242 /* 174351 */ GIR_RootConstrainSelectedInstOperands,
61243 /* 174352 */ // GIR_Coverage, 1779,
61244 /* 174352 */ GIR_EraseRootFromParent_Done,
61245 /* 174353 */ // Label 4872: @174353
61246 /* 174353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4873*/ GIMT_Encode4(174421), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18047 //
61247 /* 174360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61248 /* 174364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61249 /* 174368 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61250 /* 174371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61251 /* 174375 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61252 /* 174379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61253 /* 174381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61254 /* 174388 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61255 /* 174388 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61256 /* 174391 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61257 /* 174395 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61258 /* 174400 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61259 /* 174402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrm),
61260 /* 174405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61261 /* 174407 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61262 /* 174410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61263 /* 174414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61264 /* 174419 */ GIR_RootConstrainSelectedInstOperands,
61265 /* 174420 */ // GIR_Coverage, 18047,
61266 /* 174420 */ GIR_EraseRootFromParent_Done,
61267 /* 174421 */ // Label 4873: @174421
61268 /* 174421 */ GIM_Reject,
61269 /* 174422 */ // Label 4871: @174422
61270 /* 174422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4874*/ GIMT_Encode4(174494), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21268 //
61271 /* 174429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61272 /* 174433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61273 /* 174437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61274 /* 174441 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61275 /* 174444 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61276 /* 174448 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61277 /* 174452 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61278 /* 174454 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61279 /* 174461 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61280 /* 174461 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61281 /* 174464 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61282 /* 174468 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61283 /* 174473 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61284 /* 174475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrm),
61285 /* 174478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61286 /* 174480 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61287 /* 174483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61288 /* 174487 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61289 /* 174492 */ GIR_RootConstrainSelectedInstOperands,
61290 /* 174493 */ // GIR_Coverage, 21268,
61291 /* 174493 */ GIR_EraseRootFromParent_Done,
61292 /* 174494 */ // Label 4874: @174494
61293 /* 174494 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4875*/ GIMT_Encode4(174516), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1777 //
61294 /* 174501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61295 /* 174505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61296 /* 174509 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (CVTSI2SDrr:{ *:[f64] } GR32:{ *:[i32] }:$src)
61297 /* 174509 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrr),
61298 /* 174514 */ GIR_RootConstrainSelectedInstOperands,
61299 /* 174515 */ // GIR_Coverage, 1777,
61300 /* 174515 */ GIR_Done,
61301 /* 174516 */ // Label 4875: @174516
61302 /* 174516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4876*/ GIMT_Encode4(174557), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18055 //
61303 /* 174523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61304 /* 174527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61305 /* 174531 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
61306 /* 174531 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61307 /* 174534 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61308 /* 174538 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61309 /* 174543 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61310 /* 174545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrr),
61311 /* 174548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61312 /* 174550 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61313 /* 174553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61314 /* 174555 */ GIR_RootConstrainSelectedInstOperands,
61315 /* 174556 */ // GIR_Coverage, 18055,
61316 /* 174556 */ GIR_EraseRootFromParent_Done,
61317 /* 174557 */ // Label 4876: @174557
61318 /* 174557 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4877*/ GIMT_Encode4(174598), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21276 //
61319 /* 174564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61320 /* 174568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61321 /* 174572 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
61322 /* 174572 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61323 /* 174575 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61324 /* 174579 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61325 /* 174584 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61326 /* 174586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrr),
61327 /* 174589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61328 /* 174591 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61329 /* 174594 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61330 /* 174596 */ GIR_RootConstrainSelectedInstOperands,
61331 /* 174597 */ // GIR_Coverage, 21276,
61332 /* 174597 */ GIR_EraseRootFromParent_Done,
61333 /* 174598 */ // Label 4877: @174598
61334 /* 174598 */ GIM_Reject,
61335 /* 174599 */ // Label 4869: @174599
61336 /* 174599 */ GIM_Try, /*On fail goto*//*Label 4878*/ GIMT_Encode4(174728),
61337 /* 174604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61338 /* 174608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4879*/ GIMT_Encode4(174659), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1783 //
61339 /* 174615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61340 /* 174619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61341 /* 174623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61342 /* 174626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61343 /* 174630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61344 /* 174634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61345 /* 174636 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61346 /* 174643 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
61347 /* 174643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrm),
61348 /* 174646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61349 /* 174648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61350 /* 174652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61351 /* 174657 */ GIR_RootConstrainSelectedInstOperands,
61352 /* 174658 */ // GIR_Coverage, 1783,
61353 /* 174658 */ GIR_EraseRootFromParent_Done,
61354 /* 174659 */ // Label 4879: @174659
61355 /* 174659 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4880*/ GIMT_Encode4(174727), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18049 //
61356 /* 174666 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61357 /* 174670 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61358 /* 174674 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61359 /* 174677 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61360 /* 174681 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61361 /* 174685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61362 /* 174687 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61363 /* 174694 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61364 /* 174694 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61365 /* 174697 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61366 /* 174701 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61367 /* 174706 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61368 /* 174708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrm),
61369 /* 174711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61370 /* 174713 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61371 /* 174716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61372 /* 174720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61373 /* 174725 */ GIR_RootConstrainSelectedInstOperands,
61374 /* 174726 */ // GIR_Coverage, 18049,
61375 /* 174726 */ GIR_EraseRootFromParent_Done,
61376 /* 174727 */ // Label 4880: @174727
61377 /* 174727 */ GIM_Reject,
61378 /* 174728 */ // Label 4878: @174728
61379 /* 174728 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4881*/ GIMT_Encode4(174800), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21270 //
61380 /* 174735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61381 /* 174739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61382 /* 174743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61383 /* 174747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61384 /* 174750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61385 /* 174754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61386 /* 174758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61387 /* 174760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61388 /* 174767 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61389 /* 174767 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61390 /* 174770 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61391 /* 174774 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61392 /* 174779 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61393 /* 174781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrm),
61394 /* 174784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61395 /* 174786 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61396 /* 174789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61397 /* 174793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61398 /* 174798 */ GIR_RootConstrainSelectedInstOperands,
61399 /* 174799 */ // GIR_Coverage, 21270,
61400 /* 174799 */ GIR_EraseRootFromParent_Done,
61401 /* 174800 */ // Label 4881: @174800
61402 /* 174800 */ GIM_Try, /*On fail goto*//*Label 4882*/ GIMT_Encode4(174865),
61403 /* 174805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61404 /* 174809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61405 /* 174813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4883*/ GIMT_Encode4(174831), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1781 //
61406 /* 174820 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (CVTSI642SDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
61407 /* 174820 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrr),
61408 /* 174825 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61409 /* 174829 */ GIR_RootConstrainSelectedInstOperands,
61410 /* 174830 */ // GIR_Coverage, 1781,
61411 /* 174830 */ GIR_Done,
61412 /* 174831 */ // Label 4883: @174831
61413 /* 174831 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4884*/ GIMT_Encode4(174864), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18057 //
61414 /* 174838 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
61415 /* 174838 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61416 /* 174841 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61417 /* 174845 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61418 /* 174850 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61419 /* 174852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrr),
61420 /* 174855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61421 /* 174857 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61422 /* 174860 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61423 /* 174862 */ GIR_RootConstrainSelectedInstOperands,
61424 /* 174863 */ // GIR_Coverage, 18057,
61425 /* 174863 */ GIR_EraseRootFromParent_Done,
61426 /* 174864 */ // Label 4884: @174864
61427 /* 174864 */ GIM_Reject,
61428 /* 174865 */ // Label 4882: @174865
61429 /* 174865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4885*/ GIMT_Encode4(174906), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21278 //
61430 /* 174872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61431 /* 174876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61432 /* 174880 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
61433 /* 174880 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61434 /* 174883 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61435 /* 174887 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61436 /* 174892 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61437 /* 174894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrr),
61438 /* 174897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61439 /* 174899 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61440 /* 174902 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61441 /* 174904 */ GIR_RootConstrainSelectedInstOperands,
61442 /* 174905 */ // GIR_Coverage, 21278,
61443 /* 174905 */ GIR_EraseRootFromParent_Done,
61444 /* 174906 */ // Label 4885: @174906
61445 /* 174906 */ GIM_Reject,
61446 /* 174907 */ // Label 4870: @174907
61447 /* 174907 */ GIM_Reject,
61448 /* 174908 */ // Label 4831: @174908
61449 /* 174908 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 4889*/ GIMT_Encode4(175207),
61450 /* 174919 */ /*GILLT_v8s16*//*Label 4886*/ GIMT_Encode4(174955), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61451 /* 174935 */ /*GILLT_v8s32*//*Label 4887*/ GIMT_Encode4(175039), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61452 /* 174951 */ /*GILLT_v8s64*//*Label 4888*/ GIMT_Encode4(175123),
61453 /* 174955 */ // Label 4886: @174955
61454 /* 174955 */ GIM_Try, /*On fail goto*//*Label 4890*/ GIMT_Encode4(175038),
61455 /* 174960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61456 /* 174964 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4891*/ GIMT_Encode4(175015), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14826 //
61457 /* 174971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61458 /* 174975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61459 /* 174979 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61460 /* 174982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61461 /* 174986 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61462 /* 174990 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61463 /* 174992 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61464 /* 174999 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
61465 /* 174999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rm),
61466 /* 175002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61467 /* 175004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61468 /* 175008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61469 /* 175013 */ GIR_RootConstrainSelectedInstOperands,
61470 /* 175014 */ // GIR_Coverage, 14826,
61471 /* 175014 */ GIR_EraseRootFromParent_Done,
61472 /* 175015 */ // Label 4891: @175015
61473 /* 175015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4892*/ GIMT_Encode4(175037), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14822 //
61474 /* 175022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61475 /* 175026 */ // (sint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
61476 /* 175026 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rr),
61477 /* 175031 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61478 /* 175035 */ GIR_RootConstrainSelectedInstOperands,
61479 /* 175036 */ // GIR_Coverage, 14822,
61480 /* 175036 */ GIR_Done,
61481 /* 175037 */ // Label 4892: @175037
61482 /* 175037 */ GIM_Reject,
61483 /* 175038 */ // Label 4890: @175038
61484 /* 175038 */ GIM_Reject,
61485 /* 175039 */ // Label 4887: @175039
61486 /* 175039 */ GIM_Try, /*On fail goto*//*Label 4893*/ GIMT_Encode4(175122),
61487 /* 175044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61488 /* 175048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4894*/ GIMT_Encode4(175099), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 11458 //
61489 /* 175055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61490 /* 175059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61491 /* 175063 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61492 /* 175066 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61493 /* 175070 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61494 /* 175074 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61495 /* 175076 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61496 /* 175083 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
61497 /* 175083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rm),
61498 /* 175086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61499 /* 175088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61500 /* 175092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61501 /* 175097 */ GIR_RootConstrainSelectedInstOperands,
61502 /* 175098 */ // GIR_Coverage, 11458,
61503 /* 175098 */ GIR_EraseRootFromParent_Done,
61504 /* 175099 */ // Label 4894: @175099
61505 /* 175099 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4895*/ GIMT_Encode4(175121), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 11454 //
61506 /* 175106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61507 /* 175110 */ // (sint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
61508 /* 175110 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rr),
61509 /* 175115 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61510 /* 175119 */ GIR_RootConstrainSelectedInstOperands,
61511 /* 175120 */ // GIR_Coverage, 11454,
61512 /* 175120 */ GIR_Done,
61513 /* 175121 */ // Label 4895: @175121
61514 /* 175121 */ GIM_Reject,
61515 /* 175122 */ // Label 4893: @175122
61516 /* 175122 */ GIM_Reject,
61517 /* 175123 */ // Label 4888: @175123
61518 /* 175123 */ GIM_Try, /*On fail goto*//*Label 4896*/ GIMT_Encode4(175206),
61519 /* 175128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61520 /* 175132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4897*/ GIMT_Encode4(175183), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15126 //
61521 /* 175139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61522 /* 175143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61523 /* 175147 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61524 /* 175150 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61525 /* 175154 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61526 /* 175158 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61527 /* 175160 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61528 /* 175167 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
61529 /* 175167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrm),
61530 /* 175170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61531 /* 175172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61532 /* 175176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61533 /* 175181 */ GIR_RootConstrainSelectedInstOperands,
61534 /* 175182 */ // GIR_Coverage, 15126,
61535 /* 175182 */ GIR_EraseRootFromParent_Done,
61536 /* 175183 */ // Label 4897: @175183
61537 /* 175183 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4898*/ GIMT_Encode4(175205), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15122 //
61538 /* 175190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61539 /* 175194 */ // (sint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
61540 /* 175194 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrr),
61541 /* 175199 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61542 /* 175203 */ GIR_RootConstrainSelectedInstOperands,
61543 /* 175204 */ // GIR_Coverage, 15122,
61544 /* 175204 */ GIR_Done,
61545 /* 175205 */ // Label 4898: @175205
61546 /* 175205 */ GIM_Reject,
61547 /* 175206 */ // Label 4896: @175206
61548 /* 175206 */ GIM_Reject,
61549 /* 175207 */ // Label 4889: @175207
61550 /* 175207 */ GIM_Reject,
61551 /* 175208 */ // Label 4832: @175208
61552 /* 175208 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(22), /*)*//*default:*//*Label 4901*/ GIMT_Encode4(175407),
61553 /* 175219 */ /*GILLT_v16s16*//*Label 4899*/ GIMT_Encode4(175239), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61554 /* 175235 */ /*GILLT_v16s32*//*Label 4900*/ GIMT_Encode4(175323),
61555 /* 175239 */ // Label 4899: @175239
61556 /* 175239 */ GIM_Try, /*On fail goto*//*Label 4902*/ GIMT_Encode4(175322),
61557 /* 175244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61558 /* 175248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4903*/ GIMT_Encode4(175299), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14838 //
61559 /* 175255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61560 /* 175259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61561 /* 175263 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61562 /* 175266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61563 /* 175270 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61564 /* 175274 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61565 /* 175276 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61566 /* 175283 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
61567 /* 175283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rm),
61568 /* 175286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61569 /* 175288 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61570 /* 175292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61571 /* 175297 */ GIR_RootConstrainSelectedInstOperands,
61572 /* 175298 */ // GIR_Coverage, 14838,
61573 /* 175298 */ GIR_EraseRootFromParent_Done,
61574 /* 175299 */ // Label 4903: @175299
61575 /* 175299 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4904*/ GIMT_Encode4(175321), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14834 //
61576 /* 175306 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61577 /* 175310 */ // (sint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
61578 /* 175310 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rr),
61579 /* 175315 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61580 /* 175319 */ GIR_RootConstrainSelectedInstOperands,
61581 /* 175320 */ // GIR_Coverage, 14834,
61582 /* 175320 */ GIR_Done,
61583 /* 175321 */ // Label 4904: @175321
61584 /* 175321 */ GIM_Reject,
61585 /* 175322 */ // Label 4902: @175322
61586 /* 175322 */ GIM_Reject,
61587 /* 175323 */ // Label 4900: @175323
61588 /* 175323 */ GIM_Try, /*On fail goto*//*Label 4905*/ GIMT_Encode4(175406),
61589 /* 175328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61590 /* 175332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4906*/ GIMT_Encode4(175383), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11443 //
61591 /* 175339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61592 /* 175343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61593 /* 175347 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61594 /* 175350 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61595 /* 175354 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61596 /* 175358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61597 /* 175360 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61598 /* 175367 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
61599 /* 175367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrm),
61600 /* 175370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61601 /* 175372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61602 /* 175376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61603 /* 175381 */ GIR_RootConstrainSelectedInstOperands,
61604 /* 175382 */ // GIR_Coverage, 11443,
61605 /* 175382 */ GIR_EraseRootFromParent_Done,
61606 /* 175383 */ // Label 4906: @175383
61607 /* 175383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4907*/ GIMT_Encode4(175405), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11439 //
61608 /* 175390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61609 /* 175394 */ // (sint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
61610 /* 175394 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrr),
61611 /* 175399 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61612 /* 175403 */ GIR_RootConstrainSelectedInstOperands,
61613 /* 175404 */ // GIR_Coverage, 11439,
61614 /* 175404 */ GIR_Done,
61615 /* 175405 */ // Label 4907: @175405
61616 /* 175405 */ GIM_Reject,
61617 /* 175406 */ // Label 4905: @175406
61618 /* 175406 */ GIM_Reject,
61619 /* 175407 */ // Label 4901: @175407
61620 /* 175407 */ GIM_Reject,
61621 /* 175408 */ // Label 4833: @175408
61622 /* 175408 */ GIM_Try, /*On fail goto*//*Label 4908*/ GIMT_Encode4(175494),
61623 /* 175413 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
61624 /* 175416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61625 /* 175420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4909*/ GIMT_Encode4(175471), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 14811 //
61626 /* 175427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61627 /* 175431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61628 /* 175435 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61629 /* 175438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61630 /* 175442 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61631 /* 175446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61632 /* 175448 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61633 /* 175455 */ // (sint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
61634 /* 175455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrm),
61635 /* 175458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61636 /* 175460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61637 /* 175464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61638 /* 175469 */ GIR_RootConstrainSelectedInstOperands,
61639 /* 175470 */ // GIR_Coverage, 14811,
61640 /* 175470 */ GIR_EraseRootFromParent_Done,
61641 /* 175471 */ // Label 4909: @175471
61642 /* 175471 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4910*/ GIMT_Encode4(175493), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 14807 //
61643 /* 175478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61644 /* 175482 */ // (sint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
61645 /* 175482 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrr),
61646 /* 175487 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61647 /* 175491 */ GIR_RootConstrainSelectedInstOperands,
61648 /* 175492 */ // GIR_Coverage, 14807,
61649 /* 175492 */ GIR_Done,
61650 /* 175493 */ // Label 4910: @175493
61651 /* 175493 */ GIM_Reject,
61652 /* 175494 */ // Label 4908: @175494
61653 /* 175494 */ GIM_Reject,
61654 /* 175495 */ // Label 4834: @175495
61655 /* 175495 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 4913*/ GIMT_Encode4(175797),
61656 /* 175506 */ /*GILLT_v4s32*//*Label 4911*/ GIMT_Encode4(175526), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61657 /* 175522 */ /*GILLT_v4s64*//*Label 4912*/ GIMT_Encode4(175713),
61658 /* 175526 */ // Label 4911: @175526
61659 /* 175526 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4914*/ GIMT_Encode4(175581), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1851 //
61660 /* 175533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61661 /* 175537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61662 /* 175541 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61663 /* 175545 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61664 /* 175548 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61665 /* 175552 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61666 /* 175556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61667 /* 175558 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61668 /* 175565 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
61669 /* 175565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrm),
61670 /* 175568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61671 /* 175570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61672 /* 175574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61673 /* 175579 */ GIR_RootConstrainSelectedInstOperands,
61674 /* 175580 */ // GIR_Coverage, 1851,
61675 /* 175580 */ GIR_EraseRootFromParent_Done,
61676 /* 175581 */ // Label 4914: @175581
61677 /* 175581 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4915*/ GIMT_Encode4(175636), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10756 //
61678 /* 175588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61679 /* 175592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61680 /* 175596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61681 /* 175600 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61682 /* 175603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61683 /* 175607 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61684 /* 175611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61685 /* 175613 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61686 /* 175620 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
61687 /* 175620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rm),
61688 /* 175623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61689 /* 175625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61690 /* 175629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61691 /* 175634 */ GIR_RootConstrainSelectedInstOperands,
61692 /* 175635 */ // GIR_Coverage, 10756,
61693 /* 175635 */ GIR_EraseRootFromParent_Done,
61694 /* 175636 */ // Label 4915: @175636
61695 /* 175636 */ GIM_Try, /*On fail goto*//*Label 4916*/ GIMT_Encode4(175686),
61696 /* 175641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61697 /* 175645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61698 /* 175649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4917*/ GIMT_Encode4(175667), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1849 //
61699 /* 175656 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
61700 /* 175656 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrr),
61701 /* 175661 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61702 /* 175665 */ GIR_RootConstrainSelectedInstOperands,
61703 /* 175666 */ // GIR_Coverage, 1849,
61704 /* 175666 */ GIR_Done,
61705 /* 175667 */ // Label 4917: @175667
61706 /* 175667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4918*/ GIMT_Encode4(175685), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1857 //
61707 /* 175674 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (CVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
61708 /* 175674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTDQ2PSrr),
61709 /* 175679 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61710 /* 175683 */ GIR_RootConstrainSelectedInstOperands,
61711 /* 175684 */ // GIR_Coverage, 1857,
61712 /* 175684 */ GIR_Done,
61713 /* 175685 */ // Label 4918: @175685
61714 /* 175685 */ GIM_Reject,
61715 /* 175686 */ // Label 4916: @175686
61716 /* 175686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4919*/ GIMT_Encode4(175712), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10752 //
61717 /* 175693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61718 /* 175697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61719 /* 175701 */ // (sint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
61720 /* 175701 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rr),
61721 /* 175706 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61722 /* 175710 */ GIR_RootConstrainSelectedInstOperands,
61723 /* 175711 */ // GIR_Coverage, 10752,
61724 /* 175711 */ GIR_Done,
61725 /* 175712 */ // Label 4919: @175712
61726 /* 175712 */ GIM_Reject,
61727 /* 175713 */ // Label 4912: @175713
61728 /* 175713 */ GIM_Try, /*On fail goto*//*Label 4920*/ GIMT_Encode4(175796),
61729 /* 175718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61730 /* 175722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4921*/ GIMT_Encode4(175773), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11512 //
61731 /* 175729 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61732 /* 175733 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61733 /* 175737 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61734 /* 175740 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61735 /* 175744 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61736 /* 175748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61737 /* 175750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61738 /* 175757 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
61739 /* 175757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rm),
61740 /* 175760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61741 /* 175762 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61742 /* 175766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61743 /* 175771 */ GIR_RootConstrainSelectedInstOperands,
61744 /* 175772 */ // GIR_Coverage, 11512,
61745 /* 175772 */ GIR_EraseRootFromParent_Done,
61746 /* 175773 */ // Label 4921: @175773
61747 /* 175773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4922*/ GIMT_Encode4(175795), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11508 //
61748 /* 175780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61749 /* 175784 */ // (sint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
61750 /* 175784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rr),
61751 /* 175789 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61752 /* 175793 */ GIR_RootConstrainSelectedInstOperands,
61753 /* 175794 */ // GIR_Coverage, 11508,
61754 /* 175794 */ GIR_Done,
61755 /* 175795 */ // Label 4922: @175795
61756 /* 175795 */ GIM_Reject,
61757 /* 175796 */ // Label 4920: @175796
61758 /* 175796 */ GIM_Reject,
61759 /* 175797 */ // Label 4913: @175797
61760 /* 175797 */ GIM_Reject,
61761 /* 175798 */ // Label 4835: @175798
61762 /* 175798 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 4925*/ GIMT_Encode4(176076),
61763 /* 175809 */ /*GILLT_v8s32*//*Label 4923*/ GIMT_Encode4(175829), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61764 /* 175825 */ /*GILLT_v8s64*//*Label 4924*/ GIMT_Encode4(175992),
61765 /* 175829 */ // Label 4923: @175829
61766 /* 175829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4926*/ GIMT_Encode4(175884), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1855 //
61767 /* 175836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61768 /* 175840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61769 /* 175844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61770 /* 175848 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61771 /* 175851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61772 /* 175855 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61773 /* 175859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61774 /* 175861 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61775 /* 175868 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
61776 /* 175868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrm),
61777 /* 175871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61778 /* 175873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61779 /* 175877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61780 /* 175882 */ GIR_RootConstrainSelectedInstOperands,
61781 /* 175883 */ // GIR_Coverage, 1855,
61782 /* 175883 */ GIR_EraseRootFromParent_Done,
61783 /* 175884 */ // Label 4926: @175884
61784 /* 175884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4927*/ GIMT_Encode4(175939), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10768 //
61785 /* 175891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61786 /* 175895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61787 /* 175899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61788 /* 175903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61789 /* 175906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61790 /* 175910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61791 /* 175914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61792 /* 175916 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61793 /* 175923 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
61794 /* 175923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rm),
61795 /* 175926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61796 /* 175928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61797 /* 175932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61798 /* 175937 */ GIR_RootConstrainSelectedInstOperands,
61799 /* 175938 */ // GIR_Coverage, 10768,
61800 /* 175938 */ GIR_EraseRootFromParent_Done,
61801 /* 175939 */ // Label 4927: @175939
61802 /* 175939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4928*/ GIMT_Encode4(175965), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1853 //
61803 /* 175946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61804 /* 175950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61805 /* 175954 */ // (sint_to_fp:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src) => (VCVTDQ2PSYrr:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src)
61806 /* 175954 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrr),
61807 /* 175959 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61808 /* 175963 */ GIR_RootConstrainSelectedInstOperands,
61809 /* 175964 */ // GIR_Coverage, 1853,
61810 /* 175964 */ GIR_Done,
61811 /* 175965 */ // Label 4928: @175965
61812 /* 175965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4929*/ GIMT_Encode4(175991), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10764 //
61813 /* 175972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61814 /* 175976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61815 /* 175980 */ // (sint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
61816 /* 175980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rr),
61817 /* 175985 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61818 /* 175989 */ GIR_RootConstrainSelectedInstOperands,
61819 /* 175990 */ // GIR_Coverage, 10764,
61820 /* 175990 */ GIR_Done,
61821 /* 175991 */ // Label 4929: @175991
61822 /* 175991 */ GIM_Reject,
61823 /* 175992 */ // Label 4924: @175992
61824 /* 175992 */ GIM_Try, /*On fail goto*//*Label 4930*/ GIMT_Encode4(176075),
61825 /* 175997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61826 /* 176001 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4931*/ GIMT_Encode4(176052), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11497 //
61827 /* 176008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61828 /* 176012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61829 /* 176016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61830 /* 176019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61831 /* 176023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61832 /* 176027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61833 /* 176029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61834 /* 176036 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
61835 /* 176036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrm),
61836 /* 176039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61837 /* 176041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61838 /* 176045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61839 /* 176050 */ GIR_RootConstrainSelectedInstOperands,
61840 /* 176051 */ // GIR_Coverage, 11497,
61841 /* 176051 */ GIR_EraseRootFromParent_Done,
61842 /* 176052 */ // Label 4931: @176052
61843 /* 176052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4932*/ GIMT_Encode4(176074), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11493 //
61844 /* 176059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61845 /* 176063 */ // (sint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
61846 /* 176063 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrr),
61847 /* 176068 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61848 /* 176072 */ GIR_RootConstrainSelectedInstOperands,
61849 /* 176073 */ // GIR_Coverage, 11493,
61850 /* 176073 */ GIR_Done,
61851 /* 176074 */ // Label 4932: @176074
61852 /* 176074 */ GIM_Reject,
61853 /* 176075 */ // Label 4930: @176075
61854 /* 176075 */ GIM_Reject,
61855 /* 176076 */ // Label 4925: @176076
61856 /* 176076 */ GIM_Reject,
61857 /* 176077 */ // Label 4836: @176077
61858 /* 176077 */ GIM_Try, /*On fail goto*//*Label 4933*/ GIMT_Encode4(176163),
61859 /* 176082 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
61860 /* 176085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61861 /* 176089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4934*/ GIMT_Encode4(176140), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10741 //
61862 /* 176096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61863 /* 176100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61864 /* 176104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61865 /* 176107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61866 /* 176111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61867 /* 176115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61868 /* 176117 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61869 /* 176124 */ // (sint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
61870 /* 176124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrm),
61871 /* 176127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61872 /* 176129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61873 /* 176133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61874 /* 176138 */ GIR_RootConstrainSelectedInstOperands,
61875 /* 176139 */ // GIR_Coverage, 10741,
61876 /* 176139 */ GIR_EraseRootFromParent_Done,
61877 /* 176140 */ // Label 4934: @176140
61878 /* 176140 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4935*/ GIMT_Encode4(176162), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10737 //
61879 /* 176147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61880 /* 176151 */ // (sint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
61881 /* 176151 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrr),
61882 /* 176156 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61883 /* 176160 */ GIR_RootConstrainSelectedInstOperands,
61884 /* 176161 */ // GIR_Coverage, 10737,
61885 /* 176161 */ GIR_Done,
61886 /* 176162 */ // Label 4935: @176162
61887 /* 176162 */ GIM_Reject,
61888 /* 176163 */ // Label 4933: @176163
61889 /* 176163 */ GIM_Reject,
61890 /* 176164 */ // Label 4837: @176164
61891 /* 176164 */ GIM_Try, /*On fail goto*//*Label 4936*/ GIMT_Encode4(176250),
61892 /* 176169 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
61893 /* 176172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61894 /* 176176 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4937*/ GIMT_Encode4(176227), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11380 //
61895 /* 176183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61896 /* 176187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61897 /* 176191 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61898 /* 176194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61899 /* 176198 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61900 /* 176202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61901 /* 176204 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61902 /* 176211 */ // (sint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
61903 /* 176211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rm),
61904 /* 176214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61905 /* 176216 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61906 /* 176220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61907 /* 176225 */ GIR_RootConstrainSelectedInstOperands,
61908 /* 176226 */ // GIR_Coverage, 11380,
61909 /* 176226 */ GIR_EraseRootFromParent_Done,
61910 /* 176227 */ // Label 4937: @176227
61911 /* 176227 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4938*/ GIMT_Encode4(176249), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11376 //
61912 /* 176234 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61913 /* 176238 */ // (sint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
61914 /* 176238 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rr),
61915 /* 176243 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61916 /* 176247 */ GIR_RootConstrainSelectedInstOperands,
61917 /* 176248 */ // GIR_Coverage, 11376,
61918 /* 176248 */ GIR_Done,
61919 /* 176249 */ // Label 4938: @176249
61920 /* 176249 */ GIM_Reject,
61921 /* 176250 */ // Label 4936: @176250
61922 /* 176250 */ GIM_Reject,
61923 /* 176251 */ // Label 4838: @176251
61924 /* 176251 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 4941*/ GIMT_Encode4(176521),
61925 /* 176262 */ /*GILLT_v4s32*//*Label 4939*/ GIMT_Encode4(176282), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61926 /* 176278 */ /*GILLT_v4s64*//*Label 4940*/ GIMT_Encode4(176437),
61927 /* 176282 */ // Label 4939: @176282
61928 /* 176282 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4942*/ GIMT_Encode4(176337), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1926 //
61929 /* 176289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61930 /* 176293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61931 /* 176297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61932 /* 176301 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61933 /* 176304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61934 /* 176308 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61935 /* 176312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61936 /* 176314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61937 /* 176321 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
61938 /* 176321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrm),
61939 /* 176324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61940 /* 176326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61941 /* 176330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61942 /* 176335 */ GIR_RootConstrainSelectedInstOperands,
61943 /* 176336 */ // GIR_Coverage, 1926,
61944 /* 176336 */ GIR_EraseRootFromParent_Done,
61945 /* 176337 */ // Label 4942: @176337
61946 /* 176337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4943*/ GIMT_Encode4(176392), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10729 //
61947 /* 176344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61948 /* 176348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61949 /* 176352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61950 /* 176356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61951 /* 176359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61952 /* 176363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61953 /* 176367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61954 /* 176369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61955 /* 176376 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
61956 /* 176376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rm),
61957 /* 176379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61958 /* 176381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61959 /* 176385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61960 /* 176390 */ GIR_RootConstrainSelectedInstOperands,
61961 /* 176391 */ // GIR_Coverage, 10729,
61962 /* 176391 */ GIR_EraseRootFromParent_Done,
61963 /* 176392 */ // Label 4943: @176392
61964 /* 176392 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4944*/ GIMT_Encode4(176414), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1928 //
61965 /* 176399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61966 /* 176403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61967 /* 176407 */ // (sint_to_fp:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PDYrr:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src)
61968 /* 176407 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrr),
61969 /* 176412 */ GIR_RootConstrainSelectedInstOperands,
61970 /* 176413 */ // GIR_Coverage, 1928,
61971 /* 176413 */ GIR_Done,
61972 /* 176414 */ // Label 4944: @176414
61973 /* 176414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4945*/ GIMT_Encode4(176436), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10725 //
61974 /* 176421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61975 /* 176425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61976 /* 176429 */ // (sint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
61977 /* 176429 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rr),
61978 /* 176434 */ GIR_RootConstrainSelectedInstOperands,
61979 /* 176435 */ // GIR_Coverage, 10725,
61980 /* 176435 */ GIR_Done,
61981 /* 176436 */ // Label 4945: @176436
61982 /* 176436 */ GIM_Reject,
61983 /* 176437 */ // Label 4940: @176437
61984 /* 176437 */ GIM_Try, /*On fail goto*//*Label 4946*/ GIMT_Encode4(176520),
61985 /* 176442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61986 /* 176446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4947*/ GIMT_Encode4(176497), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11392 //
61987 /* 176453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61988 /* 176457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61989 /* 176461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61990 /* 176464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61991 /* 176468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61992 /* 176472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61993 /* 176474 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61994 /* 176481 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
61995 /* 176481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rm),
61996 /* 176484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61997 /* 176486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61998 /* 176490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61999 /* 176495 */ GIR_RootConstrainSelectedInstOperands,
62000 /* 176496 */ // GIR_Coverage, 11392,
62001 /* 176496 */ GIR_EraseRootFromParent_Done,
62002 /* 176497 */ // Label 4947: @176497
62003 /* 176497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4948*/ GIMT_Encode4(176519), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11388 //
62004 /* 176504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62005 /* 176508 */ // (sint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
62006 /* 176508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rr),
62007 /* 176513 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62008 /* 176517 */ GIR_RootConstrainSelectedInstOperands,
62009 /* 176518 */ // GIR_Coverage, 11388,
62010 /* 176518 */ GIR_Done,
62011 /* 176519 */ // Label 4948: @176519
62012 /* 176519 */ GIM_Reject,
62013 /* 176520 */ // Label 4946: @176520
62014 /* 176520 */ GIM_Reject,
62015 /* 176521 */ // Label 4941: @176521
62016 /* 176521 */ GIM_Reject,
62017 /* 176522 */ // Label 4839: @176522
62018 /* 176522 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 4951*/ GIMT_Encode4(176717),
62019 /* 176533 */ /*GILLT_v8s32*//*Label 4949*/ GIMT_Encode4(176553), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62020 /* 176549 */ /*GILLT_v8s64*//*Label 4950*/ GIMT_Encode4(176633),
62021 /* 176553 */ // Label 4949: @176553
62022 /* 176553 */ GIM_Try, /*On fail goto*//*Label 4952*/ GIMT_Encode4(176632),
62023 /* 176558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62024 /* 176562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4953*/ GIMT_Encode4(176613), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10705 //
62025 /* 176569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62026 /* 176573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62027 /* 176577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62028 /* 176580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62029 /* 176584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62030 /* 176588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62031 /* 176590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62032 /* 176597 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
62033 /* 176597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrm),
62034 /* 176600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62035 /* 176602 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62036 /* 176606 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62037 /* 176611 */ GIR_RootConstrainSelectedInstOperands,
62038 /* 176612 */ // GIR_Coverage, 10705,
62039 /* 176612 */ GIR_EraseRootFromParent_Done,
62040 /* 176613 */ // Label 4953: @176613
62041 /* 176613 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4954*/ GIMT_Encode4(176631), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10701 //
62042 /* 176620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62043 /* 176624 */ // (sint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
62044 /* 176624 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrr),
62045 /* 176629 */ GIR_RootConstrainSelectedInstOperands,
62046 /* 176630 */ // GIR_Coverage, 10701,
62047 /* 176630 */ GIR_Done,
62048 /* 176631 */ // Label 4954: @176631
62049 /* 176631 */ GIM_Reject,
62050 /* 176632 */ // Label 4952: @176632
62051 /* 176632 */ GIM_Reject,
62052 /* 176633 */ // Label 4950: @176633
62053 /* 176633 */ GIM_Try, /*On fail goto*//*Label 4955*/ GIMT_Encode4(176716),
62054 /* 176638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62055 /* 176642 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4956*/ GIMT_Encode4(176693), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11365 //
62056 /* 176649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62057 /* 176653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62058 /* 176657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62059 /* 176660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62060 /* 176664 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62061 /* 176668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62062 /* 176670 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62063 /* 176677 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
62064 /* 176677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrm),
62065 /* 176680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62066 /* 176682 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62067 /* 176686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62068 /* 176691 */ GIR_RootConstrainSelectedInstOperands,
62069 /* 176692 */ // GIR_Coverage, 11365,
62070 /* 176692 */ GIR_EraseRootFromParent_Done,
62071 /* 176693 */ // Label 4956: @176693
62072 /* 176693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4957*/ GIMT_Encode4(176715), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11361 //
62073 /* 176700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62074 /* 176704 */ // (sint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
62075 /* 176704 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrr),
62076 /* 176709 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62077 /* 176713 */ GIR_RootConstrainSelectedInstOperands,
62078 /* 176714 */ // GIR_Coverage, 11361,
62079 /* 176714 */ GIR_Done,
62080 /* 176715 */ // Label 4957: @176715
62081 /* 176715 */ GIM_Reject,
62082 /* 176716 */ // Label 4955: @176716
62083 /* 176716 */ GIM_Reject,
62084 /* 176717 */ // Label 4951: @176717
62085 /* 176717 */ GIM_Reject,
62086 /* 176718 */ // Label 4840: @176718
62087 /* 176718 */ GIM_Reject,
62088 /* 176719 */ // Label 55: @176719
62089 /* 176719 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4970*/ GIMT_Encode4(179131),
62090 /* 176730 */ /*GILLT_s16*//*Label 4958*/ GIMT_Encode4(176822),
62091 /* 176734 */ /*GILLT_s32*//*Label 4959*/ GIMT_Encode4(177074),
62092 /* 176738 */ /*GILLT_s64*//*Label 4960*/ GIMT_Encode4(177326), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62093 /* 176786 */ /*GILLT_v8s16*//*Label 4961*/ GIMT_Encode4(177578),
62094 /* 176790 */ /*GILLT_v16s16*//*Label 4962*/ GIMT_Encode4(177878),
62095 /* 176794 */ /*GILLT_v32s16*//*Label 4963*/ GIMT_Encode4(178078),
62096 /* 176798 */ /*GILLT_v4s32*//*Label 4964*/ GIMT_Encode4(178165),
62097 /* 176802 */ /*GILLT_v8s32*//*Label 4965*/ GIMT_Encode4(178365),
62098 /* 176806 */ /*GILLT_v16s32*//*Label 4966*/ GIMT_Encode4(178565),
62099 /* 176810 */ /*GILLT_v2s64*//*Label 4967*/ GIMT_Encode4(178652),
62100 /* 176814 */ /*GILLT_v4s64*//*Label 4968*/ GIMT_Encode4(178739),
62101 /* 176818 */ /*GILLT_v8s64*//*Label 4969*/ GIMT_Encode4(178935),
62102 /* 176822 */ // Label 4958: @176822
62103 /* 176822 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4973*/ GIMT_Encode4(177073),
62104 /* 176833 */ /*GILLT_s32*//*Label 4971*/ GIMT_Encode4(176841),
62105 /* 176837 */ /*GILLT_s64*//*Label 4972*/ GIMT_Encode4(176957),
62106 /* 176841 */ // Label 4971: @176841
62107 /* 176841 */ GIM_Try, /*On fail goto*//*Label 4974*/ GIMT_Encode4(176956),
62108 /* 176846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62109 /* 176850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4975*/ GIMT_Encode4(176918), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22387 //
62110 /* 176857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62111 /* 176861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62112 /* 176865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62113 /* 176868 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62114 /* 176872 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62115 /* 176876 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62116 /* 176878 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62117 /* 176885 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62118 /* 176885 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62119 /* 176888 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62120 /* 176892 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62121 /* 176897 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62122 /* 176899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrm),
62123 /* 176902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62124 /* 176904 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62125 /* 176907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62126 /* 176911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62127 /* 176916 */ GIR_RootConstrainSelectedInstOperands,
62128 /* 176917 */ // GIR_Coverage, 22387,
62129 /* 176917 */ GIR_EraseRootFromParent_Done,
62130 /* 176918 */ // Label 4975: @176918
62131 /* 176918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4976*/ GIMT_Encode4(176955), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22391 //
62132 /* 176925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62133 /* 176929 */ // (uint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
62134 /* 176929 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62135 /* 176932 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62136 /* 176936 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62137 /* 176941 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62138 /* 176943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrr),
62139 /* 176946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62140 /* 176948 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62141 /* 176951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62142 /* 176953 */ GIR_RootConstrainSelectedInstOperands,
62143 /* 176954 */ // GIR_Coverage, 22391,
62144 /* 176954 */ GIR_EraseRootFromParent_Done,
62145 /* 176955 */ // Label 4976: @176955
62146 /* 176955 */ GIM_Reject,
62147 /* 176956 */ // Label 4974: @176956
62148 /* 176956 */ GIM_Reject,
62149 /* 176957 */ // Label 4972: @176957
62150 /* 176957 */ GIM_Try, /*On fail goto*//*Label 4977*/ GIMT_Encode4(177072),
62151 /* 176962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62152 /* 176966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4978*/ GIMT_Encode4(177034), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22389 //
62153 /* 176973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62154 /* 176977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62155 /* 176981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62156 /* 176984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62157 /* 176988 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62158 /* 176992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62159 /* 176994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62160 /* 177001 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62161 /* 177001 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62162 /* 177004 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62163 /* 177008 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62164 /* 177013 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62165 /* 177015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrm),
62166 /* 177018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62167 /* 177020 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62168 /* 177023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62169 /* 177027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62170 /* 177032 */ GIR_RootConstrainSelectedInstOperands,
62171 /* 177033 */ // GIR_Coverage, 22389,
62172 /* 177033 */ GIR_EraseRootFromParent_Done,
62173 /* 177034 */ // Label 4978: @177034
62174 /* 177034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4979*/ GIMT_Encode4(177071), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22393 //
62175 /* 177041 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62176 /* 177045 */ // (uint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
62177 /* 177045 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62178 /* 177048 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62179 /* 177052 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62180 /* 177057 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62181 /* 177059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrr),
62182 /* 177062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62183 /* 177064 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62184 /* 177067 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62185 /* 177069 */ GIR_RootConstrainSelectedInstOperands,
62186 /* 177070 */ // GIR_Coverage, 22393,
62187 /* 177070 */ GIR_EraseRootFromParent_Done,
62188 /* 177071 */ // Label 4979: @177071
62189 /* 177071 */ GIM_Reject,
62190 /* 177072 */ // Label 4977: @177072
62191 /* 177072 */ GIM_Reject,
62192 /* 177073 */ // Label 4973: @177073
62193 /* 177073 */ GIM_Reject,
62194 /* 177074 */ // Label 4959: @177074
62195 /* 177074 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4982*/ GIMT_Encode4(177325),
62196 /* 177085 */ /*GILLT_s32*//*Label 4980*/ GIMT_Encode4(177093),
62197 /* 177089 */ /*GILLT_s64*//*Label 4981*/ GIMT_Encode4(177209),
62198 /* 177093 */ // Label 4980: @177093
62199 /* 177093 */ GIM_Try, /*On fail goto*//*Label 4983*/ GIMT_Encode4(177208),
62200 /* 177098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62201 /* 177102 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4984*/ GIMT_Encode4(177170), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21288 //
62202 /* 177109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62203 /* 177113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62204 /* 177117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62205 /* 177120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62206 /* 177124 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62207 /* 177128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62208 /* 177130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62209 /* 177137 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62210 /* 177137 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62211 /* 177140 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62212 /* 177144 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62213 /* 177149 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62214 /* 177151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrm),
62215 /* 177154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62216 /* 177156 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62217 /* 177159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62218 /* 177163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62219 /* 177168 */ GIR_RootConstrainSelectedInstOperands,
62220 /* 177169 */ // GIR_Coverage, 21288,
62221 /* 177169 */ GIR_EraseRootFromParent_Done,
62222 /* 177170 */ // Label 4984: @177170
62223 /* 177170 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4985*/ GIMT_Encode4(177207), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21296 //
62224 /* 177177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62225 /* 177181 */ // (uint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
62226 /* 177181 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62227 /* 177184 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62228 /* 177188 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62229 /* 177193 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62230 /* 177195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrr),
62231 /* 177198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62232 /* 177200 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62233 /* 177203 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62234 /* 177205 */ GIR_RootConstrainSelectedInstOperands,
62235 /* 177206 */ // GIR_Coverage, 21296,
62236 /* 177206 */ GIR_EraseRootFromParent_Done,
62237 /* 177207 */ // Label 4985: @177207
62238 /* 177207 */ GIM_Reject,
62239 /* 177208 */ // Label 4983: @177208
62240 /* 177208 */ GIM_Reject,
62241 /* 177209 */ // Label 4981: @177209
62242 /* 177209 */ GIM_Try, /*On fail goto*//*Label 4986*/ GIMT_Encode4(177324),
62243 /* 177214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62244 /* 177218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4987*/ GIMT_Encode4(177286), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21290 //
62245 /* 177225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62246 /* 177229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62247 /* 177233 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62248 /* 177236 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62249 /* 177240 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62250 /* 177244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62251 /* 177246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62252 /* 177253 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62253 /* 177253 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62254 /* 177256 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62255 /* 177260 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62256 /* 177265 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62257 /* 177267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrm),
62258 /* 177270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62259 /* 177272 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62260 /* 177275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62261 /* 177279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62262 /* 177284 */ GIR_RootConstrainSelectedInstOperands,
62263 /* 177285 */ // GIR_Coverage, 21290,
62264 /* 177285 */ GIR_EraseRootFromParent_Done,
62265 /* 177286 */ // Label 4987: @177286
62266 /* 177286 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4988*/ GIMT_Encode4(177323), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21298 //
62267 /* 177293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62268 /* 177297 */ // (uint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
62269 /* 177297 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62270 /* 177300 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62271 /* 177304 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62272 /* 177309 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62273 /* 177311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrr),
62274 /* 177314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62275 /* 177316 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62276 /* 177319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62277 /* 177321 */ GIR_RootConstrainSelectedInstOperands,
62278 /* 177322 */ // GIR_Coverage, 21298,
62279 /* 177322 */ GIR_EraseRootFromParent_Done,
62280 /* 177323 */ // Label 4988: @177323
62281 /* 177323 */ GIM_Reject,
62282 /* 177324 */ // Label 4986: @177324
62283 /* 177324 */ GIM_Reject,
62284 /* 177325 */ // Label 4982: @177325
62285 /* 177325 */ GIM_Reject,
62286 /* 177326 */ // Label 4960: @177326
62287 /* 177326 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4991*/ GIMT_Encode4(177577),
62288 /* 177337 */ /*GILLT_s32*//*Label 4989*/ GIMT_Encode4(177345),
62289 /* 177341 */ /*GILLT_s64*//*Label 4990*/ GIMT_Encode4(177461),
62290 /* 177345 */ // Label 4989: @177345
62291 /* 177345 */ GIM_Try, /*On fail goto*//*Label 4992*/ GIMT_Encode4(177460),
62292 /* 177350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62293 /* 177354 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4993*/ GIMT_Encode4(177422), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21292 //
62294 /* 177361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62295 /* 177365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62296 /* 177369 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62297 /* 177372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62298 /* 177376 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62299 /* 177380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62300 /* 177382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62301 /* 177389 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62302 /* 177389 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62303 /* 177392 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62304 /* 177396 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62305 /* 177401 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62306 /* 177403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrm),
62307 /* 177406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62308 /* 177408 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62309 /* 177411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62310 /* 177415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62311 /* 177420 */ GIR_RootConstrainSelectedInstOperands,
62312 /* 177421 */ // GIR_Coverage, 21292,
62313 /* 177421 */ GIR_EraseRootFromParent_Done,
62314 /* 177422 */ // Label 4993: @177422
62315 /* 177422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4994*/ GIMT_Encode4(177459), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21300 //
62316 /* 177429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62317 /* 177433 */ // (uint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
62318 /* 177433 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62319 /* 177436 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62320 /* 177440 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62321 /* 177445 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62322 /* 177447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrr),
62323 /* 177450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62324 /* 177452 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62325 /* 177455 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62326 /* 177457 */ GIR_RootConstrainSelectedInstOperands,
62327 /* 177458 */ // GIR_Coverage, 21300,
62328 /* 177458 */ GIR_EraseRootFromParent_Done,
62329 /* 177459 */ // Label 4994: @177459
62330 /* 177459 */ GIM_Reject,
62331 /* 177460 */ // Label 4992: @177460
62332 /* 177460 */ GIM_Reject,
62333 /* 177461 */ // Label 4990: @177461
62334 /* 177461 */ GIM_Try, /*On fail goto*//*Label 4995*/ GIMT_Encode4(177576),
62335 /* 177466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62336 /* 177470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4996*/ GIMT_Encode4(177538), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21294 //
62337 /* 177477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62338 /* 177481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62339 /* 177485 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62340 /* 177488 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62341 /* 177492 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62342 /* 177496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62343 /* 177498 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62344 /* 177505 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62345 /* 177505 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62346 /* 177508 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62347 /* 177512 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62348 /* 177517 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62349 /* 177519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrm),
62350 /* 177522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62351 /* 177524 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62352 /* 177527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62353 /* 177531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62354 /* 177536 */ GIR_RootConstrainSelectedInstOperands,
62355 /* 177537 */ // GIR_Coverage, 21294,
62356 /* 177537 */ GIR_EraseRootFromParent_Done,
62357 /* 177538 */ // Label 4996: @177538
62358 /* 177538 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4997*/ GIMT_Encode4(177575), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21302 //
62359 /* 177545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62360 /* 177549 */ // (uint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
62361 /* 177549 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62362 /* 177552 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62363 /* 177556 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62364 /* 177561 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62365 /* 177563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrr),
62366 /* 177566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62367 /* 177568 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62368 /* 177571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62369 /* 177573 */ GIR_RootConstrainSelectedInstOperands,
62370 /* 177574 */ // GIR_Coverage, 21302,
62371 /* 177574 */ GIR_EraseRootFromParent_Done,
62372 /* 177575 */ // Label 4997: @177575
62373 /* 177575 */ GIM_Reject,
62374 /* 177576 */ // Label 4995: @177576
62375 /* 177576 */ GIM_Reject,
62376 /* 177577 */ // Label 4991: @177577
62377 /* 177577 */ GIM_Reject,
62378 /* 177578 */ // Label 4961: @177578
62379 /* 177578 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 5001*/ GIMT_Encode4(177877),
62380 /* 177589 */ /*GILLT_v8s16*//*Label 4998*/ GIMT_Encode4(177625), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62381 /* 177605 */ /*GILLT_v8s32*//*Label 4999*/ GIMT_Encode4(177709), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62382 /* 177621 */ /*GILLT_v8s64*//*Label 5000*/ GIMT_Encode4(177793),
62383 /* 177625 */ // Label 4998: @177625
62384 /* 177625 */ GIM_Try, /*On fail goto*//*Label 5002*/ GIMT_Encode4(177708),
62385 /* 177630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62386 /* 177634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5003*/ GIMT_Encode4(177685), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14679 //
62387 /* 177641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62388 /* 177645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62389 /* 177649 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62390 /* 177652 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62391 /* 177656 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62392 /* 177660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62393 /* 177662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62394 /* 177669 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
62395 /* 177669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rm),
62396 /* 177672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62397 /* 177674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62398 /* 177678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62399 /* 177683 */ GIR_RootConstrainSelectedInstOperands,
62400 /* 177684 */ // GIR_Coverage, 14679,
62401 /* 177684 */ GIR_EraseRootFromParent_Done,
62402 /* 177685 */ // Label 5003: @177685
62403 /* 177685 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5004*/ GIMT_Encode4(177707), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14675 //
62404 /* 177692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62405 /* 177696 */ // (uint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTUW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
62406 /* 177696 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rr),
62407 /* 177701 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62408 /* 177705 */ GIR_RootConstrainSelectedInstOperands,
62409 /* 177706 */ // GIR_Coverage, 14675,
62410 /* 177706 */ GIR_Done,
62411 /* 177707 */ // Label 5004: @177707
62412 /* 177707 */ GIM_Reject,
62413 /* 177708 */ // Label 5002: @177708
62414 /* 177708 */ GIM_Reject,
62415 /* 177709 */ // Label 4999: @177709
62416 /* 177709 */ GIM_Try, /*On fail goto*//*Label 5005*/ GIMT_Encode4(177792),
62417 /* 177714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62418 /* 177718 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5006*/ GIMT_Encode4(177769), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 11485 //
62419 /* 177725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62420 /* 177729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62421 /* 177733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62422 /* 177736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62423 /* 177740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62424 /* 177744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62425 /* 177746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62426 /* 177753 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
62427 /* 177753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rm),
62428 /* 177756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62429 /* 177758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62430 /* 177762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62431 /* 177767 */ GIR_RootConstrainSelectedInstOperands,
62432 /* 177768 */ // GIR_Coverage, 11485,
62433 /* 177768 */ GIR_EraseRootFromParent_Done,
62434 /* 177769 */ // Label 5006: @177769
62435 /* 177769 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5007*/ GIMT_Encode4(177791), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 11481 //
62436 /* 177776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62437 /* 177780 */ // (uint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
62438 /* 177780 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rr),
62439 /* 177785 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62440 /* 177789 */ GIR_RootConstrainSelectedInstOperands,
62441 /* 177790 */ // GIR_Coverage, 11481,
62442 /* 177790 */ GIR_Done,
62443 /* 177791 */ // Label 5007: @177791
62444 /* 177791 */ GIM_Reject,
62445 /* 177792 */ // Label 5005: @177792
62446 /* 177792 */ GIM_Reject,
62447 /* 177793 */ // Label 5000: @177793
62448 /* 177793 */ GIM_Try, /*On fail goto*//*Label 5008*/ GIMT_Encode4(177876),
62449 /* 177798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62450 /* 177802 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5009*/ GIMT_Encode4(177853), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15141 //
62451 /* 177809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62452 /* 177813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62453 /* 177817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62454 /* 177820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62455 /* 177824 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62456 /* 177828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62457 /* 177830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62458 /* 177837 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
62459 /* 177837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrm),
62460 /* 177840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62461 /* 177842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62462 /* 177846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62463 /* 177851 */ GIR_RootConstrainSelectedInstOperands,
62464 /* 177852 */ // GIR_Coverage, 15141,
62465 /* 177852 */ GIR_EraseRootFromParent_Done,
62466 /* 177853 */ // Label 5009: @177853
62467 /* 177853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5010*/ GIMT_Encode4(177875), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15137 //
62468 /* 177860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62469 /* 177864 */ // (uint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
62470 /* 177864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrr),
62471 /* 177869 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62472 /* 177873 */ GIR_RootConstrainSelectedInstOperands,
62473 /* 177874 */ // GIR_Coverage, 15137,
62474 /* 177874 */ GIR_Done,
62475 /* 177875 */ // Label 5010: @177875
62476 /* 177875 */ GIM_Reject,
62477 /* 177876 */ // Label 5008: @177876
62478 /* 177876 */ GIM_Reject,
62479 /* 177877 */ // Label 5001: @177877
62480 /* 177877 */ GIM_Reject,
62481 /* 177878 */ // Label 4962: @177878
62482 /* 177878 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(22), /*)*//*default:*//*Label 5013*/ GIMT_Encode4(178077),
62483 /* 177889 */ /*GILLT_v16s16*//*Label 5011*/ GIMT_Encode4(177909), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62484 /* 177905 */ /*GILLT_v16s32*//*Label 5012*/ GIMT_Encode4(177993),
62485 /* 177909 */ // Label 5011: @177909
62486 /* 177909 */ GIM_Try, /*On fail goto*//*Label 5014*/ GIMT_Encode4(177992),
62487 /* 177914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62488 /* 177918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5015*/ GIMT_Encode4(177969), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14691 //
62489 /* 177925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62490 /* 177929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62491 /* 177933 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62492 /* 177936 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62493 /* 177940 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62494 /* 177944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62495 /* 177946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62496 /* 177953 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
62497 /* 177953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rm),
62498 /* 177956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62499 /* 177958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62500 /* 177962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62501 /* 177967 */ GIR_RootConstrainSelectedInstOperands,
62502 /* 177968 */ // GIR_Coverage, 14691,
62503 /* 177968 */ GIR_EraseRootFromParent_Done,
62504 /* 177969 */ // Label 5015: @177969
62505 /* 177969 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5016*/ GIMT_Encode4(177991), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14687 //
62506 /* 177976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62507 /* 177980 */ // (uint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTUW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
62508 /* 177980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rr),
62509 /* 177985 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62510 /* 177989 */ GIR_RootConstrainSelectedInstOperands,
62511 /* 177990 */ // GIR_Coverage, 14687,
62512 /* 177990 */ GIR_Done,
62513 /* 177991 */ // Label 5016: @177991
62514 /* 177991 */ GIM_Reject,
62515 /* 177992 */ // Label 5014: @177992
62516 /* 177992 */ GIM_Reject,
62517 /* 177993 */ // Label 5012: @177993
62518 /* 177993 */ GIM_Try, /*On fail goto*//*Label 5017*/ GIMT_Encode4(178076),
62519 /* 177998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62520 /* 178002 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5018*/ GIMT_Encode4(178053), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11470 //
62521 /* 178009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62522 /* 178013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62523 /* 178017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62524 /* 178020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62525 /* 178024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62526 /* 178028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62527 /* 178030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62528 /* 178037 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
62529 /* 178037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrm),
62530 /* 178040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62531 /* 178042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62532 /* 178046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62533 /* 178051 */ GIR_RootConstrainSelectedInstOperands,
62534 /* 178052 */ // GIR_Coverage, 11470,
62535 /* 178052 */ GIR_EraseRootFromParent_Done,
62536 /* 178053 */ // Label 5018: @178053
62537 /* 178053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5019*/ GIMT_Encode4(178075), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11466 //
62538 /* 178060 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62539 /* 178064 */ // (uint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
62540 /* 178064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrr),
62541 /* 178069 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62542 /* 178073 */ GIR_RootConstrainSelectedInstOperands,
62543 /* 178074 */ // GIR_Coverage, 11466,
62544 /* 178074 */ GIR_Done,
62545 /* 178075 */ // Label 5019: @178075
62546 /* 178075 */ GIM_Reject,
62547 /* 178076 */ // Label 5017: @178076
62548 /* 178076 */ GIM_Reject,
62549 /* 178077 */ // Label 5013: @178077
62550 /* 178077 */ GIM_Reject,
62551 /* 178078 */ // Label 4963: @178078
62552 /* 178078 */ GIM_Try, /*On fail goto*//*Label 5020*/ GIMT_Encode4(178164),
62553 /* 178083 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
62554 /* 178086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62555 /* 178090 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5021*/ GIMT_Encode4(178141), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 14664 //
62556 /* 178097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62557 /* 178101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62558 /* 178105 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62559 /* 178108 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62560 /* 178112 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62561 /* 178116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62562 /* 178118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62563 /* 178125 */ // (uint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
62564 /* 178125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrm),
62565 /* 178128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62566 /* 178130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62567 /* 178134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62568 /* 178139 */ GIR_RootConstrainSelectedInstOperands,
62569 /* 178140 */ // GIR_Coverage, 14664,
62570 /* 178140 */ GIR_EraseRootFromParent_Done,
62571 /* 178141 */ // Label 5021: @178141
62572 /* 178141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5022*/ GIMT_Encode4(178163), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 14660 //
62573 /* 178148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62574 /* 178152 */ // (uint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTUW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
62575 /* 178152 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrr),
62576 /* 178157 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62577 /* 178161 */ GIR_RootConstrainSelectedInstOperands,
62578 /* 178162 */ // GIR_Coverage, 14660,
62579 /* 178162 */ GIR_Done,
62580 /* 178163 */ // Label 5022: @178163
62581 /* 178163 */ GIM_Reject,
62582 /* 178164 */ // Label 5020: @178164
62583 /* 178164 */ GIM_Reject,
62584 /* 178165 */ // Label 4964: @178165
62585 /* 178165 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5025*/ GIMT_Encode4(178364),
62586 /* 178176 */ /*GILLT_v4s32*//*Label 5023*/ GIMT_Encode4(178196), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62587 /* 178192 */ /*GILLT_v4s64*//*Label 5024*/ GIMT_Encode4(178280),
62588 /* 178196 */ // Label 5023: @178196
62589 /* 178196 */ GIM_Try, /*On fail goto*//*Label 5026*/ GIMT_Encode4(178279),
62590 /* 178201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62591 /* 178205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5027*/ GIMT_Encode4(178256), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10963 //
62592 /* 178212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62593 /* 178216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62594 /* 178220 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62595 /* 178223 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62596 /* 178227 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62597 /* 178231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62598 /* 178233 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62599 /* 178240 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
62600 /* 178240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rm),
62601 /* 178243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62602 /* 178245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62603 /* 178249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62604 /* 178254 */ GIR_RootConstrainSelectedInstOperands,
62605 /* 178255 */ // GIR_Coverage, 10963,
62606 /* 178255 */ GIR_EraseRootFromParent_Done,
62607 /* 178256 */ // Label 5027: @178256
62608 /* 178256 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5028*/ GIMT_Encode4(178278), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10959 //
62609 /* 178263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62610 /* 178267 */ // (uint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
62611 /* 178267 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rr),
62612 /* 178272 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62613 /* 178276 */ GIR_RootConstrainSelectedInstOperands,
62614 /* 178277 */ // GIR_Coverage, 10959,
62615 /* 178277 */ GIR_Done,
62616 /* 178278 */ // Label 5028: @178278
62617 /* 178278 */ GIM_Reject,
62618 /* 178279 */ // Label 5026: @178279
62619 /* 178279 */ GIM_Reject,
62620 /* 178280 */ // Label 5024: @178280
62621 /* 178280 */ GIM_Try, /*On fail goto*//*Label 5029*/ GIMT_Encode4(178363),
62622 /* 178285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62623 /* 178289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5030*/ GIMT_Encode4(178340), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11539 //
62624 /* 178296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62625 /* 178300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62626 /* 178304 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62627 /* 178307 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62628 /* 178311 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62629 /* 178315 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62630 /* 178317 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62631 /* 178324 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
62632 /* 178324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rm),
62633 /* 178327 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62634 /* 178329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62635 /* 178333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62636 /* 178338 */ GIR_RootConstrainSelectedInstOperands,
62637 /* 178339 */ // GIR_Coverage, 11539,
62638 /* 178339 */ GIR_EraseRootFromParent_Done,
62639 /* 178340 */ // Label 5030: @178340
62640 /* 178340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5031*/ GIMT_Encode4(178362), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11535 //
62641 /* 178347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62642 /* 178351 */ // (uint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
62643 /* 178351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rr),
62644 /* 178356 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62645 /* 178360 */ GIR_RootConstrainSelectedInstOperands,
62646 /* 178361 */ // GIR_Coverage, 11535,
62647 /* 178361 */ GIR_Done,
62648 /* 178362 */ // Label 5031: @178362
62649 /* 178362 */ GIM_Reject,
62650 /* 178363 */ // Label 5029: @178363
62651 /* 178363 */ GIM_Reject,
62652 /* 178364 */ // Label 5025: @178364
62653 /* 178364 */ GIM_Reject,
62654 /* 178365 */ // Label 4965: @178365
62655 /* 178365 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5034*/ GIMT_Encode4(178564),
62656 /* 178376 */ /*GILLT_v8s32*//*Label 5032*/ GIMT_Encode4(178396), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62657 /* 178392 */ /*GILLT_v8s64*//*Label 5033*/ GIMT_Encode4(178480),
62658 /* 178396 */ // Label 5032: @178396
62659 /* 178396 */ GIM_Try, /*On fail goto*//*Label 5035*/ GIMT_Encode4(178479),
62660 /* 178401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62661 /* 178405 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5036*/ GIMT_Encode4(178456), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10975 //
62662 /* 178412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62663 /* 178416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62664 /* 178420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62665 /* 178423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62666 /* 178427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62667 /* 178431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62668 /* 178433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62669 /* 178440 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
62670 /* 178440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rm),
62671 /* 178443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62672 /* 178445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62673 /* 178449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62674 /* 178454 */ GIR_RootConstrainSelectedInstOperands,
62675 /* 178455 */ // GIR_Coverage, 10975,
62676 /* 178455 */ GIR_EraseRootFromParent_Done,
62677 /* 178456 */ // Label 5036: @178456
62678 /* 178456 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5037*/ GIMT_Encode4(178478), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10971 //
62679 /* 178463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62680 /* 178467 */ // (uint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
62681 /* 178467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rr),
62682 /* 178472 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62683 /* 178476 */ GIR_RootConstrainSelectedInstOperands,
62684 /* 178477 */ // GIR_Coverage, 10971,
62685 /* 178477 */ GIR_Done,
62686 /* 178478 */ // Label 5037: @178478
62687 /* 178478 */ GIM_Reject,
62688 /* 178479 */ // Label 5035: @178479
62689 /* 178479 */ GIM_Reject,
62690 /* 178480 */ // Label 5033: @178480
62691 /* 178480 */ GIM_Try, /*On fail goto*//*Label 5038*/ GIMT_Encode4(178563),
62692 /* 178485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62693 /* 178489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5039*/ GIMT_Encode4(178540), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11524 //
62694 /* 178496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62695 /* 178500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62696 /* 178504 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62697 /* 178507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62698 /* 178511 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62699 /* 178515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62700 /* 178517 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62701 /* 178524 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
62702 /* 178524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrm),
62703 /* 178527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62704 /* 178529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62705 /* 178533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62706 /* 178538 */ GIR_RootConstrainSelectedInstOperands,
62707 /* 178539 */ // GIR_Coverage, 11524,
62708 /* 178539 */ GIR_EraseRootFromParent_Done,
62709 /* 178540 */ // Label 5039: @178540
62710 /* 178540 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5040*/ GIMT_Encode4(178562), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11520 //
62711 /* 178547 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62712 /* 178551 */ // (uint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
62713 /* 178551 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrr),
62714 /* 178556 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62715 /* 178560 */ GIR_RootConstrainSelectedInstOperands,
62716 /* 178561 */ // GIR_Coverage, 11520,
62717 /* 178561 */ GIR_Done,
62718 /* 178562 */ // Label 5040: @178562
62719 /* 178562 */ GIM_Reject,
62720 /* 178563 */ // Label 5038: @178563
62721 /* 178563 */ GIM_Reject,
62722 /* 178564 */ // Label 5034: @178564
62723 /* 178564 */ GIM_Reject,
62724 /* 178565 */ // Label 4966: @178565
62725 /* 178565 */ GIM_Try, /*On fail goto*//*Label 5041*/ GIMT_Encode4(178651),
62726 /* 178570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
62727 /* 178573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62728 /* 178577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5042*/ GIMT_Encode4(178628), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10948 //
62729 /* 178584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62730 /* 178588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62731 /* 178592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62732 /* 178595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62733 /* 178599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62734 /* 178603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62735 /* 178605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62736 /* 178612 */ // (uint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
62737 /* 178612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrm),
62738 /* 178615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62739 /* 178617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62740 /* 178621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62741 /* 178626 */ GIR_RootConstrainSelectedInstOperands,
62742 /* 178627 */ // GIR_Coverage, 10948,
62743 /* 178627 */ GIR_EraseRootFromParent_Done,
62744 /* 178628 */ // Label 5042: @178628
62745 /* 178628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5043*/ GIMT_Encode4(178650), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10944 //
62746 /* 178635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62747 /* 178639 */ // (uint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
62748 /* 178639 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrr),
62749 /* 178644 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62750 /* 178648 */ GIR_RootConstrainSelectedInstOperands,
62751 /* 178649 */ // GIR_Coverage, 10944,
62752 /* 178649 */ GIR_Done,
62753 /* 178650 */ // Label 5043: @178650
62754 /* 178650 */ GIM_Reject,
62755 /* 178651 */ // Label 5041: @178651
62756 /* 178651 */ GIM_Reject,
62757 /* 178652 */ // Label 4967: @178652
62758 /* 178652 */ GIM_Try, /*On fail goto*//*Label 5044*/ GIMT_Encode4(178738),
62759 /* 178657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
62760 /* 178660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62761 /* 178664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5045*/ GIMT_Encode4(178715), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11419 //
62762 /* 178671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62763 /* 178675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62764 /* 178679 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62765 /* 178682 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62766 /* 178686 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62767 /* 178690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62768 /* 178692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62769 /* 178699 */ // (uint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
62770 /* 178699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rm),
62771 /* 178702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62772 /* 178704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62773 /* 178708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62774 /* 178713 */ GIR_RootConstrainSelectedInstOperands,
62775 /* 178714 */ // GIR_Coverage, 11419,
62776 /* 178714 */ GIR_EraseRootFromParent_Done,
62777 /* 178715 */ // Label 5045: @178715
62778 /* 178715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5046*/ GIMT_Encode4(178737), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11415 //
62779 /* 178722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62780 /* 178726 */ // (uint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTUQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
62781 /* 178726 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rr),
62782 /* 178731 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62783 /* 178735 */ GIR_RootConstrainSelectedInstOperands,
62784 /* 178736 */ // GIR_Coverage, 11415,
62785 /* 178736 */ GIR_Done,
62786 /* 178737 */ // Label 5046: @178737
62787 /* 178737 */ GIM_Reject,
62788 /* 178738 */ // Label 5044: @178738
62789 /* 178738 */ GIM_Reject,
62790 /* 178739 */ // Label 4968: @178739
62791 /* 178739 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5049*/ GIMT_Encode4(178934),
62792 /* 178750 */ /*GILLT_v4s32*//*Label 5047*/ GIMT_Encode4(178770), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62793 /* 178766 */ /*GILLT_v4s64*//*Label 5048*/ GIMT_Encode4(178850),
62794 /* 178770 */ // Label 5047: @178770
62795 /* 178770 */ GIM_Try, /*On fail goto*//*Label 5050*/ GIMT_Encode4(178849),
62796 /* 178775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62797 /* 178779 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5051*/ GIMT_Encode4(178830), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10936 //
62798 /* 178786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62799 /* 178790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62800 /* 178794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62801 /* 178797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62802 /* 178801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62803 /* 178805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62804 /* 178807 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62805 /* 178814 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
62806 /* 178814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rm),
62807 /* 178817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62808 /* 178819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62809 /* 178823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62810 /* 178828 */ GIR_RootConstrainSelectedInstOperands,
62811 /* 178829 */ // GIR_Coverage, 10936,
62812 /* 178829 */ GIR_EraseRootFromParent_Done,
62813 /* 178830 */ // Label 5051: @178830
62814 /* 178830 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5052*/ GIMT_Encode4(178848), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10932 //
62815 /* 178837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62816 /* 178841 */ // (uint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
62817 /* 178841 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rr),
62818 /* 178846 */ GIR_RootConstrainSelectedInstOperands,
62819 /* 178847 */ // GIR_Coverage, 10932,
62820 /* 178847 */ GIR_Done,
62821 /* 178848 */ // Label 5052: @178848
62822 /* 178848 */ GIM_Reject,
62823 /* 178849 */ // Label 5050: @178849
62824 /* 178849 */ GIM_Reject,
62825 /* 178850 */ // Label 5048: @178850
62826 /* 178850 */ GIM_Try, /*On fail goto*//*Label 5053*/ GIMT_Encode4(178933),
62827 /* 178855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62828 /* 178859 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5054*/ GIMT_Encode4(178910), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11431 //
62829 /* 178866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62830 /* 178870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62831 /* 178874 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62832 /* 178877 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62833 /* 178881 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62834 /* 178885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62835 /* 178887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62836 /* 178894 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
62837 /* 178894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rm),
62838 /* 178897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62839 /* 178899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62840 /* 178903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62841 /* 178908 */ GIR_RootConstrainSelectedInstOperands,
62842 /* 178909 */ // GIR_Coverage, 11431,
62843 /* 178909 */ GIR_EraseRootFromParent_Done,
62844 /* 178910 */ // Label 5054: @178910
62845 /* 178910 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5055*/ GIMT_Encode4(178932), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11427 //
62846 /* 178917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62847 /* 178921 */ // (uint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
62848 /* 178921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rr),
62849 /* 178926 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62850 /* 178930 */ GIR_RootConstrainSelectedInstOperands,
62851 /* 178931 */ // GIR_Coverage, 11427,
62852 /* 178931 */ GIR_Done,
62853 /* 178932 */ // Label 5055: @178932
62854 /* 178932 */ GIM_Reject,
62855 /* 178933 */ // Label 5053: @178933
62856 /* 178933 */ GIM_Reject,
62857 /* 178934 */ // Label 5049: @178934
62858 /* 178934 */ GIM_Reject,
62859 /* 178935 */ // Label 4969: @178935
62860 /* 178935 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5058*/ GIMT_Encode4(179130),
62861 /* 178946 */ /*GILLT_v8s32*//*Label 5056*/ GIMT_Encode4(178966), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62862 /* 178962 */ /*GILLT_v8s64*//*Label 5057*/ GIMT_Encode4(179046),
62863 /* 178966 */ // Label 5056: @178966
62864 /* 178966 */ GIM_Try, /*On fail goto*//*Label 5059*/ GIMT_Encode4(179045),
62865 /* 178971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62866 /* 178975 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5060*/ GIMT_Encode4(179026), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10912 //
62867 /* 178982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62868 /* 178986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62869 /* 178990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62870 /* 178993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62871 /* 178997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62872 /* 179001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62873 /* 179003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62874 /* 179010 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
62875 /* 179010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrm),
62876 /* 179013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62877 /* 179015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62878 /* 179019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62879 /* 179024 */ GIR_RootConstrainSelectedInstOperands,
62880 /* 179025 */ // GIR_Coverage, 10912,
62881 /* 179025 */ GIR_EraseRootFromParent_Done,
62882 /* 179026 */ // Label 5060: @179026
62883 /* 179026 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5061*/ GIMT_Encode4(179044), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10908 //
62884 /* 179033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62885 /* 179037 */ // (uint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
62886 /* 179037 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrr),
62887 /* 179042 */ GIR_RootConstrainSelectedInstOperands,
62888 /* 179043 */ // GIR_Coverage, 10908,
62889 /* 179043 */ GIR_Done,
62890 /* 179044 */ // Label 5061: @179044
62891 /* 179044 */ GIM_Reject,
62892 /* 179045 */ // Label 5059: @179045
62893 /* 179045 */ GIM_Reject,
62894 /* 179046 */ // Label 5057: @179046
62895 /* 179046 */ GIM_Try, /*On fail goto*//*Label 5062*/ GIMT_Encode4(179129),
62896 /* 179051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62897 /* 179055 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5063*/ GIMT_Encode4(179106), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11404 //
62898 /* 179062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62899 /* 179066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62900 /* 179070 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62901 /* 179073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62902 /* 179077 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62903 /* 179081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62904 /* 179083 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62905 /* 179090 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
62906 /* 179090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrm),
62907 /* 179093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62908 /* 179095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62909 /* 179099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62910 /* 179104 */ GIR_RootConstrainSelectedInstOperands,
62911 /* 179105 */ // GIR_Coverage, 11404,
62912 /* 179105 */ GIR_EraseRootFromParent_Done,
62913 /* 179106 */ // Label 5063: @179106
62914 /* 179106 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5064*/ GIMT_Encode4(179128), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11400 //
62915 /* 179113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62916 /* 179117 */ // (uint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
62917 /* 179117 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrr),
62918 /* 179122 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62919 /* 179126 */ GIR_RootConstrainSelectedInstOperands,
62920 /* 179127 */ // GIR_Coverage, 11400,
62921 /* 179127 */ GIR_Done,
62922 /* 179128 */ // Label 5064: @179128
62923 /* 179128 */ GIM_Reject,
62924 /* 179129 */ // Label 5062: @179129
62925 /* 179129 */ GIM_Reject,
62926 /* 179130 */ // Label 5058: @179130
62927 /* 179130 */ GIM_Reject,
62928 /* 179131 */ // Label 4970: @179131
62929 /* 179131 */ GIM_Reject,
62930 /* 179132 */ // Label 56: @179132
62931 /* 179132 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 5073*/ GIMT_Encode4(180011),
62932 /* 179143 */ /*GILLT_s32*//*Label 5065*/ GIMT_Encode4(179231),
62933 /* 179147 */ /*GILLT_s64*//*Label 5066*/ GIMT_Encode4(179419), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62934 /* 179207 */ /*GILLT_v4s32*//*Label 5067*/ GIMT_Encode4(179607),
62935 /* 179211 */ /*GILLT_v8s32*//*Label 5068*/ GIMT_Encode4(179693),
62936 /* 179215 */ /*GILLT_v16s32*//*Label 5069*/ GIMT_Encode4(179779),
62937 /* 179219 */ /*GILLT_v2s64*//*Label 5070*/ GIMT_Encode4(179809),
62938 /* 179223 */ /*GILLT_v4s64*//*Label 5071*/ GIMT_Encode4(179839),
62939 /* 179227 */ /*GILLT_v8s64*//*Label 5072*/ GIMT_Encode4(179925),
62940 /* 179231 */ // Label 5065: @179231
62941 /* 179231 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 5076*/ GIMT_Encode4(179418),
62942 /* 179242 */ /*GILLT_s32*//*Label 5074*/ GIMT_Encode4(179250),
62943 /* 179246 */ /*GILLT_s64*//*Label 5075*/ GIMT_Encode4(179334),
62944 /* 179250 */ // Label 5074: @179250
62945 /* 179250 */ GIM_Try, /*On fail goto*//*Label 5077*/ GIMT_Encode4(179333),
62946 /* 179255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62947 /* 179259 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5078*/ GIMT_Encode4(179310), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16435 //
62948 /* 179266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62949 /* 179270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62950 /* 179274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62951 /* 179277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62952 /* 179281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62953 /* 179285 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62954 /* 179287 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62955 /* 179294 */ // (fp_to_sint_sat:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i32:{ *:[Other] }) => (VCVTTSS2SISrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62956 /* 179294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SISrm),
62957 /* 179297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62958 /* 179299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62959 /* 179303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62960 /* 179308 */ GIR_RootConstrainSelectedInstOperands,
62961 /* 179309 */ // GIR_Coverage, 16435,
62962 /* 179309 */ GIR_EraseRootFromParent_Done,
62963 /* 179310 */ // Label 5078: @179310
62964 /* 179310 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5079*/ GIMT_Encode4(179332), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16434 //
62965 /* 179317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62966 /* 179321 */ // (fp_to_sint_sat:{ *:[i32] } FR32X:{ *:[f32] }:$src, i32:{ *:[Other] }) => (VCVTTSS2SISrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
62967 /* 179321 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SISrr),
62968 /* 179326 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62969 /* 179330 */ GIR_RootConstrainSelectedInstOperands,
62970 /* 179331 */ // GIR_Coverage, 16434,
62971 /* 179331 */ GIR_Done,
62972 /* 179332 */ // Label 5079: @179332
62973 /* 179332 */ GIM_Reject,
62974 /* 179333 */ // Label 5077: @179333
62975 /* 179333 */ GIM_Reject,
62976 /* 179334 */ // Label 5075: @179334
62977 /* 179334 */ GIM_Try, /*On fail goto*//*Label 5080*/ GIMT_Encode4(179417),
62978 /* 179339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62979 /* 179343 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5081*/ GIMT_Encode4(179394), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16449 //
62980 /* 179350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62981 /* 179354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62982 /* 179358 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62983 /* 179361 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62984 /* 179365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62985 /* 179369 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62986 /* 179371 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62987 /* 179378 */ // (fp_to_sint_sat:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i32:{ *:[Other] }) => (VCVTTSD2SISrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62988 /* 179378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SISrm),
62989 /* 179381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62990 /* 179383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62991 /* 179387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62992 /* 179392 */ GIR_RootConstrainSelectedInstOperands,
62993 /* 179393 */ // GIR_Coverage, 16449,
62994 /* 179393 */ GIR_EraseRootFromParent_Done,
62995 /* 179394 */ // Label 5081: @179394
62996 /* 179394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5082*/ GIMT_Encode4(179416), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16448 //
62997 /* 179401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62998 /* 179405 */ // (fp_to_sint_sat:{ *:[i32] } FR64X:{ *:[f64] }:$src, i32:{ *:[Other] }) => (VCVTTSD2SISrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
62999 /* 179405 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SISrr),
63000 /* 179410 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63001 /* 179414 */ GIR_RootConstrainSelectedInstOperands,
63002 /* 179415 */ // GIR_Coverage, 16448,
63003 /* 179415 */ GIR_Done,
63004 /* 179416 */ // Label 5082: @179416
63005 /* 179416 */ GIM_Reject,
63006 /* 179417 */ // Label 5080: @179417
63007 /* 179417 */ GIM_Reject,
63008 /* 179418 */ // Label 5076: @179418
63009 /* 179418 */ GIM_Reject,
63010 /* 179419 */ // Label 5066: @179419
63011 /* 179419 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 5085*/ GIMT_Encode4(179606),
63012 /* 179430 */ /*GILLT_s32*//*Label 5083*/ GIMT_Encode4(179438),
63013 /* 179434 */ /*GILLT_s64*//*Label 5084*/ GIMT_Encode4(179522),
63014 /* 179438 */ // Label 5083: @179438
63015 /* 179438 */ GIM_Try, /*On fail goto*//*Label 5086*/ GIMT_Encode4(179521),
63016 /* 179443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63017 /* 179447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5087*/ GIMT_Encode4(179498), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16442 //
63018 /* 179454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63019 /* 179458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63020 /* 179462 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63021 /* 179465 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63022 /* 179469 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63023 /* 179473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63024 /* 179475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63025 /* 179482 */ // (fp_to_sint_sat:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i64:{ *:[Other] }) => (VCVTTSS2SI64Srm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63026 /* 179482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Srm),
63027 /* 179485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63028 /* 179487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63029 /* 179491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63030 /* 179496 */ GIR_RootConstrainSelectedInstOperands,
63031 /* 179497 */ // GIR_Coverage, 16442,
63032 /* 179497 */ GIR_EraseRootFromParent_Done,
63033 /* 179498 */ // Label 5087: @179498
63034 /* 179498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5088*/ GIMT_Encode4(179520), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16441 //
63035 /* 179505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63036 /* 179509 */ // (fp_to_sint_sat:{ *:[i64] } FR32X:{ *:[f32] }:$src, i64:{ *:[Other] }) => (VCVTTSS2SI64Srr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
63037 /* 179509 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Srr),
63038 /* 179514 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63039 /* 179518 */ GIR_RootConstrainSelectedInstOperands,
63040 /* 179519 */ // GIR_Coverage, 16441,
63041 /* 179519 */ GIR_Done,
63042 /* 179520 */ // Label 5088: @179520
63043 /* 179520 */ GIM_Reject,
63044 /* 179521 */ // Label 5086: @179521
63045 /* 179521 */ GIM_Reject,
63046 /* 179522 */ // Label 5084: @179522
63047 /* 179522 */ GIM_Try, /*On fail goto*//*Label 5089*/ GIMT_Encode4(179605),
63048 /* 179527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63049 /* 179531 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5090*/ GIMT_Encode4(179582), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16456 //
63050 /* 179538 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63051 /* 179542 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63052 /* 179546 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63053 /* 179549 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63054 /* 179553 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63055 /* 179557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63056 /* 179559 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63057 /* 179566 */ // (fp_to_sint_sat:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i64:{ *:[Other] }) => (VCVTTSD2SI64Srm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63058 /* 179566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Srm),
63059 /* 179569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63060 /* 179571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63061 /* 179575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63062 /* 179580 */ GIR_RootConstrainSelectedInstOperands,
63063 /* 179581 */ // GIR_Coverage, 16456,
63064 /* 179581 */ GIR_EraseRootFromParent_Done,
63065 /* 179582 */ // Label 5090: @179582
63066 /* 179582 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5091*/ GIMT_Encode4(179604), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16455 //
63067 /* 179589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63068 /* 179593 */ // (fp_to_sint_sat:{ *:[i64] } FR64X:{ *:[f64] }:$src, i64:{ *:[Other] }) => (VCVTTSD2SI64Srr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
63069 /* 179593 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Srr),
63070 /* 179598 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63071 /* 179602 */ GIR_RootConstrainSelectedInstOperands,
63072 /* 179603 */ // GIR_Coverage, 16455,
63073 /* 179603 */ GIR_Done,
63074 /* 179604 */ // Label 5091: @179604
63075 /* 179604 */ GIM_Reject,
63076 /* 179605 */ // Label 5089: @179605
63077 /* 179605 */ GIM_Reject,
63078 /* 179606 */ // Label 5085: @179606
63079 /* 179606 */ GIM_Reject,
63080 /* 179607 */ // Label 5067: @179607
63081 /* 179607 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5094*/ GIMT_Encode4(179692),
63082 /* 179618 */ /*GILLT_v4s32*//*Label 5092*/ GIMT_Encode4(179638), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63083 /* 179634 */ /*GILLT_v4s64*//*Label 5093*/ GIMT_Encode4(179665),
63084 /* 179638 */ // Label 5092: @179638
63085 /* 179638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5095*/ GIMT_Encode4(179664), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22472 //
63086 /* 179645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63087 /* 179649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63088 /* 179653 */ // (fp_to_sint_sat:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2DQSZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
63089 /* 179653 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2DQSZ128rr),
63090 /* 179658 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63091 /* 179662 */ GIR_RootConstrainSelectedInstOperands,
63092 /* 179663 */ // GIR_Coverage, 22472,
63093 /* 179663 */ GIR_Done,
63094 /* 179664 */ // Label 5095: @179664
63095 /* 179664 */ GIM_Reject,
63096 /* 179665 */ // Label 5093: @179665
63097 /* 179665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5096*/ GIMT_Encode4(179691), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22461 //
63098 /* 179672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63099 /* 179676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63100 /* 179680 */ // (fp_to_sint_sat:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src, i32:{ *:[Other] }) => (VCVTTPD2DQSZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
63101 /* 179680 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQSZ256rr),
63102 /* 179685 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63103 /* 179689 */ GIR_RootConstrainSelectedInstOperands,
63104 /* 179690 */ // GIR_Coverage, 22461,
63105 /* 179690 */ GIR_Done,
63106 /* 179691 */ // Label 5096: @179691
63107 /* 179691 */ GIM_Reject,
63108 /* 179692 */ // Label 5094: @179692
63109 /* 179692 */ GIM_Reject,
63110 /* 179693 */ // Label 5068: @179693
63111 /* 179693 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5099*/ GIMT_Encode4(179778),
63112 /* 179704 */ /*GILLT_v8s32*//*Label 5097*/ GIMT_Encode4(179724), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63113 /* 179720 */ /*GILLT_v8s64*//*Label 5098*/ GIMT_Encode4(179751),
63114 /* 179724 */ // Label 5097: @179724
63115 /* 179724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5100*/ GIMT_Encode4(179750), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22473 //
63116 /* 179731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63117 /* 179735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63118 /* 179739 */ // (fp_to_sint_sat:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2DQSZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
63119 /* 179739 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2DQSZ256rr),
63120 /* 179744 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63121 /* 179748 */ GIR_RootConstrainSelectedInstOperands,
63122 /* 179749 */ // GIR_Coverage, 22473,
63123 /* 179749 */ GIR_Done,
63124 /* 179750 */ // Label 5100: @179750
63125 /* 179750 */ GIM_Reject,
63126 /* 179751 */ // Label 5098: @179751
63127 /* 179751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5101*/ GIMT_Encode4(179777), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22462 //
63128 /* 179758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63129 /* 179762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63130 /* 179766 */ // (fp_to_sint_sat:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src, i32:{ *:[Other] }) => (VCVTTPD2DQSZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
63131 /* 179766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQSZrr),
63132 /* 179771 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63133 /* 179775 */ GIR_RootConstrainSelectedInstOperands,
63134 /* 179776 */ // GIR_Coverage, 22462,
63135 /* 179776 */ GIR_Done,
63136 /* 179777 */ // Label 5101: @179777
63137 /* 179777 */ GIM_Reject,
63138 /* 179778 */ // Label 5099: @179778
63139 /* 179778 */ GIM_Reject,
63140 /* 179779 */ // Label 5069: @179779
63141 /* 179779 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5102*/ GIMT_Encode4(179808), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22474 //
63142 /* 179786 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63143 /* 179789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63144 /* 179793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63145 /* 179797 */ // (fp_to_sint_sat:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2DQSZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
63146 /* 179797 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2DQSZrr),
63147 /* 179802 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63148 /* 179806 */ GIR_RootConstrainSelectedInstOperands,
63149 /* 179807 */ // GIR_Coverage, 22474,
63150 /* 179807 */ GIR_Done,
63151 /* 179808 */ // Label 5102: @179808
63152 /* 179808 */ GIM_Reject,
63153 /* 179809 */ // Label 5070: @179809
63154 /* 179809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5103*/ GIMT_Encode4(179838), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22463 //
63155 /* 179816 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
63156 /* 179819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63157 /* 179823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63158 /* 179827 */ // (fp_to_sint_sat:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2QQSZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
63159 /* 179827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2QQSZ128rr),
63160 /* 179832 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63161 /* 179836 */ GIR_RootConstrainSelectedInstOperands,
63162 /* 179837 */ // GIR_Coverage, 22463,
63163 /* 179837 */ GIR_Done,
63164 /* 179838 */ // Label 5103: @179838
63165 /* 179838 */ GIM_Reject,
63166 /* 179839 */ // Label 5071: @179839
63167 /* 179839 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5106*/ GIMT_Encode4(179924),
63168 /* 179850 */ /*GILLT_v4s32*//*Label 5104*/ GIMT_Encode4(179870), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63169 /* 179866 */ /*GILLT_v4s64*//*Label 5105*/ GIMT_Encode4(179897),
63170 /* 179870 */ // Label 5104: @179870
63171 /* 179870 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5107*/ GIMT_Encode4(179896), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22476 //
63172 /* 179877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63173 /* 179881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63174 /* 179885 */ // (fp_to_sint_sat:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src, i64:{ *:[Other] }) => (VCVTTPS2QQSZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
63175 /* 179885 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2QQSZ256rr),
63176 /* 179890 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63177 /* 179894 */ GIR_RootConstrainSelectedInstOperands,
63178 /* 179895 */ // GIR_Coverage, 22476,
63179 /* 179895 */ GIR_Done,
63180 /* 179896 */ // Label 5107: @179896
63181 /* 179896 */ GIM_Reject,
63182 /* 179897 */ // Label 5105: @179897
63183 /* 179897 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5108*/ GIMT_Encode4(179923), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22464 //
63184 /* 179904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63185 /* 179908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63186 /* 179912 */ // (fp_to_sint_sat:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2QQSZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
63187 /* 179912 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2QQSZ256rr),
63188 /* 179917 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63189 /* 179921 */ GIR_RootConstrainSelectedInstOperands,
63190 /* 179922 */ // GIR_Coverage, 22464,
63191 /* 179922 */ GIR_Done,
63192 /* 179923 */ // Label 5108: @179923
63193 /* 179923 */ GIM_Reject,
63194 /* 179924 */ // Label 5106: @179924
63195 /* 179924 */ GIM_Reject,
63196 /* 179925 */ // Label 5072: @179925
63197 /* 179925 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5111*/ GIMT_Encode4(180010),
63198 /* 179936 */ /*GILLT_v8s32*//*Label 5109*/ GIMT_Encode4(179956), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63199 /* 179952 */ /*GILLT_v8s64*//*Label 5110*/ GIMT_Encode4(179983),
63200 /* 179956 */ // Label 5109: @179956
63201 /* 179956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5112*/ GIMT_Encode4(179982), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22477 //
63202 /* 179963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63203 /* 179967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63204 /* 179971 */ // (fp_to_sint_sat:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src, i64:{ *:[Other] }) => (VCVTTPS2QQSZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
63205 /* 179971 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2QQSZrr),
63206 /* 179976 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63207 /* 179980 */ GIR_RootConstrainSelectedInstOperands,
63208 /* 179981 */ // GIR_Coverage, 22477,
63209 /* 179981 */ GIR_Done,
63210 /* 179982 */ // Label 5112: @179982
63211 /* 179982 */ GIM_Reject,
63212 /* 179983 */ // Label 5110: @179983
63213 /* 179983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5113*/ GIMT_Encode4(180009), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22465 //
63214 /* 179990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63215 /* 179994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63216 /* 179998 */ // (fp_to_sint_sat:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2QQSZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
63217 /* 179998 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2QQSZrr),
63218 /* 180003 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63219 /* 180007 */ GIR_RootConstrainSelectedInstOperands,
63220 /* 180008 */ // GIR_Coverage, 22465,
63221 /* 180008 */ GIR_Done,
63222 /* 180009 */ // Label 5113: @180009
63223 /* 180009 */ GIM_Reject,
63224 /* 180010 */ // Label 5111: @180010
63225 /* 180010 */ GIM_Reject,
63226 /* 180011 */ // Label 5073: @180011
63227 /* 180011 */ GIM_Reject,
63228 /* 180012 */ // Label 57: @180012
63229 /* 180012 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 5122*/ GIMT_Encode4(180891),
63230 /* 180023 */ /*GILLT_s32*//*Label 5114*/ GIMT_Encode4(180111),
63231 /* 180027 */ /*GILLT_s64*//*Label 5115*/ GIMT_Encode4(180299), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63232 /* 180087 */ /*GILLT_v4s32*//*Label 5116*/ GIMT_Encode4(180487),
63233 /* 180091 */ /*GILLT_v8s32*//*Label 5117*/ GIMT_Encode4(180573),
63234 /* 180095 */ /*GILLT_v16s32*//*Label 5118*/ GIMT_Encode4(180659),
63235 /* 180099 */ /*GILLT_v2s64*//*Label 5119*/ GIMT_Encode4(180689),
63236 /* 180103 */ /*GILLT_v4s64*//*Label 5120*/ GIMT_Encode4(180719),
63237 /* 180107 */ /*GILLT_v8s64*//*Label 5121*/ GIMT_Encode4(180805),
63238 /* 180111 */ // Label 5114: @180111
63239 /* 180111 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 5125*/ GIMT_Encode4(180298),
63240 /* 180122 */ /*GILLT_s32*//*Label 5123*/ GIMT_Encode4(180130),
63241 /* 180126 */ /*GILLT_s64*//*Label 5124*/ GIMT_Encode4(180214),
63242 /* 180130 */ // Label 5123: @180130
63243 /* 180130 */ GIM_Try, /*On fail goto*//*Label 5126*/ GIMT_Encode4(180213),
63244 /* 180135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63245 /* 180139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5127*/ GIMT_Encode4(180190), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16463 //
63246 /* 180146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63247 /* 180150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63248 /* 180154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63249 /* 180157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63250 /* 180161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63251 /* 180165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63252 /* 180167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63253 /* 180174 */ // (fp_to_uint_sat:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i32:{ *:[Other] }) => (VCVTTSS2USISrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63254 /* 180174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USISrm),
63255 /* 180177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63256 /* 180179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63257 /* 180183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63258 /* 180188 */ GIR_RootConstrainSelectedInstOperands,
63259 /* 180189 */ // GIR_Coverage, 16463,
63260 /* 180189 */ GIR_EraseRootFromParent_Done,
63261 /* 180190 */ // Label 5127: @180190
63262 /* 180190 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5128*/ GIMT_Encode4(180212), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16462 //
63263 /* 180197 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63264 /* 180201 */ // (fp_to_uint_sat:{ *:[i32] } FR32X:{ *:[f32] }:$src, i32:{ *:[Other] }) => (VCVTTSS2USISrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
63265 /* 180201 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USISrr),
63266 /* 180206 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63267 /* 180210 */ GIR_RootConstrainSelectedInstOperands,
63268 /* 180211 */ // GIR_Coverage, 16462,
63269 /* 180211 */ GIR_Done,
63270 /* 180212 */ // Label 5128: @180212
63271 /* 180212 */ GIM_Reject,
63272 /* 180213 */ // Label 5126: @180213
63273 /* 180213 */ GIM_Reject,
63274 /* 180214 */ // Label 5124: @180214
63275 /* 180214 */ GIM_Try, /*On fail goto*//*Label 5129*/ GIMT_Encode4(180297),
63276 /* 180219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63277 /* 180223 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5130*/ GIMT_Encode4(180274), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16477 //
63278 /* 180230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63279 /* 180234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63280 /* 180238 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63281 /* 180241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63282 /* 180245 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63283 /* 180249 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63284 /* 180251 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63285 /* 180258 */ // (fp_to_uint_sat:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i32:{ *:[Other] }) => (VCVTTSD2USISrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63286 /* 180258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USISrm),
63287 /* 180261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63288 /* 180263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63289 /* 180267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63290 /* 180272 */ GIR_RootConstrainSelectedInstOperands,
63291 /* 180273 */ // GIR_Coverage, 16477,
63292 /* 180273 */ GIR_EraseRootFromParent_Done,
63293 /* 180274 */ // Label 5130: @180274
63294 /* 180274 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5131*/ GIMT_Encode4(180296), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16476 //
63295 /* 180281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63296 /* 180285 */ // (fp_to_uint_sat:{ *:[i32] } FR64X:{ *:[f64] }:$src, i32:{ *:[Other] }) => (VCVTTSD2USISrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
63297 /* 180285 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USISrr),
63298 /* 180290 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63299 /* 180294 */ GIR_RootConstrainSelectedInstOperands,
63300 /* 180295 */ // GIR_Coverage, 16476,
63301 /* 180295 */ GIR_Done,
63302 /* 180296 */ // Label 5131: @180296
63303 /* 180296 */ GIM_Reject,
63304 /* 180297 */ // Label 5129: @180297
63305 /* 180297 */ GIM_Reject,
63306 /* 180298 */ // Label 5125: @180298
63307 /* 180298 */ GIM_Reject,
63308 /* 180299 */ // Label 5115: @180299
63309 /* 180299 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 5134*/ GIMT_Encode4(180486),
63310 /* 180310 */ /*GILLT_s32*//*Label 5132*/ GIMT_Encode4(180318),
63311 /* 180314 */ /*GILLT_s64*//*Label 5133*/ GIMT_Encode4(180402),
63312 /* 180318 */ // Label 5132: @180318
63313 /* 180318 */ GIM_Try, /*On fail goto*//*Label 5135*/ GIMT_Encode4(180401),
63314 /* 180323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63315 /* 180327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5136*/ GIMT_Encode4(180378), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16470 //
63316 /* 180334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63317 /* 180338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63318 /* 180342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63319 /* 180345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63320 /* 180349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63321 /* 180353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63322 /* 180355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63323 /* 180362 */ // (fp_to_uint_sat:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i64:{ *:[Other] }) => (VCVTTSS2USI64Srm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63324 /* 180362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Srm),
63325 /* 180365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63326 /* 180367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63327 /* 180371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63328 /* 180376 */ GIR_RootConstrainSelectedInstOperands,
63329 /* 180377 */ // GIR_Coverage, 16470,
63330 /* 180377 */ GIR_EraseRootFromParent_Done,
63331 /* 180378 */ // Label 5136: @180378
63332 /* 180378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5137*/ GIMT_Encode4(180400), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16469 //
63333 /* 180385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63334 /* 180389 */ // (fp_to_uint_sat:{ *:[i64] } FR32X:{ *:[f32] }:$src, i64:{ *:[Other] }) => (VCVTTSS2USI64Srr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
63335 /* 180389 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Srr),
63336 /* 180394 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63337 /* 180398 */ GIR_RootConstrainSelectedInstOperands,
63338 /* 180399 */ // GIR_Coverage, 16469,
63339 /* 180399 */ GIR_Done,
63340 /* 180400 */ // Label 5137: @180400
63341 /* 180400 */ GIM_Reject,
63342 /* 180401 */ // Label 5135: @180401
63343 /* 180401 */ GIM_Reject,
63344 /* 180402 */ // Label 5133: @180402
63345 /* 180402 */ GIM_Try, /*On fail goto*//*Label 5138*/ GIMT_Encode4(180485),
63346 /* 180407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63347 /* 180411 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5139*/ GIMT_Encode4(180462), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16484 //
63348 /* 180418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63349 /* 180422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63350 /* 180426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63351 /* 180429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63352 /* 180433 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63353 /* 180437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63354 /* 180439 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63355 /* 180446 */ // (fp_to_uint_sat:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i64:{ *:[Other] }) => (VCVTTSD2USI64Srm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63356 /* 180446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Srm),
63357 /* 180449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63358 /* 180451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63359 /* 180455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63360 /* 180460 */ GIR_RootConstrainSelectedInstOperands,
63361 /* 180461 */ // GIR_Coverage, 16484,
63362 /* 180461 */ GIR_EraseRootFromParent_Done,
63363 /* 180462 */ // Label 5139: @180462
63364 /* 180462 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5140*/ GIMT_Encode4(180484), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16483 //
63365 /* 180469 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63366 /* 180473 */ // (fp_to_uint_sat:{ *:[i64] } FR64X:{ *:[f64] }:$src, i64:{ *:[Other] }) => (VCVTTSD2USI64Srr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
63367 /* 180473 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Srr),
63368 /* 180478 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63369 /* 180482 */ GIR_RootConstrainSelectedInstOperands,
63370 /* 180483 */ // GIR_Coverage, 16483,
63371 /* 180483 */ GIR_Done,
63372 /* 180484 */ // Label 5140: @180484
63373 /* 180484 */ GIM_Reject,
63374 /* 180485 */ // Label 5138: @180485
63375 /* 180485 */ GIM_Reject,
63376 /* 180486 */ // Label 5134: @180486
63377 /* 180486 */ GIM_Reject,
63378 /* 180487 */ // Label 5116: @180487
63379 /* 180487 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5143*/ GIMT_Encode4(180572),
63380 /* 180498 */ /*GILLT_v4s32*//*Label 5141*/ GIMT_Encode4(180518), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63381 /* 180514 */ /*GILLT_v4s64*//*Label 5142*/ GIMT_Encode4(180545),
63382 /* 180518 */ // Label 5141: @180518
63383 /* 180518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5144*/ GIMT_Encode4(180544), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22478 //
63384 /* 180525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63385 /* 180529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63386 /* 180533 */ // (fp_to_uint_sat:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2UDQSZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
63387 /* 180533 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UDQSZ128rr),
63388 /* 180538 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63389 /* 180542 */ GIR_RootConstrainSelectedInstOperands,
63390 /* 180543 */ // GIR_Coverage, 22478,
63391 /* 180543 */ GIR_Done,
63392 /* 180544 */ // Label 5144: @180544
63393 /* 180544 */ GIM_Reject,
63394 /* 180545 */ // Label 5142: @180545
63395 /* 180545 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5145*/ GIMT_Encode4(180571), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22467 //
63396 /* 180552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63397 /* 180556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63398 /* 180560 */ // (fp_to_uint_sat:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src, i32:{ *:[Other] }) => (VCVTTPD2UDQSZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
63399 /* 180560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UDQSZ256rr),
63400 /* 180565 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63401 /* 180569 */ GIR_RootConstrainSelectedInstOperands,
63402 /* 180570 */ // GIR_Coverage, 22467,
63403 /* 180570 */ GIR_Done,
63404 /* 180571 */ // Label 5145: @180571
63405 /* 180571 */ GIM_Reject,
63406 /* 180572 */ // Label 5143: @180572
63407 /* 180572 */ GIM_Reject,
63408 /* 180573 */ // Label 5117: @180573
63409 /* 180573 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5148*/ GIMT_Encode4(180658),
63410 /* 180584 */ /*GILLT_v8s32*//*Label 5146*/ GIMT_Encode4(180604), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63411 /* 180600 */ /*GILLT_v8s64*//*Label 5147*/ GIMT_Encode4(180631),
63412 /* 180604 */ // Label 5146: @180604
63413 /* 180604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5149*/ GIMT_Encode4(180630), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22479 //
63414 /* 180611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63415 /* 180615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63416 /* 180619 */ // (fp_to_uint_sat:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2UDQSZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
63417 /* 180619 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UDQSZ256rr),
63418 /* 180624 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63419 /* 180628 */ GIR_RootConstrainSelectedInstOperands,
63420 /* 180629 */ // GIR_Coverage, 22479,
63421 /* 180629 */ GIR_Done,
63422 /* 180630 */ // Label 5149: @180630
63423 /* 180630 */ GIM_Reject,
63424 /* 180631 */ // Label 5147: @180631
63425 /* 180631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5150*/ GIMT_Encode4(180657), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22468 //
63426 /* 180638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63427 /* 180642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63428 /* 180646 */ // (fp_to_uint_sat:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src, i32:{ *:[Other] }) => (VCVTTPD2UDQSZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
63429 /* 180646 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UDQSZrr),
63430 /* 180651 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63431 /* 180655 */ GIR_RootConstrainSelectedInstOperands,
63432 /* 180656 */ // GIR_Coverage, 22468,
63433 /* 180656 */ GIR_Done,
63434 /* 180657 */ // Label 5150: @180657
63435 /* 180657 */ GIM_Reject,
63436 /* 180658 */ // Label 5148: @180658
63437 /* 180658 */ GIM_Reject,
63438 /* 180659 */ // Label 5118: @180659
63439 /* 180659 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5151*/ GIMT_Encode4(180688), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22480 //
63440 /* 180666 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63441 /* 180669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63442 /* 180673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63443 /* 180677 */ // (fp_to_uint_sat:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2UDQSZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
63444 /* 180677 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UDQSZrr),
63445 /* 180682 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63446 /* 180686 */ GIR_RootConstrainSelectedInstOperands,
63447 /* 180687 */ // GIR_Coverage, 22480,
63448 /* 180687 */ GIR_Done,
63449 /* 180688 */ // Label 5151: @180688
63450 /* 180688 */ GIM_Reject,
63451 /* 180689 */ // Label 5119: @180689
63452 /* 180689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5152*/ GIMT_Encode4(180718), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22469 //
63453 /* 180696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
63454 /* 180699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63455 /* 180703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63456 /* 180707 */ // (fp_to_uint_sat:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2UQQSZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
63457 /* 180707 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UQQSZ128rr),
63458 /* 180712 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63459 /* 180716 */ GIR_RootConstrainSelectedInstOperands,
63460 /* 180717 */ // GIR_Coverage, 22469,
63461 /* 180717 */ GIR_Done,
63462 /* 180718 */ // Label 5152: @180718
63463 /* 180718 */ GIM_Reject,
63464 /* 180719 */ // Label 5120: @180719
63465 /* 180719 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5155*/ GIMT_Encode4(180804),
63466 /* 180730 */ /*GILLT_v4s32*//*Label 5153*/ GIMT_Encode4(180750), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63467 /* 180746 */ /*GILLT_v4s64*//*Label 5154*/ GIMT_Encode4(180777),
63468 /* 180750 */ // Label 5153: @180750
63469 /* 180750 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5156*/ GIMT_Encode4(180776), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22482 //
63470 /* 180757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63471 /* 180761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63472 /* 180765 */ // (fp_to_uint_sat:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src, i64:{ *:[Other] }) => (VCVTTPS2UQQSZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
63473 /* 180765 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UQQSZ256rr),
63474 /* 180770 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63475 /* 180774 */ GIR_RootConstrainSelectedInstOperands,
63476 /* 180775 */ // GIR_Coverage, 22482,
63477 /* 180775 */ GIR_Done,
63478 /* 180776 */ // Label 5156: @180776
63479 /* 180776 */ GIM_Reject,
63480 /* 180777 */ // Label 5154: @180777
63481 /* 180777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5157*/ GIMT_Encode4(180803), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22470 //
63482 /* 180784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63483 /* 180788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63484 /* 180792 */ // (fp_to_uint_sat:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2UQQSZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
63485 /* 180792 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UQQSZ256rr),
63486 /* 180797 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63487 /* 180801 */ GIR_RootConstrainSelectedInstOperands,
63488 /* 180802 */ // GIR_Coverage, 22470,
63489 /* 180802 */ GIR_Done,
63490 /* 180803 */ // Label 5157: @180803
63491 /* 180803 */ GIM_Reject,
63492 /* 180804 */ // Label 5155: @180804
63493 /* 180804 */ GIM_Reject,
63494 /* 180805 */ // Label 5121: @180805
63495 /* 180805 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5160*/ GIMT_Encode4(180890),
63496 /* 180816 */ /*GILLT_v8s32*//*Label 5158*/ GIMT_Encode4(180836), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63497 /* 180832 */ /*GILLT_v8s64*//*Label 5159*/ GIMT_Encode4(180863),
63498 /* 180836 */ // Label 5158: @180836
63499 /* 180836 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5161*/ GIMT_Encode4(180862), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22483 //
63500 /* 180843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63501 /* 180847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63502 /* 180851 */ // (fp_to_uint_sat:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src, i64:{ *:[Other] }) => (VCVTTPS2UQQSZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
63503 /* 180851 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UQQSZrr),
63504 /* 180856 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63505 /* 180860 */ GIR_RootConstrainSelectedInstOperands,
63506 /* 180861 */ // GIR_Coverage, 22483,
63507 /* 180861 */ GIR_Done,
63508 /* 180862 */ // Label 5161: @180862
63509 /* 180862 */ GIM_Reject,
63510 /* 180863 */ // Label 5159: @180863
63511 /* 180863 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5162*/ GIMT_Encode4(180889), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22471 //
63512 /* 180870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63513 /* 180874 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63514 /* 180878 */ // (fp_to_uint_sat:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2UQQSZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
63515 /* 180878 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UQQSZrr),
63516 /* 180883 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63517 /* 180887 */ GIR_RootConstrainSelectedInstOperands,
63518 /* 180888 */ // GIR_Coverage, 22471,
63519 /* 180888 */ GIR_Done,
63520 /* 180889 */ // Label 5162: @180889
63521 /* 180889 */ GIM_Reject,
63522 /* 180890 */ // Label 5160: @180890
63523 /* 180890 */ GIM_Reject,
63524 /* 180891 */ // Label 5122: @180891
63525 /* 180891 */ GIM_Reject,
63526 /* 180892 */ // Label 58: @180892
63527 /* 180892 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5166*/ GIMT_Encode4(181011),
63528 /* 180903 */ /*GILLT_s32*//*Label 5163*/ GIMT_Encode4(180915),
63529 /* 180907 */ /*GILLT_s64*//*Label 5164*/ GIMT_Encode4(180947),
63530 /* 180911 */ /*GILLT_s80*//*Label 5165*/ GIMT_Encode4(180979),
63531 /* 180915 */ // Label 5163: @180915
63532 /* 180915 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5167*/ GIMT_Encode4(180946), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1021 //
63533 /* 180922 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63534 /* 180925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
63535 /* 180929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
63536 /* 180933 */ // (fabs:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (ABS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
63537 /* 180933 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp32),
63538 /* 180938 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
63539 /* 180944 */ GIR_RootConstrainSelectedInstOperands,
63540 /* 180945 */ // GIR_Coverage, 1021,
63541 /* 180945 */ GIR_Done,
63542 /* 180946 */ // Label 5167: @180946
63543 /* 180946 */ GIM_Reject,
63544 /* 180947 */ // Label 5164: @180947
63545 /* 180947 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5168*/ GIMT_Encode4(180978), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1022 //
63546 /* 180954 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63547 /* 180957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
63548 /* 180961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
63549 /* 180965 */ // (fabs:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (ABS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
63550 /* 180965 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp64),
63551 /* 180970 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
63552 /* 180976 */ GIR_RootConstrainSelectedInstOperands,
63553 /* 180977 */ // GIR_Coverage, 1022,
63554 /* 180977 */ GIR_Done,
63555 /* 180978 */ // Label 5168: @180978
63556 /* 180978 */ GIM_Reject,
63557 /* 180979 */ // Label 5165: @180979
63558 /* 180979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5169*/ GIMT_Encode4(181010), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1023 //
63559 /* 180986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
63560 /* 180989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
63561 /* 180993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
63562 /* 180997 */ // (fabs:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (ABS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
63563 /* 180997 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp80),
63564 /* 181002 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
63565 /* 181008 */ GIR_RootConstrainSelectedInstOperands,
63566 /* 181009 */ // GIR_Coverage, 1023,
63567 /* 181009 */ GIR_Done,
63568 /* 181010 */ // Label 5169: @181010
63569 /* 181010 */ GIM_Reject,
63570 /* 181011 */ // Label 5166: @181011
63571 /* 181011 */ GIM_Reject,
63572 /* 181012 */ // Label 59: @181012
63573 /* 181012 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5182*/ GIMT_Encode4(184243),
63574 /* 181023 */ /*GILLT_v16s8*//*Label 5170*/ GIMT_Encode4(181071),
63575 /* 181027 */ /*GILLT_v32s8*//*Label 5171*/ GIMT_Encode4(181400),
63576 /* 181031 */ /*GILLT_v64s8*//*Label 5172*/ GIMT_Encode4(181709),
63577 /* 181035 */ /*GILLT_v8s16*//*Label 5173*/ GIMT_Encode4(181864),
63578 /* 181039 */ /*GILLT_v16s16*//*Label 5174*/ GIMT_Encode4(182193),
63579 /* 181043 */ /*GILLT_v32s16*//*Label 5175*/ GIMT_Encode4(182502),
63580 /* 181047 */ /*GILLT_v4s32*//*Label 5176*/ GIMT_Encode4(182657),
63581 /* 181051 */ /*GILLT_v8s32*//*Label 5177*/ GIMT_Encode4(182986),
63582 /* 181055 */ /*GILLT_v16s32*//*Label 5178*/ GIMT_Encode4(183295),
63583 /* 181059 */ /*GILLT_v2s64*//*Label 5179*/ GIMT_Encode4(183450),
63584 /* 181063 */ /*GILLT_v4s64*//*Label 5180*/ GIMT_Encode4(183775),
63585 /* 181067 */ /*GILLT_v8s64*//*Label 5181*/ GIMT_Encode4(184088),
63586 /* 181071 */ // Label 5170: @181071
63587 /* 181071 */ GIM_Try, /*On fail goto*//*Label 5183*/ GIMT_Encode4(181399),
63588 /* 181076 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
63589 /* 181079 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
63590 /* 181082 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5184*/ GIMT_Encode4(181143), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23762 //
63591 /* 181089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63592 /* 181093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63593 /* 181097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63594 /* 181101 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63595 /* 181104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63596 /* 181108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63597 /* 181112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63598 /* 181116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63599 /* 181118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63600 /* 181125 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63601 /* 181125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
63602 /* 181128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63603 /* 181130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63604 /* 181132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63605 /* 181136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63606 /* 181141 */ GIR_RootConstrainSelectedInstOperands,
63607 /* 181142 */ // GIR_Coverage, 23762,
63608 /* 181142 */ GIR_EraseRootFromParent_Done,
63609 /* 181143 */ // Label 5184: @181143
63610 /* 181143 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5185*/ GIMT_Encode4(181204), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24291 //
63611 /* 181150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63612 /* 181154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63613 /* 181158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63614 /* 181162 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63615 /* 181165 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63616 /* 181169 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63617 /* 181173 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63618 /* 181177 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63619 /* 181179 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63620 /* 181186 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63621 /* 181186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
63622 /* 181189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63623 /* 181191 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63624 /* 181193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63625 /* 181197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63626 /* 181202 */ GIR_RootConstrainSelectedInstOperands,
63627 /* 181203 */ // GIR_Coverage, 24291,
63628 /* 181203 */ GIR_EraseRootFromParent_Done,
63629 /* 181204 */ // Label 5185: @181204
63630 /* 181204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5186*/ GIMT_Encode4(181265), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3184 //
63631 /* 181211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63632 /* 181215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63633 /* 181219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63634 /* 181223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63635 /* 181227 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63636 /* 181230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63637 /* 181234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63638 /* 181238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63639 /* 181240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63640 /* 181247 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63641 /* 181247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
63642 /* 181250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63643 /* 181252 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63644 /* 181254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63645 /* 181258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63646 /* 181263 */ GIR_RootConstrainSelectedInstOperands,
63647 /* 181264 */ // GIR_Coverage, 3184,
63648 /* 181264 */ GIR_EraseRootFromParent_Done,
63649 /* 181265 */ // Label 5186: @181265
63650 /* 181265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5187*/ GIMT_Encode4(181326), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5522 //
63651 /* 181272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63652 /* 181276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63653 /* 181280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63654 /* 181284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63655 /* 181288 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63656 /* 181291 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63657 /* 181295 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63658 /* 181299 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63659 /* 181301 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63660 /* 181308 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63661 /* 181308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
63662 /* 181311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63663 /* 181313 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63664 /* 181315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63665 /* 181319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63666 /* 181324 */ GIR_RootConstrainSelectedInstOperands,
63667 /* 181325 */ // GIR_Coverage, 5522,
63668 /* 181325 */ GIR_EraseRootFromParent_Done,
63669 /* 181326 */ // Label 5187: @181326
63670 /* 181326 */ GIM_Try, /*On fail goto*//*Label 5188*/ GIMT_Encode4(181372),
63671 /* 181331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63672 /* 181335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63673 /* 181339 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63674 /* 181343 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5189*/ GIMT_Encode4(181357), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3183 //
63675 /* 181350 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
63676 /* 181350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBrr),
63677 /* 181355 */ GIR_RootConstrainSelectedInstOperands,
63678 /* 181356 */ // GIR_Coverage, 3183,
63679 /* 181356 */ GIR_Done,
63680 /* 181357 */ // Label 5189: @181357
63681 /* 181357 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5190*/ GIMT_Encode4(181371), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3209 //
63682 /* 181364 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
63683 /* 181364 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSBrr),
63684 /* 181369 */ GIR_RootConstrainSelectedInstOperands,
63685 /* 181370 */ // GIR_Coverage, 3209,
63686 /* 181370 */ GIR_Done,
63687 /* 181371 */ // Label 5190: @181371
63688 /* 181371 */ GIM_Reject,
63689 /* 181372 */ // Label 5188: @181372
63690 /* 181372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5191*/ GIMT_Encode4(181398), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5519 //
63691 /* 181379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63692 /* 181383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63693 /* 181387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63694 /* 181391 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
63695 /* 181391 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rr),
63696 /* 181396 */ GIR_RootConstrainSelectedInstOperands,
63697 /* 181397 */ // GIR_Coverage, 5519,
63698 /* 181397 */ GIR_Done,
63699 /* 181398 */ // Label 5191: @181398
63700 /* 181398 */ GIM_Reject,
63701 /* 181399 */ // Label 5183: @181399
63702 /* 181399 */ GIM_Reject,
63703 /* 181400 */ // Label 5171: @181400
63704 /* 181400 */ GIM_Try, /*On fail goto*//*Label 5192*/ GIMT_Encode4(181708),
63705 /* 181405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
63706 /* 181408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
63707 /* 181411 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5193*/ GIMT_Encode4(181472), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23771 //
63708 /* 181418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63709 /* 181422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63710 /* 181426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63711 /* 181430 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63712 /* 181433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63713 /* 181437 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63714 /* 181441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63715 /* 181445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63716 /* 181447 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63717 /* 181454 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63718 /* 181454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
63719 /* 181457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63720 /* 181459 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63721 /* 181461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63722 /* 181465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63723 /* 181470 */ GIR_RootConstrainSelectedInstOperands,
63724 /* 181471 */ // GIR_Coverage, 23771,
63725 /* 181471 */ GIR_EraseRootFromParent_Done,
63726 /* 181472 */ // Label 5193: @181472
63727 /* 181472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5194*/ GIMT_Encode4(181533), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24288 //
63728 /* 181479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63729 /* 181483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63730 /* 181487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63731 /* 181491 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63732 /* 181494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63733 /* 181498 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63734 /* 181502 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63735 /* 181506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63736 /* 181508 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63737 /* 181515 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63738 /* 181515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
63739 /* 181518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63740 /* 181520 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63741 /* 181522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63742 /* 181526 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63743 /* 181531 */ GIR_RootConstrainSelectedInstOperands,
63744 /* 181532 */ // GIR_Coverage, 24288,
63745 /* 181532 */ GIR_EraseRootFromParent_Done,
63746 /* 181533 */ // Label 5194: @181533
63747 /* 181533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5195*/ GIMT_Encode4(181594), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3202 //
63748 /* 181540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63749 /* 181544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63750 /* 181548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63751 /* 181552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63752 /* 181556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63753 /* 181559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63754 /* 181563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63755 /* 181567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63756 /* 181569 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63757 /* 181576 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63758 /* 181576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
63759 /* 181579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63760 /* 181581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63761 /* 181583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63762 /* 181587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63763 /* 181592 */ GIR_RootConstrainSelectedInstOperands,
63764 /* 181593 */ // GIR_Coverage, 3202,
63765 /* 181593 */ GIR_EraseRootFromParent_Done,
63766 /* 181594 */ // Label 5195: @181594
63767 /* 181594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5196*/ GIMT_Encode4(181655), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5516 //
63768 /* 181601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63769 /* 181605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63770 /* 181609 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63771 /* 181613 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63772 /* 181617 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63773 /* 181620 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63774 /* 181624 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63775 /* 181628 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63776 /* 181630 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63777 /* 181637 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63778 /* 181637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
63779 /* 181640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63780 /* 181642 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63781 /* 181644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63782 /* 181648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63783 /* 181653 */ GIR_RootConstrainSelectedInstOperands,
63784 /* 181654 */ // GIR_Coverage, 5516,
63785 /* 181654 */ GIR_EraseRootFromParent_Done,
63786 /* 181655 */ // Label 5196: @181655
63787 /* 181655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5197*/ GIMT_Encode4(181681), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3201 //
63788 /* 181662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63789 /* 181666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63790 /* 181670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63791 /* 181674 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
63792 /* 181674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrr),
63793 /* 181679 */ GIR_RootConstrainSelectedInstOperands,
63794 /* 181680 */ // GIR_Coverage, 3201,
63795 /* 181680 */ GIR_Done,
63796 /* 181681 */ // Label 5197: @181681
63797 /* 181681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5198*/ GIMT_Encode4(181707), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5513 //
63798 /* 181688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63799 /* 181692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63800 /* 181696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63801 /* 181700 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
63802 /* 181700 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rr),
63803 /* 181705 */ GIR_RootConstrainSelectedInstOperands,
63804 /* 181706 */ // GIR_Coverage, 5513,
63805 /* 181706 */ GIR_Done,
63806 /* 181707 */ // Label 5198: @181707
63807 /* 181707 */ GIM_Reject,
63808 /* 181708 */ // Label 5192: @181708
63809 /* 181708 */ GIM_Reject,
63810 /* 181709 */ // Label 5172: @181709
63811 /* 181709 */ GIM_Try, /*On fail goto*//*Label 5199*/ GIMT_Encode4(181863),
63812 /* 181714 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
63813 /* 181717 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
63814 /* 181720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63815 /* 181724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5200*/ GIMT_Encode4(181781), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24285 //
63816 /* 181731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63817 /* 181735 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63818 /* 181739 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63819 /* 181742 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63820 /* 181746 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63821 /* 181750 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63822 /* 181754 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63823 /* 181756 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63824 /* 181763 */ // (smin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63825 /* 181763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
63826 /* 181766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63827 /* 181768 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63828 /* 181770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63829 /* 181774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63830 /* 181779 */ GIR_RootConstrainSelectedInstOperands,
63831 /* 181780 */ // GIR_Coverage, 24285,
63832 /* 181780 */ GIR_EraseRootFromParent_Done,
63833 /* 181781 */ // Label 5200: @181781
63834 /* 181781 */ GIM_Try, /*On fail goto*//*Label 5201*/ GIMT_Encode4(181862),
63835 /* 181786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63836 /* 181790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5202*/ GIMT_Encode4(181843), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5510 //
63837 /* 181797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63838 /* 181801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63839 /* 181805 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63840 /* 181808 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63841 /* 181812 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63842 /* 181816 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63843 /* 181818 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63844 /* 181825 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63845 /* 181825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
63846 /* 181828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63847 /* 181830 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63848 /* 181832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63849 /* 181836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63850 /* 181841 */ GIR_RootConstrainSelectedInstOperands,
63851 /* 181842 */ // GIR_Coverage, 5510,
63852 /* 181842 */ GIR_EraseRootFromParent_Done,
63853 /* 181843 */ // Label 5202: @181843
63854 /* 181843 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5203*/ GIMT_Encode4(181861), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5507 //
63855 /* 181850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63856 /* 181854 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
63857 /* 181854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrr),
63858 /* 181859 */ GIR_RootConstrainSelectedInstOperands,
63859 /* 181860 */ // GIR_Coverage, 5507,
63860 /* 181860 */ GIR_Done,
63861 /* 181861 */ // Label 5203: @181861
63862 /* 181861 */ GIM_Reject,
63863 /* 181862 */ // Label 5201: @181862
63864 /* 181862 */ GIM_Reject,
63865 /* 181863 */ // Label 5199: @181863
63866 /* 181863 */ GIM_Reject,
63867 /* 181864 */ // Label 5173: @181864
63868 /* 181864 */ GIM_Try, /*On fail goto*//*Label 5204*/ GIMT_Encode4(182192),
63869 /* 181869 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63870 /* 181872 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
63871 /* 181875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5205*/ GIMT_Encode4(181936), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23721 //
63872 /* 181882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63873 /* 181886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63874 /* 181890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63875 /* 181894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63876 /* 181897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63877 /* 181901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63878 /* 181905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63879 /* 181909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63880 /* 181911 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63881 /* 181918 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63882 /* 181918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
63883 /* 181921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63884 /* 181923 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63885 /* 181925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63886 /* 181929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63887 /* 181934 */ GIR_RootConstrainSelectedInstOperands,
63888 /* 181935 */ // GIR_Coverage, 23721,
63889 /* 181935 */ GIR_EraseRootFromParent_Done,
63890 /* 181936 */ // Label 5205: @181936
63891 /* 181936 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5206*/ GIMT_Encode4(181997), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24300 //
63892 /* 181943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63893 /* 181947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63894 /* 181951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63895 /* 181955 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63896 /* 181958 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63897 /* 181962 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63898 /* 181966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63899 /* 181970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63900 /* 181972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63901 /* 181979 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63902 /* 181979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
63903 /* 181982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63904 /* 181984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63905 /* 181986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63906 /* 181990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63907 /* 181995 */ GIR_RootConstrainSelectedInstOperands,
63908 /* 181996 */ // GIR_Coverage, 24300,
63909 /* 181996 */ GIR_EraseRootFromParent_Done,
63910 /* 181997 */ // Label 5206: @181997
63911 /* 181997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5207*/ GIMT_Encode4(182058), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2625 //
63912 /* 182004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63913 /* 182008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63914 /* 182012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63915 /* 182016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63916 /* 182020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63917 /* 182023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63918 /* 182027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63919 /* 182031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63920 /* 182033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63921 /* 182040 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63922 /* 182040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
63923 /* 182043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63924 /* 182045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63925 /* 182047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63926 /* 182051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63927 /* 182056 */ GIR_RootConstrainSelectedInstOperands,
63928 /* 182057 */ // GIR_Coverage, 2625,
63929 /* 182057 */ GIR_EraseRootFromParent_Done,
63930 /* 182058 */ // Label 5207: @182058
63931 /* 182058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5208*/ GIMT_Encode4(182119), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5540 //
63932 /* 182065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63933 /* 182069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63934 /* 182073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63935 /* 182077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63936 /* 182081 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63937 /* 182084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63938 /* 182088 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63939 /* 182092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63940 /* 182094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63941 /* 182101 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63942 /* 182101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
63943 /* 182104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63944 /* 182106 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63945 /* 182108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63946 /* 182112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63947 /* 182117 */ GIR_RootConstrainSelectedInstOperands,
63948 /* 182118 */ // GIR_Coverage, 5540,
63949 /* 182118 */ GIR_EraseRootFromParent_Done,
63950 /* 182119 */ // Label 5208: @182119
63951 /* 182119 */ GIM_Try, /*On fail goto*//*Label 5209*/ GIMT_Encode4(182165),
63952 /* 182124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63953 /* 182128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63954 /* 182132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63955 /* 182136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5210*/ GIMT_Encode4(182150), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2624 //
63956 /* 182143 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
63957 /* 182143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWrr),
63958 /* 182148 */ GIR_RootConstrainSelectedInstOperands,
63959 /* 182149 */ // GIR_Coverage, 2624,
63960 /* 182149 */ GIR_Done,
63961 /* 182150 */ // Label 5210: @182150
63962 /* 182150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5211*/ GIMT_Encode4(182164), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2626 //
63963 /* 182157 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
63964 /* 182157 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSWrr),
63965 /* 182162 */ GIR_RootConstrainSelectedInstOperands,
63966 /* 182163 */ // GIR_Coverage, 2626,
63967 /* 182163 */ GIR_Done,
63968 /* 182164 */ // Label 5211: @182164
63969 /* 182164 */ GIM_Reject,
63970 /* 182165 */ // Label 5209: @182165
63971 /* 182165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5212*/ GIMT_Encode4(182191), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5537 //
63972 /* 182172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63973 /* 182176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63974 /* 182180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63975 /* 182184 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
63976 /* 182184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rr),
63977 /* 182189 */ GIR_RootConstrainSelectedInstOperands,
63978 /* 182190 */ // GIR_Coverage, 5537,
63979 /* 182190 */ GIR_Done,
63980 /* 182191 */ // Label 5212: @182191
63981 /* 182191 */ GIM_Reject,
63982 /* 182192 */ // Label 5204: @182192
63983 /* 182192 */ GIM_Reject,
63984 /* 182193 */ // Label 5174: @182193
63985 /* 182193 */ GIM_Try, /*On fail goto*//*Label 5213*/ GIMT_Encode4(182501),
63986 /* 182198 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
63987 /* 182201 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
63988 /* 182204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5214*/ GIMT_Encode4(182265), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23723 //
63989 /* 182211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63990 /* 182215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63991 /* 182219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63992 /* 182223 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63993 /* 182226 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63994 /* 182230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63995 /* 182234 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63996 /* 182238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63997 /* 182240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63998 /* 182247 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63999 /* 182247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
64000 /* 182250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64001 /* 182252 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64002 /* 182254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64003 /* 182258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64004 /* 182263 */ GIR_RootConstrainSelectedInstOperands,
64005 /* 182264 */ // GIR_Coverage, 23723,
64006 /* 182264 */ GIR_EraseRootFromParent_Done,
64007 /* 182265 */ // Label 5214: @182265
64008 /* 182265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5215*/ GIMT_Encode4(182326), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24297 //
64009 /* 182272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64010 /* 182276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64011 /* 182280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64012 /* 182284 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64013 /* 182287 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64014 /* 182291 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64015 /* 182295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64016 /* 182299 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64017 /* 182301 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64018 /* 182308 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64019 /* 182308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
64020 /* 182311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64021 /* 182313 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64022 /* 182315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64023 /* 182319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64024 /* 182324 */ GIR_RootConstrainSelectedInstOperands,
64025 /* 182325 */ // GIR_Coverage, 24297,
64026 /* 182325 */ GIR_EraseRootFromParent_Done,
64027 /* 182326 */ // Label 5215: @182326
64028 /* 182326 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5216*/ GIMT_Encode4(182387), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2629 //
64029 /* 182333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64030 /* 182337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64031 /* 182341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64032 /* 182345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64033 /* 182349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64034 /* 182352 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64035 /* 182356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64036 /* 182360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64037 /* 182362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64038 /* 182369 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64039 /* 182369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
64040 /* 182372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64041 /* 182374 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64042 /* 182376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64043 /* 182380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64044 /* 182385 */ GIR_RootConstrainSelectedInstOperands,
64045 /* 182386 */ // GIR_Coverage, 2629,
64046 /* 182386 */ GIR_EraseRootFromParent_Done,
64047 /* 182387 */ // Label 5216: @182387
64048 /* 182387 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5217*/ GIMT_Encode4(182448), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5534 //
64049 /* 182394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64050 /* 182398 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64051 /* 182402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64052 /* 182406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64053 /* 182410 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64054 /* 182413 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64055 /* 182417 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64056 /* 182421 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64057 /* 182423 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64058 /* 182430 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64059 /* 182430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
64060 /* 182433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64061 /* 182435 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64062 /* 182437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64063 /* 182441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64064 /* 182446 */ GIR_RootConstrainSelectedInstOperands,
64065 /* 182447 */ // GIR_Coverage, 5534,
64066 /* 182447 */ GIR_EraseRootFromParent_Done,
64067 /* 182448 */ // Label 5217: @182448
64068 /* 182448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5218*/ GIMT_Encode4(182474), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2628 //
64069 /* 182455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64070 /* 182459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64071 /* 182463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64072 /* 182467 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
64073 /* 182467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrr),
64074 /* 182472 */ GIR_RootConstrainSelectedInstOperands,
64075 /* 182473 */ // GIR_Coverage, 2628,
64076 /* 182473 */ GIR_Done,
64077 /* 182474 */ // Label 5218: @182474
64078 /* 182474 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5219*/ GIMT_Encode4(182500), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5531 //
64079 /* 182481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64080 /* 182485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64081 /* 182489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64082 /* 182493 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
64083 /* 182493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rr),
64084 /* 182498 */ GIR_RootConstrainSelectedInstOperands,
64085 /* 182499 */ // GIR_Coverage, 5531,
64086 /* 182499 */ GIR_Done,
64087 /* 182500 */ // Label 5219: @182500
64088 /* 182500 */ GIM_Reject,
64089 /* 182501 */ // Label 5213: @182501
64090 /* 182501 */ GIM_Reject,
64091 /* 182502 */ // Label 5175: @182502
64092 /* 182502 */ GIM_Try, /*On fail goto*//*Label 5220*/ GIMT_Encode4(182656),
64093 /* 182507 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
64094 /* 182510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
64095 /* 182513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64096 /* 182517 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5221*/ GIMT_Encode4(182574), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24294 //
64097 /* 182524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64098 /* 182528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64099 /* 182532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64100 /* 182535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64101 /* 182539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64102 /* 182543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64103 /* 182547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64104 /* 182549 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64105 /* 182556 */ // (smin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64106 /* 182556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
64107 /* 182559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64108 /* 182561 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64109 /* 182563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64110 /* 182567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64111 /* 182572 */ GIR_RootConstrainSelectedInstOperands,
64112 /* 182573 */ // GIR_Coverage, 24294,
64113 /* 182573 */ GIR_EraseRootFromParent_Done,
64114 /* 182574 */ // Label 5221: @182574
64115 /* 182574 */ GIM_Try, /*On fail goto*//*Label 5222*/ GIMT_Encode4(182655),
64116 /* 182579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64117 /* 182583 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5223*/ GIMT_Encode4(182636), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5528 //
64118 /* 182590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64119 /* 182594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64120 /* 182598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64121 /* 182601 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64122 /* 182605 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64123 /* 182609 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64124 /* 182611 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64125 /* 182618 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64126 /* 182618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
64127 /* 182621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64128 /* 182623 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64129 /* 182625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64130 /* 182629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64131 /* 182634 */ GIR_RootConstrainSelectedInstOperands,
64132 /* 182635 */ // GIR_Coverage, 5528,
64133 /* 182635 */ GIR_EraseRootFromParent_Done,
64134 /* 182636 */ // Label 5223: @182636
64135 /* 182636 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5224*/ GIMT_Encode4(182654), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5525 //
64136 /* 182643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64137 /* 182647 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
64138 /* 182647 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrr),
64139 /* 182652 */ GIR_RootConstrainSelectedInstOperands,
64140 /* 182653 */ // GIR_Coverage, 5525,
64141 /* 182653 */ GIR_Done,
64142 /* 182654 */ // Label 5224: @182654
64143 /* 182654 */ GIM_Reject,
64144 /* 182655 */ // Label 5222: @182655
64145 /* 182655 */ GIM_Reject,
64146 /* 182656 */ // Label 5220: @182656
64147 /* 182656 */ GIM_Reject,
64148 /* 182657 */ // Label 5176: @182657
64149 /* 182657 */ GIM_Try, /*On fail goto*//*Label 5225*/ GIMT_Encode4(182985),
64150 /* 182662 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64151 /* 182665 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
64152 /* 182668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5226*/ GIMT_Encode4(182729), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23757 //
64153 /* 182675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64154 /* 182679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64155 /* 182683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64156 /* 182687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64157 /* 182690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64158 /* 182694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64159 /* 182698 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64160 /* 182702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64161 /* 182704 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64162 /* 182711 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64163 /* 182711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
64164 /* 182714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64165 /* 182716 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64166 /* 182718 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64167 /* 182722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64168 /* 182727 */ GIR_RootConstrainSelectedInstOperands,
64169 /* 182728 */ // GIR_Coverage, 23757,
64170 /* 182728 */ GIR_EraseRootFromParent_Done,
64171 /* 182729 */ // Label 5226: @182729
64172 /* 182729 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5227*/ GIMT_Encode4(182790), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24315 //
64173 /* 182736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64174 /* 182740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64175 /* 182744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64176 /* 182748 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64177 /* 182751 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64178 /* 182755 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64179 /* 182759 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64180 /* 182763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64181 /* 182765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64182 /* 182772 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64183 /* 182772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
64184 /* 182775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64185 /* 182777 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64186 /* 182779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64187 /* 182783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64188 /* 182788 */ GIR_RootConstrainSelectedInstOperands,
64189 /* 182789 */ // GIR_Coverage, 24315,
64190 /* 182789 */ GIR_EraseRootFromParent_Done,
64191 /* 182790 */ // Label 5227: @182790
64192 /* 182790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5228*/ GIMT_Encode4(182851), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3174 //
64193 /* 182797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64194 /* 182801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64195 /* 182805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64196 /* 182809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64197 /* 182813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64198 /* 182816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64199 /* 182820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64200 /* 182824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64201 /* 182826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64202 /* 182833 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64203 /* 182833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
64204 /* 182836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64205 /* 182838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64206 /* 182840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64207 /* 182844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64208 /* 182849 */ GIR_RootConstrainSelectedInstOperands,
64209 /* 182850 */ // GIR_Coverage, 3174,
64210 /* 182850 */ GIR_EraseRootFromParent_Done,
64211 /* 182851 */ // Label 5228: @182851
64212 /* 182851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5229*/ GIMT_Encode4(182912), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5564 //
64213 /* 182858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64214 /* 182862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64215 /* 182866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64216 /* 182870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64217 /* 182874 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64218 /* 182877 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64219 /* 182881 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64220 /* 182885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64221 /* 182887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64222 /* 182894 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64223 /* 182894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
64224 /* 182897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64225 /* 182899 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64226 /* 182901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64227 /* 182905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64228 /* 182910 */ GIR_RootConstrainSelectedInstOperands,
64229 /* 182911 */ // GIR_Coverage, 5564,
64230 /* 182911 */ GIR_EraseRootFromParent_Done,
64231 /* 182912 */ // Label 5229: @182912
64232 /* 182912 */ GIM_Try, /*On fail goto*//*Label 5230*/ GIMT_Encode4(182958),
64233 /* 182917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64234 /* 182921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64235 /* 182925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64236 /* 182929 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5231*/ GIMT_Encode4(182943), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3173 //
64237 /* 182936 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
64238 /* 182936 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDrr),
64239 /* 182941 */ GIR_RootConstrainSelectedInstOperands,
64240 /* 182942 */ // GIR_Coverage, 3173,
64241 /* 182942 */ GIR_Done,
64242 /* 182943 */ // Label 5231: @182943
64243 /* 182943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5232*/ GIMT_Encode4(182957), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3211 //
64244 /* 182950 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
64245 /* 182950 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSDrr),
64246 /* 182955 */ GIR_RootConstrainSelectedInstOperands,
64247 /* 182956 */ // GIR_Coverage, 3211,
64248 /* 182956 */ GIR_Done,
64249 /* 182957 */ // Label 5232: @182957
64250 /* 182957 */ GIM_Reject,
64251 /* 182958 */ // Label 5230: @182958
64252 /* 182958 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5233*/ GIMT_Encode4(182984), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5561 //
64253 /* 182965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64254 /* 182969 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64255 /* 182973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64256 /* 182977 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
64257 /* 182977 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rr),
64258 /* 182982 */ GIR_RootConstrainSelectedInstOperands,
64259 /* 182983 */ // GIR_Coverage, 5561,
64260 /* 182983 */ GIR_Done,
64261 /* 182984 */ // Label 5233: @182984
64262 /* 182984 */ GIM_Reject,
64263 /* 182985 */ // Label 5225: @182985
64264 /* 182985 */ GIM_Reject,
64265 /* 182986 */ // Label 5177: @182986
64266 /* 182986 */ GIM_Try, /*On fail goto*//*Label 5234*/ GIMT_Encode4(183294),
64267 /* 182991 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64268 /* 182994 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
64269 /* 182997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5235*/ GIMT_Encode4(183058), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23766 //
64270 /* 183004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64271 /* 183008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64272 /* 183012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64273 /* 183016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64274 /* 183019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64275 /* 183023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64276 /* 183027 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64277 /* 183031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64278 /* 183033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64279 /* 183040 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64280 /* 183040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
64281 /* 183043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64282 /* 183045 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64283 /* 183047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64284 /* 183051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64285 /* 183056 */ GIR_RootConstrainSelectedInstOperands,
64286 /* 183057 */ // GIR_Coverage, 23766,
64287 /* 183057 */ GIR_EraseRootFromParent_Done,
64288 /* 183058 */ // Label 5235: @183058
64289 /* 183058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5236*/ GIMT_Encode4(183119), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24309 //
64290 /* 183065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64291 /* 183069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64292 /* 183073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64293 /* 183077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64294 /* 183080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64295 /* 183084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64296 /* 183088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64297 /* 183092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64298 /* 183094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64299 /* 183101 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64300 /* 183101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
64301 /* 183104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64302 /* 183106 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64303 /* 183108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64304 /* 183112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64305 /* 183117 */ GIR_RootConstrainSelectedInstOperands,
64306 /* 183118 */ // GIR_Coverage, 24309,
64307 /* 183118 */ GIR_EraseRootFromParent_Done,
64308 /* 183119 */ // Label 5236: @183119
64309 /* 183119 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5237*/ GIMT_Encode4(183180), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3192 //
64310 /* 183126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64311 /* 183130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64312 /* 183134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64313 /* 183138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64314 /* 183142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64315 /* 183145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64316 /* 183149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64317 /* 183153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64318 /* 183155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64319 /* 183162 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64320 /* 183162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
64321 /* 183165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64322 /* 183167 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64323 /* 183169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64324 /* 183173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64325 /* 183178 */ GIR_RootConstrainSelectedInstOperands,
64326 /* 183179 */ // GIR_Coverage, 3192,
64327 /* 183179 */ GIR_EraseRootFromParent_Done,
64328 /* 183180 */ // Label 5237: @183180
64329 /* 183180 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5238*/ GIMT_Encode4(183241), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5555 //
64330 /* 183187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64331 /* 183191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64332 /* 183195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64333 /* 183199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64334 /* 183203 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64335 /* 183206 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64336 /* 183210 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64337 /* 183214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64338 /* 183216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64339 /* 183223 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64340 /* 183223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
64341 /* 183226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64342 /* 183228 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64343 /* 183230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64344 /* 183234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64345 /* 183239 */ GIR_RootConstrainSelectedInstOperands,
64346 /* 183240 */ // GIR_Coverage, 5555,
64347 /* 183240 */ GIR_EraseRootFromParent_Done,
64348 /* 183241 */ // Label 5238: @183241
64349 /* 183241 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5239*/ GIMT_Encode4(183267), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3191 //
64350 /* 183248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64351 /* 183252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64352 /* 183256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64353 /* 183260 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
64354 /* 183260 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrr),
64355 /* 183265 */ GIR_RootConstrainSelectedInstOperands,
64356 /* 183266 */ // GIR_Coverage, 3191,
64357 /* 183266 */ GIR_Done,
64358 /* 183267 */ // Label 5239: @183267
64359 /* 183267 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5240*/ GIMT_Encode4(183293), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5552 //
64360 /* 183274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64361 /* 183278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64362 /* 183282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64363 /* 183286 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
64364 /* 183286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rr),
64365 /* 183291 */ GIR_RootConstrainSelectedInstOperands,
64366 /* 183292 */ // GIR_Coverage, 5552,
64367 /* 183292 */ GIR_Done,
64368 /* 183293 */ // Label 5240: @183293
64369 /* 183293 */ GIM_Reject,
64370 /* 183294 */ // Label 5234: @183294
64371 /* 183294 */ GIM_Reject,
64372 /* 183295 */ // Label 5178: @183295
64373 /* 183295 */ GIM_Try, /*On fail goto*//*Label 5241*/ GIMT_Encode4(183449),
64374 /* 183300 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64375 /* 183303 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
64376 /* 183306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64377 /* 183310 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5242*/ GIMT_Encode4(183367), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24303 //
64378 /* 183317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64379 /* 183321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64380 /* 183325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64381 /* 183328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64382 /* 183332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64383 /* 183336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64384 /* 183340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64385 /* 183342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64386 /* 183349 */ // (smin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64387 /* 183349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
64388 /* 183352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64389 /* 183354 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64390 /* 183356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64391 /* 183360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64392 /* 183365 */ GIR_RootConstrainSelectedInstOperands,
64393 /* 183366 */ // GIR_Coverage, 24303,
64394 /* 183366 */ GIR_EraseRootFromParent_Done,
64395 /* 183367 */ // Label 5242: @183367
64396 /* 183367 */ GIM_Try, /*On fail goto*//*Label 5243*/ GIMT_Encode4(183448),
64397 /* 183372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64398 /* 183376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5244*/ GIMT_Encode4(183429), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5546 //
64399 /* 183383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64400 /* 183387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64401 /* 183391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64402 /* 183394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64403 /* 183398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64404 /* 183402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64405 /* 183404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64406 /* 183411 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64407 /* 183411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
64408 /* 183414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64409 /* 183416 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64410 /* 183418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64411 /* 183422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64412 /* 183427 */ GIR_RootConstrainSelectedInstOperands,
64413 /* 183428 */ // GIR_Coverage, 5546,
64414 /* 183428 */ GIR_EraseRootFromParent_Done,
64415 /* 183429 */ // Label 5244: @183429
64416 /* 183429 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5245*/ GIMT_Encode4(183447), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5543 //
64417 /* 183436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64418 /* 183440 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
64419 /* 183440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrr),
64420 /* 183445 */ GIR_RootConstrainSelectedInstOperands,
64421 /* 183446 */ // GIR_Coverage, 5543,
64422 /* 183446 */ GIR_Done,
64423 /* 183447 */ // Label 5245: @183447
64424 /* 183447 */ GIM_Reject,
64425 /* 183448 */ // Label 5243: @183448
64426 /* 183448 */ GIM_Reject,
64427 /* 183449 */ // Label 5241: @183449
64428 /* 183449 */ GIM_Reject,
64429 /* 183450 */ // Label 5179: @183450
64430 /* 183450 */ GIM_Try, /*On fail goto*//*Label 5246*/ GIMT_Encode4(183774),
64431 /* 183455 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
64432 /* 183458 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
64433 /* 183461 */ GIM_Try, /*On fail goto*//*Label 5247*/ GIMT_Encode4(183609),
64434 /* 183466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64435 /* 183470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5248*/ GIMT_Encode4(183527), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24333 //
64436 /* 183477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64437 /* 183481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64438 /* 183485 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64439 /* 183488 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64440 /* 183492 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64441 /* 183496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64442 /* 183500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64443 /* 183502 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64444 /* 183509 */ // (smin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64445 /* 183509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
64446 /* 183512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64447 /* 183514 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64448 /* 183516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64449 /* 183520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64450 /* 183525 */ GIR_RootConstrainSelectedInstOperands,
64451 /* 183526 */ // GIR_Coverage, 24333,
64452 /* 183526 */ GIR_EraseRootFromParent_Done,
64453 /* 183527 */ // Label 5248: @183527
64454 /* 183527 */ GIM_Try, /*On fail goto*//*Label 5249*/ GIMT_Encode4(183608),
64455 /* 183532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64456 /* 183536 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5250*/ GIMT_Encode4(183589), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5591 //
64457 /* 183543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64458 /* 183547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64459 /* 183551 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64460 /* 183554 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64461 /* 183558 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64462 /* 183562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64463 /* 183564 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64464 /* 183571 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64465 /* 183571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
64466 /* 183574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64467 /* 183576 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64468 /* 183578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64469 /* 183582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64470 /* 183587 */ GIR_RootConstrainSelectedInstOperands,
64471 /* 183588 */ // GIR_Coverage, 5591,
64472 /* 183588 */ GIR_EraseRootFromParent_Done,
64473 /* 183589 */ // Label 5250: @183589
64474 /* 183589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5251*/ GIMT_Encode4(183607), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5588 //
64475 /* 183596 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64476 /* 183600 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
64477 /* 183600 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rr),
64478 /* 183605 */ GIR_RootConstrainSelectedInstOperands,
64479 /* 183606 */ // GIR_Coverage, 5588,
64480 /* 183606 */ GIR_Done,
64481 /* 183607 */ // Label 5251: @183607
64482 /* 183607 */ GIM_Reject,
64483 /* 183608 */ // Label 5249: @183608
64484 /* 183608 */ GIM_Reject,
64485 /* 183609 */ // Label 5247: @183609
64486 /* 183609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5252*/ GIMT_Encode4(183773), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20143 //
64487 /* 183616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64488 /* 183620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64489 /* 183624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64490 /* 183628 */ // (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] })
64491 /* 183628 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
64492 /* 183631 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64493 /* 183635 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64494 /* 183640 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
64495 /* 183642 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
64496 /* 183645 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64497 /* 183649 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64498 /* 183654 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
64499 /* 183657 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
64500 /* 183661 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
64501 /* 183664 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64502 /* 183669 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64503 /* 183674 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
64504 /* 183679 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
64505 /* 183682 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64506 /* 183686 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64507 /* 183691 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
64508 /* 183693 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
64509 /* 183696 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64510 /* 183700 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64511 /* 183705 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
64512 /* 183708 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
64513 /* 183712 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
64514 /* 183715 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64515 /* 183720 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64516 /* 183725 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
64517 /* 183730 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
64518 /* 183733 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64519 /* 183737 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64520 /* 183742 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
64521 /* 183745 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
64522 /* 183748 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64523 /* 183750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
64524 /* 183753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64525 /* 183755 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
64526 /* 183762 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
64527 /* 183767 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64528 /* 183772 */ // GIR_Coverage, 20143,
64529 /* 183772 */ GIR_EraseRootFromParent_Done,
64530 /* 183773 */ // Label 5252: @183773
64531 /* 183773 */ GIM_Reject,
64532 /* 183774 */ // Label 5246: @183774
64533 /* 183774 */ GIM_Reject,
64534 /* 183775 */ // Label 5180: @183775
64535 /* 183775 */ GIM_Try, /*On fail goto*//*Label 5253*/ GIMT_Encode4(184087),
64536 /* 183780 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64537 /* 183783 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
64538 /* 183786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64539 /* 183790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5254*/ GIMT_Encode4(183847), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24327 //
64540 /* 183797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64541 /* 183801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64542 /* 183805 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64543 /* 183808 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64544 /* 183812 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64545 /* 183816 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64546 /* 183820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64547 /* 183822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64548 /* 183829 */ // (smin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64549 /* 183829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
64550 /* 183832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64551 /* 183834 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64552 /* 183836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64553 /* 183840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64554 /* 183845 */ GIR_RootConstrainSelectedInstOperands,
64555 /* 183846 */ // GIR_Coverage, 24327,
64556 /* 183846 */ GIR_EraseRootFromParent_Done,
64557 /* 183847 */ // Label 5254: @183847
64558 /* 183847 */ GIM_Try, /*On fail goto*//*Label 5255*/ GIMT_Encode4(184086),
64559 /* 183852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64560 /* 183856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5256*/ GIMT_Encode4(183909), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5582 //
64561 /* 183863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64562 /* 183867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64563 /* 183871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64564 /* 183874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64565 /* 183878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64566 /* 183882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64567 /* 183884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64568 /* 183891 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64569 /* 183891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
64570 /* 183894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64571 /* 183896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64572 /* 183898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64573 /* 183902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64574 /* 183907 */ GIR_RootConstrainSelectedInstOperands,
64575 /* 183908 */ // GIR_Coverage, 5582,
64576 /* 183908 */ GIR_EraseRootFromParent_Done,
64577 /* 183909 */ // Label 5256: @183909
64578 /* 183909 */ GIM_Try, /*On fail goto*//*Label 5257*/ GIMT_Encode4(184085),
64579 /* 183914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64580 /* 183918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5258*/ GIMT_Encode4(183932), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5579 //
64581 /* 183925 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
64582 /* 183925 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rr),
64583 /* 183930 */ GIR_RootConstrainSelectedInstOperands,
64584 /* 183931 */ // GIR_Coverage, 5579,
64585 /* 183931 */ GIR_Done,
64586 /* 183932 */ // Label 5258: @183932
64587 /* 183932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5259*/ GIMT_Encode4(184084), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20142 //
64588 /* 183939 */ // (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] })
64589 /* 183939 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
64590 /* 183942 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64591 /* 183946 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64592 /* 183951 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
64593 /* 183953 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
64594 /* 183956 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64595 /* 183960 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64596 /* 183965 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
64597 /* 183968 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
64598 /* 183972 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
64599 /* 183975 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64600 /* 183980 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64601 /* 183985 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
64602 /* 183990 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
64603 /* 183993 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64604 /* 183997 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64605 /* 184002 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
64606 /* 184004 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
64607 /* 184007 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64608 /* 184011 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64609 /* 184016 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
64610 /* 184019 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
64611 /* 184023 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
64612 /* 184026 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64613 /* 184031 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64614 /* 184036 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
64615 /* 184041 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
64616 /* 184044 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64617 /* 184048 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64618 /* 184053 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
64619 /* 184056 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
64620 /* 184059 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64621 /* 184061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
64622 /* 184064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64623 /* 184066 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
64624 /* 184073 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
64625 /* 184078 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64626 /* 184083 */ // GIR_Coverage, 20142,
64627 /* 184083 */ GIR_EraseRootFromParent_Done,
64628 /* 184084 */ // Label 5259: @184084
64629 /* 184084 */ GIM_Reject,
64630 /* 184085 */ // Label 5257: @184085
64631 /* 184085 */ GIM_Reject,
64632 /* 184086 */ // Label 5255: @184086
64633 /* 184086 */ GIM_Reject,
64634 /* 184087 */ // Label 5253: @184087
64635 /* 184087 */ GIM_Reject,
64636 /* 184088 */ // Label 5181: @184088
64637 /* 184088 */ GIM_Try, /*On fail goto*//*Label 5260*/ GIMT_Encode4(184242),
64638 /* 184093 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64639 /* 184096 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
64640 /* 184099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64641 /* 184103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5261*/ GIMT_Encode4(184160), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24321 //
64642 /* 184110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64643 /* 184114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64644 /* 184118 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64645 /* 184121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64646 /* 184125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64647 /* 184129 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64648 /* 184133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64649 /* 184135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64650 /* 184142 */ // (smin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64651 /* 184142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
64652 /* 184145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64653 /* 184147 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64654 /* 184149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64655 /* 184153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64656 /* 184158 */ GIR_RootConstrainSelectedInstOperands,
64657 /* 184159 */ // GIR_Coverage, 24321,
64658 /* 184159 */ GIR_EraseRootFromParent_Done,
64659 /* 184160 */ // Label 5261: @184160
64660 /* 184160 */ GIM_Try, /*On fail goto*//*Label 5262*/ GIMT_Encode4(184241),
64661 /* 184165 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64662 /* 184169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5263*/ GIMT_Encode4(184222), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5573 //
64663 /* 184176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64664 /* 184180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64665 /* 184184 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64666 /* 184187 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64667 /* 184191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64668 /* 184195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64669 /* 184197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64670 /* 184204 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64671 /* 184204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
64672 /* 184207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64673 /* 184209 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64674 /* 184211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64675 /* 184215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64676 /* 184220 */ GIR_RootConstrainSelectedInstOperands,
64677 /* 184221 */ // GIR_Coverage, 5573,
64678 /* 184221 */ GIR_EraseRootFromParent_Done,
64679 /* 184222 */ // Label 5263: @184222
64680 /* 184222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5264*/ GIMT_Encode4(184240), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5570 //
64681 /* 184229 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64682 /* 184233 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
64683 /* 184233 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64684 /* 184238 */ GIR_RootConstrainSelectedInstOperands,
64685 /* 184239 */ // GIR_Coverage, 5570,
64686 /* 184239 */ GIR_Done,
64687 /* 184240 */ // Label 5264: @184240
64688 /* 184240 */ GIM_Reject,
64689 /* 184241 */ // Label 5262: @184241
64690 /* 184241 */ GIM_Reject,
64691 /* 184242 */ // Label 5260: @184242
64692 /* 184242 */ GIM_Reject,
64693 /* 184243 */ // Label 5182: @184243
64694 /* 184243 */ GIM_Reject,
64695 /* 184244 */ // Label 60: @184244
64696 /* 184244 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5277*/ GIMT_Encode4(187475),
64697 /* 184255 */ /*GILLT_v16s8*//*Label 5265*/ GIMT_Encode4(184303),
64698 /* 184259 */ /*GILLT_v32s8*//*Label 5266*/ GIMT_Encode4(184632),
64699 /* 184263 */ /*GILLT_v64s8*//*Label 5267*/ GIMT_Encode4(184941),
64700 /* 184267 */ /*GILLT_v8s16*//*Label 5268*/ GIMT_Encode4(185096),
64701 /* 184271 */ /*GILLT_v16s16*//*Label 5269*/ GIMT_Encode4(185425),
64702 /* 184275 */ /*GILLT_v32s16*//*Label 5270*/ GIMT_Encode4(185734),
64703 /* 184279 */ /*GILLT_v4s32*//*Label 5271*/ GIMT_Encode4(185889),
64704 /* 184283 */ /*GILLT_v8s32*//*Label 5272*/ GIMT_Encode4(186218),
64705 /* 184287 */ /*GILLT_v16s32*//*Label 5273*/ GIMT_Encode4(186527),
64706 /* 184291 */ /*GILLT_v2s64*//*Label 5274*/ GIMT_Encode4(186682),
64707 /* 184295 */ /*GILLT_v4s64*//*Label 5275*/ GIMT_Encode4(187007),
64708 /* 184299 */ /*GILLT_v8s64*//*Label 5276*/ GIMT_Encode4(187320),
64709 /* 184303 */ // Label 5265: @184303
64710 /* 184303 */ GIM_Try, /*On fail goto*//*Label 5278*/ GIMT_Encode4(184631),
64711 /* 184308 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
64712 /* 184311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
64713 /* 184314 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5279*/ GIMT_Encode4(184375), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23764 //
64714 /* 184321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64715 /* 184325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64716 /* 184329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64717 /* 184333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64718 /* 184336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64719 /* 184340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64720 /* 184344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64721 /* 184348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64722 /* 184350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64723 /* 184357 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64724 /* 184357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
64725 /* 184360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64726 /* 184362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64727 /* 184364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64728 /* 184368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64729 /* 184373 */ GIR_RootConstrainSelectedInstOperands,
64730 /* 184374 */ // GIR_Coverage, 23764,
64731 /* 184374 */ GIR_EraseRootFromParent_Done,
64732 /* 184375 */ // Label 5279: @184375
64733 /* 184375 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5280*/ GIMT_Encode4(184436), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24183 //
64734 /* 184382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64735 /* 184386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64736 /* 184390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64737 /* 184394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64738 /* 184397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64739 /* 184401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64740 /* 184405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64741 /* 184409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64742 /* 184411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64743 /* 184418 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64744 /* 184418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
64745 /* 184421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64746 /* 184423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64747 /* 184425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64748 /* 184429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64749 /* 184434 */ GIR_RootConstrainSelectedInstOperands,
64750 /* 184435 */ // GIR_Coverage, 24183,
64751 /* 184435 */ GIR_EraseRootFromParent_Done,
64752 /* 184436 */ // Label 5280: @184436
64753 /* 184436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5281*/ GIMT_Encode4(184497), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3188 //
64754 /* 184443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64755 /* 184447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64756 /* 184451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64757 /* 184455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64758 /* 184459 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64759 /* 184462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64760 /* 184466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64761 /* 184470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64762 /* 184472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64763 /* 184479 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64764 /* 184479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
64765 /* 184482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64766 /* 184484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64767 /* 184486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64768 /* 184490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64769 /* 184495 */ GIR_RootConstrainSelectedInstOperands,
64770 /* 184496 */ // GIR_Coverage, 3188,
64771 /* 184496 */ GIR_EraseRootFromParent_Done,
64772 /* 184497 */ // Label 5281: @184497
64773 /* 184497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5282*/ GIMT_Encode4(184558), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5342 //
64774 /* 184504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64775 /* 184508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64776 /* 184512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64777 /* 184516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64778 /* 184520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64779 /* 184523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64780 /* 184527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64781 /* 184531 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64782 /* 184533 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64783 /* 184540 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64784 /* 184540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
64785 /* 184543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64786 /* 184545 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64787 /* 184547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64788 /* 184551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64789 /* 184556 */ GIR_RootConstrainSelectedInstOperands,
64790 /* 184557 */ // GIR_Coverage, 5342,
64791 /* 184557 */ GIR_EraseRootFromParent_Done,
64792 /* 184558 */ // Label 5282: @184558
64793 /* 184558 */ GIM_Try, /*On fail goto*//*Label 5283*/ GIMT_Encode4(184604),
64794 /* 184563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64795 /* 184567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64796 /* 184571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64797 /* 184575 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5284*/ GIMT_Encode4(184589), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3187 //
64798 /* 184582 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
64799 /* 184582 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrr),
64800 /* 184587 */ GIR_RootConstrainSelectedInstOperands,
64801 /* 184588 */ // GIR_Coverage, 3187,
64802 /* 184588 */ GIR_Done,
64803 /* 184589 */ // Label 5284: @184589
64804 /* 184589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5285*/ GIMT_Encode4(184603), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3217 //
64805 /* 184596 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
64806 /* 184596 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSBrr),
64807 /* 184601 */ GIR_RootConstrainSelectedInstOperands,
64808 /* 184602 */ // GIR_Coverage, 3217,
64809 /* 184602 */ GIR_Done,
64810 /* 184603 */ // Label 5285: @184603
64811 /* 184603 */ GIM_Reject,
64812 /* 184604 */ // Label 5283: @184604
64813 /* 184604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5286*/ GIMT_Encode4(184630), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5339 //
64814 /* 184611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64815 /* 184615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64816 /* 184619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64817 /* 184623 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
64818 /* 184623 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rr),
64819 /* 184628 */ GIR_RootConstrainSelectedInstOperands,
64820 /* 184629 */ // GIR_Coverage, 5339,
64821 /* 184629 */ GIR_Done,
64822 /* 184630 */ // Label 5286: @184630
64823 /* 184630 */ GIM_Reject,
64824 /* 184631 */ // Label 5278: @184631
64825 /* 184631 */ GIM_Reject,
64826 /* 184632 */ // Label 5266: @184632
64827 /* 184632 */ GIM_Try, /*On fail goto*//*Label 5287*/ GIMT_Encode4(184940),
64828 /* 184637 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
64829 /* 184640 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
64830 /* 184643 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5288*/ GIMT_Encode4(184704), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23773 //
64831 /* 184650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64832 /* 184654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64833 /* 184658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64834 /* 184662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64835 /* 184665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64836 /* 184669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64837 /* 184673 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64838 /* 184677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64839 /* 184679 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64840 /* 184686 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64841 /* 184686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
64842 /* 184689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64843 /* 184691 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64844 /* 184693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64845 /* 184697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64846 /* 184702 */ GIR_RootConstrainSelectedInstOperands,
64847 /* 184703 */ // GIR_Coverage, 23773,
64848 /* 184703 */ GIR_EraseRootFromParent_Done,
64849 /* 184704 */ // Label 5288: @184704
64850 /* 184704 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5289*/ GIMT_Encode4(184765), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24180 //
64851 /* 184711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64852 /* 184715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64853 /* 184719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64854 /* 184723 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64855 /* 184726 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64856 /* 184730 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64857 /* 184734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64858 /* 184738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64859 /* 184740 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64860 /* 184747 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64861 /* 184747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
64862 /* 184750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64863 /* 184752 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64864 /* 184754 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64865 /* 184758 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64866 /* 184763 */ GIR_RootConstrainSelectedInstOperands,
64867 /* 184764 */ // GIR_Coverage, 24180,
64868 /* 184764 */ GIR_EraseRootFromParent_Done,
64869 /* 184765 */ // Label 5289: @184765
64870 /* 184765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5290*/ GIMT_Encode4(184826), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3206 //
64871 /* 184772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64872 /* 184776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64873 /* 184780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64874 /* 184784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64875 /* 184788 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64876 /* 184791 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64877 /* 184795 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64878 /* 184799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64879 /* 184801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64880 /* 184808 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64881 /* 184808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
64882 /* 184811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64883 /* 184813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64884 /* 184815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64885 /* 184819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64886 /* 184824 */ GIR_RootConstrainSelectedInstOperands,
64887 /* 184825 */ // GIR_Coverage, 3206,
64888 /* 184825 */ GIR_EraseRootFromParent_Done,
64889 /* 184826 */ // Label 5290: @184826
64890 /* 184826 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5291*/ GIMT_Encode4(184887), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5336 //
64891 /* 184833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64892 /* 184837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64893 /* 184841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64894 /* 184845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64895 /* 184849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64896 /* 184852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64897 /* 184856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64898 /* 184860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64899 /* 184862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64900 /* 184869 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64901 /* 184869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
64902 /* 184872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64903 /* 184874 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64904 /* 184876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64905 /* 184880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64906 /* 184885 */ GIR_RootConstrainSelectedInstOperands,
64907 /* 184886 */ // GIR_Coverage, 5336,
64908 /* 184886 */ GIR_EraseRootFromParent_Done,
64909 /* 184887 */ // Label 5291: @184887
64910 /* 184887 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5292*/ GIMT_Encode4(184913), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3205 //
64911 /* 184894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64912 /* 184898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64913 /* 184902 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64914 /* 184906 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
64915 /* 184906 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrr),
64916 /* 184911 */ GIR_RootConstrainSelectedInstOperands,
64917 /* 184912 */ // GIR_Coverage, 3205,
64918 /* 184912 */ GIR_Done,
64919 /* 184913 */ // Label 5292: @184913
64920 /* 184913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5293*/ GIMT_Encode4(184939), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5333 //
64921 /* 184920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64922 /* 184924 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64923 /* 184928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64924 /* 184932 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
64925 /* 184932 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rr),
64926 /* 184937 */ GIR_RootConstrainSelectedInstOperands,
64927 /* 184938 */ // GIR_Coverage, 5333,
64928 /* 184938 */ GIR_Done,
64929 /* 184939 */ // Label 5293: @184939
64930 /* 184939 */ GIM_Reject,
64931 /* 184940 */ // Label 5287: @184940
64932 /* 184940 */ GIM_Reject,
64933 /* 184941 */ // Label 5267: @184941
64934 /* 184941 */ GIM_Try, /*On fail goto*//*Label 5294*/ GIMT_Encode4(185095),
64935 /* 184946 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
64936 /* 184949 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
64937 /* 184952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64938 /* 184956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5295*/ GIMT_Encode4(185013), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24177 //
64939 /* 184963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64940 /* 184967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64941 /* 184971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64942 /* 184974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64943 /* 184978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64944 /* 184982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64945 /* 184986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64946 /* 184988 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64947 /* 184995 */ // (smax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64948 /* 184995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
64949 /* 184998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64950 /* 185000 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64951 /* 185002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64952 /* 185006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64953 /* 185011 */ GIR_RootConstrainSelectedInstOperands,
64954 /* 185012 */ // GIR_Coverage, 24177,
64955 /* 185012 */ GIR_EraseRootFromParent_Done,
64956 /* 185013 */ // Label 5295: @185013
64957 /* 185013 */ GIM_Try, /*On fail goto*//*Label 5296*/ GIMT_Encode4(185094),
64958 /* 185018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64959 /* 185022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5297*/ GIMT_Encode4(185075), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5330 //
64960 /* 185029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64961 /* 185033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64962 /* 185037 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64963 /* 185040 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64964 /* 185044 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64965 /* 185048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64966 /* 185050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64967 /* 185057 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64968 /* 185057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
64969 /* 185060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64970 /* 185062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64971 /* 185064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64972 /* 185068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64973 /* 185073 */ GIR_RootConstrainSelectedInstOperands,
64974 /* 185074 */ // GIR_Coverage, 5330,
64975 /* 185074 */ GIR_EraseRootFromParent_Done,
64976 /* 185075 */ // Label 5297: @185075
64977 /* 185075 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5298*/ GIMT_Encode4(185093), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5327 //
64978 /* 185082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64979 /* 185086 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
64980 /* 185086 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrr),
64981 /* 185091 */ GIR_RootConstrainSelectedInstOperands,
64982 /* 185092 */ // GIR_Coverage, 5327,
64983 /* 185092 */ GIR_Done,
64984 /* 185093 */ // Label 5298: @185093
64985 /* 185093 */ GIM_Reject,
64986 /* 185094 */ // Label 5296: @185094
64987 /* 185094 */ GIM_Reject,
64988 /* 185095 */ // Label 5294: @185095
64989 /* 185095 */ GIM_Reject,
64990 /* 185096 */ // Label 5268: @185096
64991 /* 185096 */ GIM_Try, /*On fail goto*//*Label 5299*/ GIMT_Encode4(185424),
64992 /* 185101 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64993 /* 185104 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
64994 /* 185107 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5300*/ GIMT_Encode4(185168), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23727 //
64995 /* 185114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64996 /* 185118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64997 /* 185122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64998 /* 185126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64999 /* 185129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65000 /* 185133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65001 /* 185137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65002 /* 185141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65003 /* 185143 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65004 /* 185150 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65005 /* 185150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
65006 /* 185153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65007 /* 185155 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65008 /* 185157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65009 /* 185161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65010 /* 185166 */ GIR_RootConstrainSelectedInstOperands,
65011 /* 185167 */ // GIR_Coverage, 23727,
65012 /* 185167 */ GIR_EraseRootFromParent_Done,
65013 /* 185168 */ // Label 5300: @185168
65014 /* 185168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5301*/ GIMT_Encode4(185229), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24192 //
65015 /* 185175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65016 /* 185179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65017 /* 185183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65018 /* 185187 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65019 /* 185190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65020 /* 185194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65021 /* 185198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65022 /* 185202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65023 /* 185204 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65024 /* 185211 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65025 /* 185211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
65026 /* 185214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65027 /* 185216 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65028 /* 185218 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65029 /* 185222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65030 /* 185227 */ GIR_RootConstrainSelectedInstOperands,
65031 /* 185228 */ // GIR_Coverage, 24192,
65032 /* 185228 */ GIR_EraseRootFromParent_Done,
65033 /* 185229 */ // Label 5301: @185229
65034 /* 185229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5302*/ GIMT_Encode4(185290), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2637 //
65035 /* 185236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65036 /* 185240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65037 /* 185244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65038 /* 185248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65039 /* 185252 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65040 /* 185255 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65041 /* 185259 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65042 /* 185263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65043 /* 185265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65044 /* 185272 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65045 /* 185272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
65046 /* 185275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65047 /* 185277 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65048 /* 185279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65049 /* 185283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65050 /* 185288 */ GIR_RootConstrainSelectedInstOperands,
65051 /* 185289 */ // GIR_Coverage, 2637,
65052 /* 185289 */ GIR_EraseRootFromParent_Done,
65053 /* 185290 */ // Label 5302: @185290
65054 /* 185290 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5303*/ GIMT_Encode4(185351), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5360 //
65055 /* 185297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65056 /* 185301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65057 /* 185305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65058 /* 185309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65059 /* 185313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65060 /* 185316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65061 /* 185320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65062 /* 185324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65063 /* 185326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65064 /* 185333 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65065 /* 185333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
65066 /* 185336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65067 /* 185338 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65068 /* 185340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65069 /* 185344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65070 /* 185349 */ GIR_RootConstrainSelectedInstOperands,
65071 /* 185350 */ // GIR_Coverage, 5360,
65072 /* 185350 */ GIR_EraseRootFromParent_Done,
65073 /* 185351 */ // Label 5303: @185351
65074 /* 185351 */ GIM_Try, /*On fail goto*//*Label 5304*/ GIMT_Encode4(185397),
65075 /* 185356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65076 /* 185360 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65077 /* 185364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65078 /* 185368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5305*/ GIMT_Encode4(185382), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2636 //
65079 /* 185375 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65080 /* 185375 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrr),
65081 /* 185380 */ GIR_RootConstrainSelectedInstOperands,
65082 /* 185381 */ // GIR_Coverage, 2636,
65083 /* 185381 */ GIR_Done,
65084 /* 185382 */ // Label 5305: @185382
65085 /* 185382 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5306*/ GIMT_Encode4(185396), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2638 //
65086 /* 185389 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65087 /* 185389 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSWrr),
65088 /* 185394 */ GIR_RootConstrainSelectedInstOperands,
65089 /* 185395 */ // GIR_Coverage, 2638,
65090 /* 185395 */ GIR_Done,
65091 /* 185396 */ // Label 5306: @185396
65092 /* 185396 */ GIM_Reject,
65093 /* 185397 */ // Label 5304: @185397
65094 /* 185397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5307*/ GIMT_Encode4(185423), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5357 //
65095 /* 185404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65096 /* 185408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65097 /* 185412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65098 /* 185416 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
65099 /* 185416 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rr),
65100 /* 185421 */ GIR_RootConstrainSelectedInstOperands,
65101 /* 185422 */ // GIR_Coverage, 5357,
65102 /* 185422 */ GIR_Done,
65103 /* 185423 */ // Label 5307: @185423
65104 /* 185423 */ GIM_Reject,
65105 /* 185424 */ // Label 5299: @185424
65106 /* 185424 */ GIM_Reject,
65107 /* 185425 */ // Label 5269: @185425
65108 /* 185425 */ GIM_Try, /*On fail goto*//*Label 5308*/ GIMT_Encode4(185733),
65109 /* 185430 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
65110 /* 185433 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
65111 /* 185436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5309*/ GIMT_Encode4(185497), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23729 //
65112 /* 185443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65113 /* 185447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65114 /* 185451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65115 /* 185455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65116 /* 185458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65117 /* 185462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65118 /* 185466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65119 /* 185470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65120 /* 185472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65121 /* 185479 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65122 /* 185479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
65123 /* 185482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65124 /* 185484 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65125 /* 185486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65126 /* 185490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65127 /* 185495 */ GIR_RootConstrainSelectedInstOperands,
65128 /* 185496 */ // GIR_Coverage, 23729,
65129 /* 185496 */ GIR_EraseRootFromParent_Done,
65130 /* 185497 */ // Label 5309: @185497
65131 /* 185497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5310*/ GIMT_Encode4(185558), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24189 //
65132 /* 185504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65133 /* 185508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65134 /* 185512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65135 /* 185516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65136 /* 185519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65137 /* 185523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65138 /* 185527 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65139 /* 185531 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65140 /* 185533 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65141 /* 185540 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65142 /* 185540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
65143 /* 185543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65144 /* 185545 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65145 /* 185547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65146 /* 185551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65147 /* 185556 */ GIR_RootConstrainSelectedInstOperands,
65148 /* 185557 */ // GIR_Coverage, 24189,
65149 /* 185557 */ GIR_EraseRootFromParent_Done,
65150 /* 185558 */ // Label 5310: @185558
65151 /* 185558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5311*/ GIMT_Encode4(185619), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2641 //
65152 /* 185565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65153 /* 185569 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65154 /* 185573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65155 /* 185577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65156 /* 185581 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65157 /* 185584 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65158 /* 185588 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65159 /* 185592 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65160 /* 185594 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65161 /* 185601 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65162 /* 185601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
65163 /* 185604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65164 /* 185606 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65165 /* 185608 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65166 /* 185612 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65167 /* 185617 */ GIR_RootConstrainSelectedInstOperands,
65168 /* 185618 */ // GIR_Coverage, 2641,
65169 /* 185618 */ GIR_EraseRootFromParent_Done,
65170 /* 185619 */ // Label 5311: @185619
65171 /* 185619 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5312*/ GIMT_Encode4(185680), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5354 //
65172 /* 185626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65173 /* 185630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65174 /* 185634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65175 /* 185638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65176 /* 185642 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65177 /* 185645 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65178 /* 185649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65179 /* 185653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65180 /* 185655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65181 /* 185662 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65182 /* 185662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
65183 /* 185665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65184 /* 185667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65185 /* 185669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65186 /* 185673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65187 /* 185678 */ GIR_RootConstrainSelectedInstOperands,
65188 /* 185679 */ // GIR_Coverage, 5354,
65189 /* 185679 */ GIR_EraseRootFromParent_Done,
65190 /* 185680 */ // Label 5312: @185680
65191 /* 185680 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5313*/ GIMT_Encode4(185706), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2640 //
65192 /* 185687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65193 /* 185691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65194 /* 185695 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65195 /* 185699 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
65196 /* 185699 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrr),
65197 /* 185704 */ GIR_RootConstrainSelectedInstOperands,
65198 /* 185705 */ // GIR_Coverage, 2640,
65199 /* 185705 */ GIR_Done,
65200 /* 185706 */ // Label 5313: @185706
65201 /* 185706 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5314*/ GIMT_Encode4(185732), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5351 //
65202 /* 185713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65203 /* 185717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65204 /* 185721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65205 /* 185725 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
65206 /* 185725 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rr),
65207 /* 185730 */ GIR_RootConstrainSelectedInstOperands,
65208 /* 185731 */ // GIR_Coverage, 5351,
65209 /* 185731 */ GIR_Done,
65210 /* 185732 */ // Label 5314: @185732
65211 /* 185732 */ GIM_Reject,
65212 /* 185733 */ // Label 5308: @185733
65213 /* 185733 */ GIM_Reject,
65214 /* 185734 */ // Label 5270: @185734
65215 /* 185734 */ GIM_Try, /*On fail goto*//*Label 5315*/ GIMT_Encode4(185888),
65216 /* 185739 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
65217 /* 185742 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
65218 /* 185745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65219 /* 185749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5316*/ GIMT_Encode4(185806), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24186 //
65220 /* 185756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65221 /* 185760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65222 /* 185764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65223 /* 185767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65224 /* 185771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65225 /* 185775 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65226 /* 185779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65227 /* 185781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65228 /* 185788 */ // (smax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65229 /* 185788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
65230 /* 185791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65231 /* 185793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65232 /* 185795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65233 /* 185799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65234 /* 185804 */ GIR_RootConstrainSelectedInstOperands,
65235 /* 185805 */ // GIR_Coverage, 24186,
65236 /* 185805 */ GIR_EraseRootFromParent_Done,
65237 /* 185806 */ // Label 5316: @185806
65238 /* 185806 */ GIM_Try, /*On fail goto*//*Label 5317*/ GIMT_Encode4(185887),
65239 /* 185811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65240 /* 185815 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5318*/ GIMT_Encode4(185868), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5348 //
65241 /* 185822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65242 /* 185826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65243 /* 185830 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65244 /* 185833 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65245 /* 185837 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65246 /* 185841 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65247 /* 185843 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65248 /* 185850 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65249 /* 185850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
65250 /* 185853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65251 /* 185855 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65252 /* 185857 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65253 /* 185861 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65254 /* 185866 */ GIR_RootConstrainSelectedInstOperands,
65255 /* 185867 */ // GIR_Coverage, 5348,
65256 /* 185867 */ GIR_EraseRootFromParent_Done,
65257 /* 185868 */ // Label 5318: @185868
65258 /* 185868 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5319*/ GIMT_Encode4(185886), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5345 //
65259 /* 185875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65260 /* 185879 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
65261 /* 185879 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrr),
65262 /* 185884 */ GIR_RootConstrainSelectedInstOperands,
65263 /* 185885 */ // GIR_Coverage, 5345,
65264 /* 185885 */ GIR_Done,
65265 /* 185886 */ // Label 5319: @185886
65266 /* 185886 */ GIM_Reject,
65267 /* 185887 */ // Label 5317: @185887
65268 /* 185887 */ GIM_Reject,
65269 /* 185888 */ // Label 5315: @185888
65270 /* 185888 */ GIM_Reject,
65271 /* 185889 */ // Label 5271: @185889
65272 /* 185889 */ GIM_Try, /*On fail goto*//*Label 5320*/ GIMT_Encode4(186217),
65273 /* 185894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
65274 /* 185897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
65275 /* 185900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5321*/ GIMT_Encode4(185961), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23759 //
65276 /* 185907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65277 /* 185911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65278 /* 185915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65279 /* 185919 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65280 /* 185922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65281 /* 185926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65282 /* 185930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65283 /* 185934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65284 /* 185936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65285 /* 185943 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65286 /* 185943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
65287 /* 185946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65288 /* 185948 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65289 /* 185950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65290 /* 185954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65291 /* 185959 */ GIR_RootConstrainSelectedInstOperands,
65292 /* 185960 */ // GIR_Coverage, 23759,
65293 /* 185960 */ GIR_EraseRootFromParent_Done,
65294 /* 185961 */ // Label 5321: @185961
65295 /* 185961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5322*/ GIMT_Encode4(186022), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24207 //
65296 /* 185968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65297 /* 185972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65298 /* 185976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65299 /* 185980 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65300 /* 185983 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65301 /* 185987 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65302 /* 185991 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65303 /* 185995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65304 /* 185997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65305 /* 186004 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65306 /* 186004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
65307 /* 186007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65308 /* 186009 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65309 /* 186011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65310 /* 186015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65311 /* 186020 */ GIR_RootConstrainSelectedInstOperands,
65312 /* 186021 */ // GIR_Coverage, 24207,
65313 /* 186021 */ GIR_EraseRootFromParent_Done,
65314 /* 186022 */ // Label 5322: @186022
65315 /* 186022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5323*/ GIMT_Encode4(186083), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3178 //
65316 /* 186029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65317 /* 186033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65318 /* 186037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65319 /* 186041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65320 /* 186045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65321 /* 186048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65322 /* 186052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65323 /* 186056 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65324 /* 186058 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65325 /* 186065 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65326 /* 186065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
65327 /* 186068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65328 /* 186070 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65329 /* 186072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65330 /* 186076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65331 /* 186081 */ GIR_RootConstrainSelectedInstOperands,
65332 /* 186082 */ // GIR_Coverage, 3178,
65333 /* 186082 */ GIR_EraseRootFromParent_Done,
65334 /* 186083 */ // Label 5323: @186083
65335 /* 186083 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5324*/ GIMT_Encode4(186144), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5384 //
65336 /* 186090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65337 /* 186094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65338 /* 186098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65339 /* 186102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65340 /* 186106 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65341 /* 186109 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65342 /* 186113 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65343 /* 186117 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65344 /* 186119 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65345 /* 186126 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65346 /* 186126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
65347 /* 186129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65348 /* 186131 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65349 /* 186133 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65350 /* 186137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65351 /* 186142 */ GIR_RootConstrainSelectedInstOperands,
65352 /* 186143 */ // GIR_Coverage, 5384,
65353 /* 186143 */ GIR_EraseRootFromParent_Done,
65354 /* 186144 */ // Label 5324: @186144
65355 /* 186144 */ GIM_Try, /*On fail goto*//*Label 5325*/ GIMT_Encode4(186190),
65356 /* 186149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65357 /* 186153 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65358 /* 186157 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65359 /* 186161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5326*/ GIMT_Encode4(186175), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3177 //
65360 /* 186168 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65361 /* 186168 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrr),
65362 /* 186173 */ GIR_RootConstrainSelectedInstOperands,
65363 /* 186174 */ // GIR_Coverage, 3177,
65364 /* 186174 */ GIR_Done,
65365 /* 186175 */ // Label 5326: @186175
65366 /* 186175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5327*/ GIMT_Encode4(186189), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3219 //
65367 /* 186182 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65368 /* 186182 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSDrr),
65369 /* 186187 */ GIR_RootConstrainSelectedInstOperands,
65370 /* 186188 */ // GIR_Coverage, 3219,
65371 /* 186188 */ GIR_Done,
65372 /* 186189 */ // Label 5327: @186189
65373 /* 186189 */ GIM_Reject,
65374 /* 186190 */ // Label 5325: @186190
65375 /* 186190 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5328*/ GIMT_Encode4(186216), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5381 //
65376 /* 186197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65377 /* 186201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65378 /* 186205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65379 /* 186209 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
65380 /* 186209 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rr),
65381 /* 186214 */ GIR_RootConstrainSelectedInstOperands,
65382 /* 186215 */ // GIR_Coverage, 5381,
65383 /* 186215 */ GIR_Done,
65384 /* 186216 */ // Label 5328: @186216
65385 /* 186216 */ GIM_Reject,
65386 /* 186217 */ // Label 5320: @186217
65387 /* 186217 */ GIM_Reject,
65388 /* 186218 */ // Label 5272: @186218
65389 /* 186218 */ GIM_Try, /*On fail goto*//*Label 5329*/ GIMT_Encode4(186526),
65390 /* 186223 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65391 /* 186226 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
65392 /* 186229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5330*/ GIMT_Encode4(186290), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23768 //
65393 /* 186236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65394 /* 186240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65395 /* 186244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65396 /* 186248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65397 /* 186251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65398 /* 186255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65399 /* 186259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65400 /* 186263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65401 /* 186265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65402 /* 186272 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65403 /* 186272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
65404 /* 186275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65405 /* 186277 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65406 /* 186279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65407 /* 186283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65408 /* 186288 */ GIR_RootConstrainSelectedInstOperands,
65409 /* 186289 */ // GIR_Coverage, 23768,
65410 /* 186289 */ GIR_EraseRootFromParent_Done,
65411 /* 186290 */ // Label 5330: @186290
65412 /* 186290 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5331*/ GIMT_Encode4(186351), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24201 //
65413 /* 186297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65414 /* 186301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65415 /* 186305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65416 /* 186309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65417 /* 186312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65418 /* 186316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65419 /* 186320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65420 /* 186324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65421 /* 186326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65422 /* 186333 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65423 /* 186333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
65424 /* 186336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65425 /* 186338 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65426 /* 186340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65427 /* 186344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65428 /* 186349 */ GIR_RootConstrainSelectedInstOperands,
65429 /* 186350 */ // GIR_Coverage, 24201,
65430 /* 186350 */ GIR_EraseRootFromParent_Done,
65431 /* 186351 */ // Label 5331: @186351
65432 /* 186351 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5332*/ GIMT_Encode4(186412), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3196 //
65433 /* 186358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65434 /* 186362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65435 /* 186366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65436 /* 186370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65437 /* 186374 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65438 /* 186377 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65439 /* 186381 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65440 /* 186385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65441 /* 186387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65442 /* 186394 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65443 /* 186394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
65444 /* 186397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65445 /* 186399 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65446 /* 186401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65447 /* 186405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65448 /* 186410 */ GIR_RootConstrainSelectedInstOperands,
65449 /* 186411 */ // GIR_Coverage, 3196,
65450 /* 186411 */ GIR_EraseRootFromParent_Done,
65451 /* 186412 */ // Label 5332: @186412
65452 /* 186412 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5333*/ GIMT_Encode4(186473), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5375 //
65453 /* 186419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65454 /* 186423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65455 /* 186427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65456 /* 186431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65457 /* 186435 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65458 /* 186438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65459 /* 186442 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65460 /* 186446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65461 /* 186448 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65462 /* 186455 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65463 /* 186455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
65464 /* 186458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65465 /* 186460 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65466 /* 186462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65467 /* 186466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65468 /* 186471 */ GIR_RootConstrainSelectedInstOperands,
65469 /* 186472 */ // GIR_Coverage, 5375,
65470 /* 186472 */ GIR_EraseRootFromParent_Done,
65471 /* 186473 */ // Label 5333: @186473
65472 /* 186473 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5334*/ GIMT_Encode4(186499), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3195 //
65473 /* 186480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65474 /* 186484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65475 /* 186488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65476 /* 186492 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
65477 /* 186492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrr),
65478 /* 186497 */ GIR_RootConstrainSelectedInstOperands,
65479 /* 186498 */ // GIR_Coverage, 3195,
65480 /* 186498 */ GIR_Done,
65481 /* 186499 */ // Label 5334: @186499
65482 /* 186499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5335*/ GIMT_Encode4(186525), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5372 //
65483 /* 186506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65484 /* 186510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65485 /* 186514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65486 /* 186518 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
65487 /* 186518 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rr),
65488 /* 186523 */ GIR_RootConstrainSelectedInstOperands,
65489 /* 186524 */ // GIR_Coverage, 5372,
65490 /* 186524 */ GIR_Done,
65491 /* 186525 */ // Label 5335: @186525
65492 /* 186525 */ GIM_Reject,
65493 /* 186526 */ // Label 5329: @186526
65494 /* 186526 */ GIM_Reject,
65495 /* 186527 */ // Label 5273: @186527
65496 /* 186527 */ GIM_Try, /*On fail goto*//*Label 5336*/ GIMT_Encode4(186681),
65497 /* 186532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
65498 /* 186535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
65499 /* 186538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65500 /* 186542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5337*/ GIMT_Encode4(186599), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24195 //
65501 /* 186549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65502 /* 186553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65503 /* 186557 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65504 /* 186560 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65505 /* 186564 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65506 /* 186568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65507 /* 186572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65508 /* 186574 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65509 /* 186581 */ // (smax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65510 /* 186581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
65511 /* 186584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65512 /* 186586 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65513 /* 186588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65514 /* 186592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65515 /* 186597 */ GIR_RootConstrainSelectedInstOperands,
65516 /* 186598 */ // GIR_Coverage, 24195,
65517 /* 186598 */ GIR_EraseRootFromParent_Done,
65518 /* 186599 */ // Label 5337: @186599
65519 /* 186599 */ GIM_Try, /*On fail goto*//*Label 5338*/ GIMT_Encode4(186680),
65520 /* 186604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65521 /* 186608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5339*/ GIMT_Encode4(186661), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5366 //
65522 /* 186615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65523 /* 186619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65524 /* 186623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65525 /* 186626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65526 /* 186630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65527 /* 186634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65528 /* 186636 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65529 /* 186643 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65530 /* 186643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
65531 /* 186646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65532 /* 186648 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65533 /* 186650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65534 /* 186654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65535 /* 186659 */ GIR_RootConstrainSelectedInstOperands,
65536 /* 186660 */ // GIR_Coverage, 5366,
65537 /* 186660 */ GIR_EraseRootFromParent_Done,
65538 /* 186661 */ // Label 5339: @186661
65539 /* 186661 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5340*/ GIMT_Encode4(186679), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5363 //
65540 /* 186668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65541 /* 186672 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
65542 /* 186672 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrr),
65543 /* 186677 */ GIR_RootConstrainSelectedInstOperands,
65544 /* 186678 */ // GIR_Coverage, 5363,
65545 /* 186678 */ GIR_Done,
65546 /* 186679 */ // Label 5340: @186679
65547 /* 186679 */ GIM_Reject,
65548 /* 186680 */ // Label 5338: @186680
65549 /* 186680 */ GIM_Reject,
65550 /* 186681 */ // Label 5336: @186681
65551 /* 186681 */ GIM_Reject,
65552 /* 186682 */ // Label 5274: @186682
65553 /* 186682 */ GIM_Try, /*On fail goto*//*Label 5341*/ GIMT_Encode4(187006),
65554 /* 186687 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
65555 /* 186690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
65556 /* 186693 */ GIM_Try, /*On fail goto*//*Label 5342*/ GIMT_Encode4(186841),
65557 /* 186698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65558 /* 186702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5343*/ GIMT_Encode4(186759), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24225 //
65559 /* 186709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65560 /* 186713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65561 /* 186717 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65562 /* 186720 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65563 /* 186724 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65564 /* 186728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65565 /* 186732 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65566 /* 186734 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65567 /* 186741 */ // (smax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65568 /* 186741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
65569 /* 186744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65570 /* 186746 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65571 /* 186748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65572 /* 186752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65573 /* 186757 */ GIR_RootConstrainSelectedInstOperands,
65574 /* 186758 */ // GIR_Coverage, 24225,
65575 /* 186758 */ GIR_EraseRootFromParent_Done,
65576 /* 186759 */ // Label 5343: @186759
65577 /* 186759 */ GIM_Try, /*On fail goto*//*Label 5344*/ GIMT_Encode4(186840),
65578 /* 186764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65579 /* 186768 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5345*/ GIMT_Encode4(186821), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5411 //
65580 /* 186775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65581 /* 186779 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65582 /* 186783 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65583 /* 186786 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65584 /* 186790 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65585 /* 186794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65586 /* 186796 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65587 /* 186803 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65588 /* 186803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
65589 /* 186806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65590 /* 186808 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65591 /* 186810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65592 /* 186814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65593 /* 186819 */ GIR_RootConstrainSelectedInstOperands,
65594 /* 186820 */ // GIR_Coverage, 5411,
65595 /* 186820 */ GIR_EraseRootFromParent_Done,
65596 /* 186821 */ // Label 5345: @186821
65597 /* 186821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5346*/ GIMT_Encode4(186839), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5408 //
65598 /* 186828 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65599 /* 186832 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
65600 /* 186832 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rr),
65601 /* 186837 */ GIR_RootConstrainSelectedInstOperands,
65602 /* 186838 */ // GIR_Coverage, 5408,
65603 /* 186838 */ GIR_Done,
65604 /* 186839 */ // Label 5346: @186839
65605 /* 186839 */ GIM_Reject,
65606 /* 186840 */ // Label 5344: @186840
65607 /* 186840 */ GIM_Reject,
65608 /* 186841 */ // Label 5342: @186841
65609 /* 186841 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5347*/ GIMT_Encode4(187005), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20135 //
65610 /* 186848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
65611 /* 186852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65612 /* 186856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65613 /* 186860 */ // (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] })
65614 /* 186860 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65615 /* 186863 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65616 /* 186867 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65617 /* 186872 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65618 /* 186874 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65619 /* 186877 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65620 /* 186881 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65621 /* 186886 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65622 /* 186889 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65623 /* 186893 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
65624 /* 186896 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65625 /* 186901 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65626 /* 186906 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65627 /* 186911 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65628 /* 186914 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65629 /* 186918 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65630 /* 186923 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65631 /* 186925 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65632 /* 186928 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65633 /* 186932 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65634 /* 186937 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65635 /* 186940 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65636 /* 186944 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
65637 /* 186947 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65638 /* 186952 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65639 /* 186957 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65640 /* 186962 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65641 /* 186965 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
65642 /* 186969 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65643 /* 186974 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65644 /* 186977 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65645 /* 186980 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65646 /* 186982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65647 /* 186985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65648 /* 186987 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
65649 /* 186994 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
65650 /* 186999 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65651 /* 187004 */ // GIR_Coverage, 20135,
65652 /* 187004 */ GIR_EraseRootFromParent_Done,
65653 /* 187005 */ // Label 5347: @187005
65654 /* 187005 */ GIM_Reject,
65655 /* 187006 */ // Label 5341: @187006
65656 /* 187006 */ GIM_Reject,
65657 /* 187007 */ // Label 5275: @187007
65658 /* 187007 */ GIM_Try, /*On fail goto*//*Label 5348*/ GIMT_Encode4(187319),
65659 /* 187012 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65660 /* 187015 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
65661 /* 187018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65662 /* 187022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5349*/ GIMT_Encode4(187079), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24219 //
65663 /* 187029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65664 /* 187033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65665 /* 187037 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65666 /* 187040 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65667 /* 187044 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65668 /* 187048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65669 /* 187052 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65670 /* 187054 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65671 /* 187061 */ // (smax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65672 /* 187061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
65673 /* 187064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65674 /* 187066 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65675 /* 187068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65676 /* 187072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65677 /* 187077 */ GIR_RootConstrainSelectedInstOperands,
65678 /* 187078 */ // GIR_Coverage, 24219,
65679 /* 187078 */ GIR_EraseRootFromParent_Done,
65680 /* 187079 */ // Label 5349: @187079
65681 /* 187079 */ GIM_Try, /*On fail goto*//*Label 5350*/ GIMT_Encode4(187318),
65682 /* 187084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65683 /* 187088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5351*/ GIMT_Encode4(187141), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5402 //
65684 /* 187095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65685 /* 187099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65686 /* 187103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65687 /* 187106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65688 /* 187110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65689 /* 187114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65690 /* 187116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65691 /* 187123 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65692 /* 187123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
65693 /* 187126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65694 /* 187128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65695 /* 187130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65696 /* 187134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65697 /* 187139 */ GIR_RootConstrainSelectedInstOperands,
65698 /* 187140 */ // GIR_Coverage, 5402,
65699 /* 187140 */ GIR_EraseRootFromParent_Done,
65700 /* 187141 */ // Label 5351: @187141
65701 /* 187141 */ GIM_Try, /*On fail goto*//*Label 5352*/ GIMT_Encode4(187317),
65702 /* 187146 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65703 /* 187150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5353*/ GIMT_Encode4(187164), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5399 //
65704 /* 187157 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
65705 /* 187157 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rr),
65706 /* 187162 */ GIR_RootConstrainSelectedInstOperands,
65707 /* 187163 */ // GIR_Coverage, 5399,
65708 /* 187163 */ GIR_Done,
65709 /* 187164 */ // Label 5353: @187164
65710 /* 187164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5354*/ GIMT_Encode4(187316), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20134 //
65711 /* 187171 */ // (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] })
65712 /* 187171 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65713 /* 187174 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65714 /* 187178 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65715 /* 187183 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65716 /* 187185 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65717 /* 187188 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65718 /* 187192 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65719 /* 187197 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65720 /* 187200 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65721 /* 187204 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
65722 /* 187207 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65723 /* 187212 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65724 /* 187217 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65725 /* 187222 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65726 /* 187225 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65727 /* 187229 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65728 /* 187234 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65729 /* 187236 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65730 /* 187239 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65731 /* 187243 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65732 /* 187248 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65733 /* 187251 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65734 /* 187255 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
65735 /* 187258 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65736 /* 187263 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65737 /* 187268 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65738 /* 187273 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65739 /* 187276 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
65740 /* 187280 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65741 /* 187285 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65742 /* 187288 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65743 /* 187291 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65744 /* 187293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65745 /* 187296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65746 /* 187298 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
65747 /* 187305 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
65748 /* 187310 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65749 /* 187315 */ // GIR_Coverage, 20134,
65750 /* 187315 */ GIR_EraseRootFromParent_Done,
65751 /* 187316 */ // Label 5354: @187316
65752 /* 187316 */ GIM_Reject,
65753 /* 187317 */ // Label 5352: @187317
65754 /* 187317 */ GIM_Reject,
65755 /* 187318 */ // Label 5350: @187318
65756 /* 187318 */ GIM_Reject,
65757 /* 187319 */ // Label 5348: @187319
65758 /* 187319 */ GIM_Reject,
65759 /* 187320 */ // Label 5276: @187320
65760 /* 187320 */ GIM_Try, /*On fail goto*//*Label 5355*/ GIMT_Encode4(187474),
65761 /* 187325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65762 /* 187328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
65763 /* 187331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65764 /* 187335 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5356*/ GIMT_Encode4(187392), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24213 //
65765 /* 187342 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65766 /* 187346 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65767 /* 187350 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65768 /* 187353 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65769 /* 187357 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65770 /* 187361 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65771 /* 187365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65772 /* 187367 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65773 /* 187374 */ // (smax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65774 /* 187374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
65775 /* 187377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65776 /* 187379 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65777 /* 187381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65778 /* 187385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65779 /* 187390 */ GIR_RootConstrainSelectedInstOperands,
65780 /* 187391 */ // GIR_Coverage, 24213,
65781 /* 187391 */ GIR_EraseRootFromParent_Done,
65782 /* 187392 */ // Label 5356: @187392
65783 /* 187392 */ GIM_Try, /*On fail goto*//*Label 5357*/ GIMT_Encode4(187473),
65784 /* 187397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65785 /* 187401 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5358*/ GIMT_Encode4(187454), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5393 //
65786 /* 187408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65787 /* 187412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65788 /* 187416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65789 /* 187419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65790 /* 187423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65791 /* 187427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65792 /* 187429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65793 /* 187436 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65794 /* 187436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
65795 /* 187439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65796 /* 187441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65797 /* 187443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65798 /* 187447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65799 /* 187452 */ GIR_RootConstrainSelectedInstOperands,
65800 /* 187453 */ // GIR_Coverage, 5393,
65801 /* 187453 */ GIR_EraseRootFromParent_Done,
65802 /* 187454 */ // Label 5358: @187454
65803 /* 187454 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5359*/ GIMT_Encode4(187472), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5390 //
65804 /* 187461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65805 /* 187465 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
65806 /* 187465 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
65807 /* 187470 */ GIR_RootConstrainSelectedInstOperands,
65808 /* 187471 */ // GIR_Coverage, 5390,
65809 /* 187471 */ GIR_Done,
65810 /* 187472 */ // Label 5359: @187472
65811 /* 187472 */ GIM_Reject,
65812 /* 187473 */ // Label 5357: @187473
65813 /* 187473 */ GIM_Reject,
65814 /* 187474 */ // Label 5355: @187474
65815 /* 187474 */ GIM_Reject,
65816 /* 187475 */ // Label 5277: @187475
65817 /* 187475 */ GIM_Reject,
65818 /* 187476 */ // Label 61: @187476
65819 /* 187476 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5372*/ GIMT_Encode4(190707),
65820 /* 187487 */ /*GILLT_v16s8*//*Label 5360*/ GIMT_Encode4(187535),
65821 /* 187491 */ /*GILLT_v32s8*//*Label 5361*/ GIMT_Encode4(187864),
65822 /* 187495 */ /*GILLT_v64s8*//*Label 5362*/ GIMT_Encode4(188173),
65823 /* 187499 */ /*GILLT_v8s16*//*Label 5363*/ GIMT_Encode4(188328),
65824 /* 187503 */ /*GILLT_v16s16*//*Label 5364*/ GIMT_Encode4(188657),
65825 /* 187507 */ /*GILLT_v32s16*//*Label 5365*/ GIMT_Encode4(188966),
65826 /* 187511 */ /*GILLT_v4s32*//*Label 5366*/ GIMT_Encode4(189121),
65827 /* 187515 */ /*GILLT_v8s32*//*Label 5367*/ GIMT_Encode4(189450),
65828 /* 187519 */ /*GILLT_v16s32*//*Label 5368*/ GIMT_Encode4(189759),
65829 /* 187523 */ /*GILLT_v2s64*//*Label 5369*/ GIMT_Encode4(189914),
65830 /* 187527 */ /*GILLT_v4s64*//*Label 5370*/ GIMT_Encode4(190239),
65831 /* 187531 */ /*GILLT_v8s64*//*Label 5371*/ GIMT_Encode4(190552),
65832 /* 187535 */ // Label 5360: @187535
65833 /* 187535 */ GIM_Try, /*On fail goto*//*Label 5373*/ GIMT_Encode4(187863),
65834 /* 187540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
65835 /* 187543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
65836 /* 187546 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5374*/ GIMT_Encode4(187607), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23718 //
65837 /* 187553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65838 /* 187557 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65839 /* 187561 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65840 /* 187565 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65841 /* 187568 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65842 /* 187572 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65843 /* 187576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65844 /* 187580 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65845 /* 187582 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65846 /* 187589 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65847 /* 187589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
65848 /* 187592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65849 /* 187594 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65850 /* 187596 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65851 /* 187600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65852 /* 187605 */ GIR_RootConstrainSelectedInstOperands,
65853 /* 187606 */ // GIR_Coverage, 23718,
65854 /* 187606 */ GIR_EraseRootFromParent_Done,
65855 /* 187607 */ // Label 5374: @187607
65856 /* 187607 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5375*/ GIMT_Encode4(187668), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24345 //
65857 /* 187614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65858 /* 187618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65859 /* 187622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65860 /* 187626 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65861 /* 187629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65862 /* 187633 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65863 /* 187637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65864 /* 187641 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65865 /* 187643 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65866 /* 187650 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65867 /* 187650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
65868 /* 187653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65869 /* 187655 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65870 /* 187657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65871 /* 187661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65872 /* 187666 */ GIR_RootConstrainSelectedInstOperands,
65873 /* 187667 */ // GIR_Coverage, 24345,
65874 /* 187667 */ GIR_EraseRootFromParent_Done,
65875 /* 187668 */ // Label 5375: @187668
65876 /* 187668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5376*/ GIMT_Encode4(187729), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2619 //
65877 /* 187675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65878 /* 187679 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65879 /* 187683 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65880 /* 187687 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65881 /* 187691 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65882 /* 187694 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65883 /* 187698 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65884 /* 187702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65885 /* 187704 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65886 /* 187711 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65887 /* 187711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
65888 /* 187714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65889 /* 187716 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65890 /* 187718 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65891 /* 187722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65892 /* 187727 */ GIR_RootConstrainSelectedInstOperands,
65893 /* 187728 */ // GIR_Coverage, 2619,
65894 /* 187728 */ GIR_EraseRootFromParent_Done,
65895 /* 187729 */ // Label 5376: @187729
65896 /* 187729 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5377*/ GIMT_Encode4(187790), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5612 //
65897 /* 187736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65898 /* 187740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65899 /* 187744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65900 /* 187748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65901 /* 187752 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65902 /* 187755 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65903 /* 187759 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65904 /* 187763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65905 /* 187765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65906 /* 187772 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65907 /* 187772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
65908 /* 187775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65909 /* 187777 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65910 /* 187779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65911 /* 187783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65912 /* 187788 */ GIR_RootConstrainSelectedInstOperands,
65913 /* 187789 */ // GIR_Coverage, 5612,
65914 /* 187789 */ GIR_EraseRootFromParent_Done,
65915 /* 187790 */ // Label 5377: @187790
65916 /* 187790 */ GIM_Try, /*On fail goto*//*Label 5378*/ GIMT_Encode4(187836),
65917 /* 187795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65918 /* 187799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65919 /* 187803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65920 /* 187807 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5379*/ GIMT_Encode4(187821), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2618 //
65921 /* 187814 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65922 /* 187814 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBrr),
65923 /* 187819 */ GIR_RootConstrainSelectedInstOperands,
65924 /* 187820 */ // GIR_Coverage, 2618,
65925 /* 187820 */ GIR_Done,
65926 /* 187821 */ // Label 5379: @187821
65927 /* 187821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5380*/ GIMT_Encode4(187835), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2620 //
65928 /* 187828 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65929 /* 187828 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUBrr),
65930 /* 187833 */ GIR_RootConstrainSelectedInstOperands,
65931 /* 187834 */ // GIR_Coverage, 2620,
65932 /* 187834 */ GIR_Done,
65933 /* 187835 */ // Label 5380: @187835
65934 /* 187835 */ GIM_Reject,
65935 /* 187836 */ // Label 5378: @187836
65936 /* 187836 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5381*/ GIMT_Encode4(187862), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5609 //
65937 /* 187843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65938 /* 187847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65939 /* 187851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65940 /* 187855 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
65941 /* 187855 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rr),
65942 /* 187860 */ GIR_RootConstrainSelectedInstOperands,
65943 /* 187861 */ // GIR_Coverage, 5609,
65944 /* 187861 */ GIR_Done,
65945 /* 187862 */ // Label 5381: @187862
65946 /* 187862 */ GIM_Reject,
65947 /* 187863 */ // Label 5373: @187863
65948 /* 187863 */ GIM_Reject,
65949 /* 187864 */ // Label 5361: @187864
65950 /* 187864 */ GIM_Try, /*On fail goto*//*Label 5382*/ GIMT_Encode4(188172),
65951 /* 187869 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
65952 /* 187872 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
65953 /* 187875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5383*/ GIMT_Encode4(187936), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23720 //
65954 /* 187882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65955 /* 187886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65956 /* 187890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65957 /* 187894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65958 /* 187897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65959 /* 187901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65960 /* 187905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65961 /* 187909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65962 /* 187911 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65963 /* 187918 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65964 /* 187918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
65965 /* 187921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65966 /* 187923 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65967 /* 187925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65968 /* 187929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65969 /* 187934 */ GIR_RootConstrainSelectedInstOperands,
65970 /* 187935 */ // GIR_Coverage, 23720,
65971 /* 187935 */ GIR_EraseRootFromParent_Done,
65972 /* 187936 */ // Label 5383: @187936
65973 /* 187936 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5384*/ GIMT_Encode4(187997), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24342 //
65974 /* 187943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65975 /* 187947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65976 /* 187951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65977 /* 187955 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65978 /* 187958 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65979 /* 187962 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65980 /* 187966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65981 /* 187970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65982 /* 187972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65983 /* 187979 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65984 /* 187979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
65985 /* 187982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65986 /* 187984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65987 /* 187986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65988 /* 187990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65989 /* 187995 */ GIR_RootConstrainSelectedInstOperands,
65990 /* 187996 */ // GIR_Coverage, 24342,
65991 /* 187996 */ GIR_EraseRootFromParent_Done,
65992 /* 187997 */ // Label 5384: @187997
65993 /* 187997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5385*/ GIMT_Encode4(188058), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2623 //
65994 /* 188004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65995 /* 188008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65996 /* 188012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65997 /* 188016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65998 /* 188020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65999 /* 188023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66000 /* 188027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66001 /* 188031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66002 /* 188033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66003 /* 188040 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66004 /* 188040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
66005 /* 188043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66006 /* 188045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66007 /* 188047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66008 /* 188051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66009 /* 188056 */ GIR_RootConstrainSelectedInstOperands,
66010 /* 188057 */ // GIR_Coverage, 2623,
66011 /* 188057 */ GIR_EraseRootFromParent_Done,
66012 /* 188058 */ // Label 5385: @188058
66013 /* 188058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5386*/ GIMT_Encode4(188119), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5606 //
66014 /* 188065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66015 /* 188069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66016 /* 188073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66017 /* 188077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66018 /* 188081 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66019 /* 188084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66020 /* 188088 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66021 /* 188092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66022 /* 188094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66023 /* 188101 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66024 /* 188101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
66025 /* 188104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66026 /* 188106 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66027 /* 188108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66028 /* 188112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66029 /* 188117 */ GIR_RootConstrainSelectedInstOperands,
66030 /* 188118 */ // GIR_Coverage, 5606,
66031 /* 188118 */ GIR_EraseRootFromParent_Done,
66032 /* 188119 */ // Label 5386: @188119
66033 /* 188119 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5387*/ GIMT_Encode4(188145), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2622 //
66034 /* 188126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66035 /* 188130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66036 /* 188134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66037 /* 188138 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
66038 /* 188138 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrr),
66039 /* 188143 */ GIR_RootConstrainSelectedInstOperands,
66040 /* 188144 */ // GIR_Coverage, 2622,
66041 /* 188144 */ GIR_Done,
66042 /* 188145 */ // Label 5387: @188145
66043 /* 188145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5388*/ GIMT_Encode4(188171), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5603 //
66044 /* 188152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66045 /* 188156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66046 /* 188160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66047 /* 188164 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
66048 /* 188164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rr),
66049 /* 188169 */ GIR_RootConstrainSelectedInstOperands,
66050 /* 188170 */ // GIR_Coverage, 5603,
66051 /* 188170 */ GIR_Done,
66052 /* 188171 */ // Label 5388: @188171
66053 /* 188171 */ GIM_Reject,
66054 /* 188172 */ // Label 5382: @188172
66055 /* 188172 */ GIM_Reject,
66056 /* 188173 */ // Label 5362: @188173
66057 /* 188173 */ GIM_Try, /*On fail goto*//*Label 5389*/ GIMT_Encode4(188327),
66058 /* 188178 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
66059 /* 188181 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
66060 /* 188184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66061 /* 188188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5390*/ GIMT_Encode4(188245), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24339 //
66062 /* 188195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66063 /* 188199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66064 /* 188203 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66065 /* 188206 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66066 /* 188210 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66067 /* 188214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66068 /* 188218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66069 /* 188220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66070 /* 188227 */ // (umin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66071 /* 188227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
66072 /* 188230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66073 /* 188232 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66074 /* 188234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66075 /* 188238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66076 /* 188243 */ GIR_RootConstrainSelectedInstOperands,
66077 /* 188244 */ // GIR_Coverage, 24339,
66078 /* 188244 */ GIR_EraseRootFromParent_Done,
66079 /* 188245 */ // Label 5390: @188245
66080 /* 188245 */ GIM_Try, /*On fail goto*//*Label 5391*/ GIMT_Encode4(188326),
66081 /* 188250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66082 /* 188254 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5392*/ GIMT_Encode4(188307), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5600 //
66083 /* 188261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66084 /* 188265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66085 /* 188269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66086 /* 188272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66087 /* 188276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66088 /* 188280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66089 /* 188282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66090 /* 188289 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66091 /* 188289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
66092 /* 188292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66093 /* 188294 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66094 /* 188296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66095 /* 188300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66096 /* 188305 */ GIR_RootConstrainSelectedInstOperands,
66097 /* 188306 */ // GIR_Coverage, 5600,
66098 /* 188306 */ GIR_EraseRootFromParent_Done,
66099 /* 188307 */ // Label 5392: @188307
66100 /* 188307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5393*/ GIMT_Encode4(188325), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5597 //
66101 /* 188314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66102 /* 188318 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
66103 /* 188318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrr),
66104 /* 188323 */ GIR_RootConstrainSelectedInstOperands,
66105 /* 188324 */ // GIR_Coverage, 5597,
66106 /* 188324 */ GIR_Done,
66107 /* 188325 */ // Label 5393: @188325
66108 /* 188325 */ GIM_Reject,
66109 /* 188326 */ // Label 5391: @188326
66110 /* 188326 */ GIM_Reject,
66111 /* 188327 */ // Label 5389: @188327
66112 /* 188327 */ GIM_Reject,
66113 /* 188328 */ // Label 5363: @188328
66114 /* 188328 */ GIM_Try, /*On fail goto*//*Label 5394*/ GIMT_Encode4(188656),
66115 /* 188333 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
66116 /* 188336 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
66117 /* 188339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5395*/ GIMT_Encode4(188400), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23763 //
66118 /* 188346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66119 /* 188350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66120 /* 188354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66121 /* 188358 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66122 /* 188361 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66123 /* 188365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66124 /* 188369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66125 /* 188373 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66126 /* 188375 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66127 /* 188382 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66128 /* 188382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
66129 /* 188385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66130 /* 188387 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66131 /* 188389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66132 /* 188393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66133 /* 188398 */ GIR_RootConstrainSelectedInstOperands,
66134 /* 188399 */ // GIR_Coverage, 23763,
66135 /* 188399 */ GIR_EraseRootFromParent_Done,
66136 /* 188400 */ // Label 5395: @188400
66137 /* 188400 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5396*/ GIMT_Encode4(188461), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24354 //
66138 /* 188407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66139 /* 188411 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66140 /* 188415 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66141 /* 188419 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66142 /* 188422 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66143 /* 188426 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66144 /* 188430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66145 /* 188434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66146 /* 188436 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66147 /* 188443 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66148 /* 188443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
66149 /* 188446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66150 /* 188448 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66151 /* 188450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66152 /* 188454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66153 /* 188459 */ GIR_RootConstrainSelectedInstOperands,
66154 /* 188460 */ // GIR_Coverage, 24354,
66155 /* 188460 */ GIR_EraseRootFromParent_Done,
66156 /* 188461 */ // Label 5396: @188461
66157 /* 188461 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5397*/ GIMT_Encode4(188522), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3186 //
66158 /* 188468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66159 /* 188472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66160 /* 188476 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66161 /* 188480 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66162 /* 188484 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66163 /* 188487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66164 /* 188491 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66165 /* 188495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66166 /* 188497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66167 /* 188504 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66168 /* 188504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
66169 /* 188507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66170 /* 188509 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66171 /* 188511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66172 /* 188515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66173 /* 188520 */ GIR_RootConstrainSelectedInstOperands,
66174 /* 188521 */ // GIR_Coverage, 3186,
66175 /* 188521 */ GIR_EraseRootFromParent_Done,
66176 /* 188522 */ // Label 5397: @188522
66177 /* 188522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5398*/ GIMT_Encode4(188583), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5630 //
66178 /* 188529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66179 /* 188533 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66180 /* 188537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66181 /* 188541 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66182 /* 188545 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66183 /* 188548 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66184 /* 188552 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66185 /* 188556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66186 /* 188558 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66187 /* 188565 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66188 /* 188565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
66189 /* 188568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66190 /* 188570 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66191 /* 188572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66192 /* 188576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66193 /* 188581 */ GIR_RootConstrainSelectedInstOperands,
66194 /* 188582 */ // GIR_Coverage, 5630,
66195 /* 188582 */ GIR_EraseRootFromParent_Done,
66196 /* 188583 */ // Label 5398: @188583
66197 /* 188583 */ GIM_Try, /*On fail goto*//*Label 5399*/ GIMT_Encode4(188629),
66198 /* 188588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66199 /* 188592 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66200 /* 188596 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66201 /* 188600 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5400*/ GIMT_Encode4(188614), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3185 //
66202 /* 188607 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66203 /* 188607 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWrr),
66204 /* 188612 */ GIR_RootConstrainSelectedInstOperands,
66205 /* 188613 */ // GIR_Coverage, 3185,
66206 /* 188613 */ GIR_Done,
66207 /* 188614 */ // Label 5400: @188614
66208 /* 188614 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5401*/ GIMT_Encode4(188628), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3215 //
66209 /* 188621 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66210 /* 188621 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUWrr),
66211 /* 188626 */ GIR_RootConstrainSelectedInstOperands,
66212 /* 188627 */ // GIR_Coverage, 3215,
66213 /* 188627 */ GIR_Done,
66214 /* 188628 */ // Label 5401: @188628
66215 /* 188628 */ GIM_Reject,
66216 /* 188629 */ // Label 5399: @188629
66217 /* 188629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5402*/ GIMT_Encode4(188655), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5627 //
66218 /* 188636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66219 /* 188640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66220 /* 188644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66221 /* 188648 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
66222 /* 188648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rr),
66223 /* 188653 */ GIR_RootConstrainSelectedInstOperands,
66224 /* 188654 */ // GIR_Coverage, 5627,
66225 /* 188654 */ GIR_Done,
66226 /* 188655 */ // Label 5402: @188655
66227 /* 188655 */ GIM_Reject,
66228 /* 188656 */ // Label 5394: @188656
66229 /* 188656 */ GIM_Reject,
66230 /* 188657 */ // Label 5364: @188657
66231 /* 188657 */ GIM_Try, /*On fail goto*//*Label 5403*/ GIMT_Encode4(188965),
66232 /* 188662 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
66233 /* 188665 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
66234 /* 188668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5404*/ GIMT_Encode4(188729), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23772 //
66235 /* 188675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66236 /* 188679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66237 /* 188683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66238 /* 188687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66239 /* 188690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66240 /* 188694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66241 /* 188698 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66242 /* 188702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66243 /* 188704 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66244 /* 188711 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66245 /* 188711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
66246 /* 188714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66247 /* 188716 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66248 /* 188718 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66249 /* 188722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66250 /* 188727 */ GIR_RootConstrainSelectedInstOperands,
66251 /* 188728 */ // GIR_Coverage, 23772,
66252 /* 188728 */ GIR_EraseRootFromParent_Done,
66253 /* 188729 */ // Label 5404: @188729
66254 /* 188729 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5405*/ GIMT_Encode4(188790), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24351 //
66255 /* 188736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66256 /* 188740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66257 /* 188744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66258 /* 188748 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66259 /* 188751 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66260 /* 188755 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66261 /* 188759 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66262 /* 188763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66263 /* 188765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66264 /* 188772 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66265 /* 188772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
66266 /* 188775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66267 /* 188777 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66268 /* 188779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66269 /* 188783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66270 /* 188788 */ GIR_RootConstrainSelectedInstOperands,
66271 /* 188789 */ // GIR_Coverage, 24351,
66272 /* 188789 */ GIR_EraseRootFromParent_Done,
66273 /* 188790 */ // Label 5405: @188790
66274 /* 188790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5406*/ GIMT_Encode4(188851), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3204 //
66275 /* 188797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66276 /* 188801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66277 /* 188805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66278 /* 188809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66279 /* 188813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66280 /* 188816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66281 /* 188820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66282 /* 188824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66283 /* 188826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66284 /* 188833 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66285 /* 188833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
66286 /* 188836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66287 /* 188838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66288 /* 188840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66289 /* 188844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66290 /* 188849 */ GIR_RootConstrainSelectedInstOperands,
66291 /* 188850 */ // GIR_Coverage, 3204,
66292 /* 188850 */ GIR_EraseRootFromParent_Done,
66293 /* 188851 */ // Label 5406: @188851
66294 /* 188851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5407*/ GIMT_Encode4(188912), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5624 //
66295 /* 188858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66296 /* 188862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66297 /* 188866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66298 /* 188870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66299 /* 188874 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66300 /* 188877 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66301 /* 188881 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66302 /* 188885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66303 /* 188887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66304 /* 188894 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66305 /* 188894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
66306 /* 188897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66307 /* 188899 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66308 /* 188901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66309 /* 188905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66310 /* 188910 */ GIR_RootConstrainSelectedInstOperands,
66311 /* 188911 */ // GIR_Coverage, 5624,
66312 /* 188911 */ GIR_EraseRootFromParent_Done,
66313 /* 188912 */ // Label 5407: @188912
66314 /* 188912 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5408*/ GIMT_Encode4(188938), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3203 //
66315 /* 188919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66316 /* 188923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66317 /* 188927 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66318 /* 188931 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
66319 /* 188931 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrr),
66320 /* 188936 */ GIR_RootConstrainSelectedInstOperands,
66321 /* 188937 */ // GIR_Coverage, 3203,
66322 /* 188937 */ GIR_Done,
66323 /* 188938 */ // Label 5408: @188938
66324 /* 188938 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5409*/ GIMT_Encode4(188964), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5621 //
66325 /* 188945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66326 /* 188949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66327 /* 188953 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66328 /* 188957 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
66329 /* 188957 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rr),
66330 /* 188962 */ GIR_RootConstrainSelectedInstOperands,
66331 /* 188963 */ // GIR_Coverage, 5621,
66332 /* 188963 */ GIR_Done,
66333 /* 188964 */ // Label 5409: @188964
66334 /* 188964 */ GIM_Reject,
66335 /* 188965 */ // Label 5403: @188965
66336 /* 188965 */ GIM_Reject,
66337 /* 188966 */ // Label 5365: @188966
66338 /* 188966 */ GIM_Try, /*On fail goto*//*Label 5410*/ GIMT_Encode4(189120),
66339 /* 188971 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
66340 /* 188974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
66341 /* 188977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66342 /* 188981 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5411*/ GIMT_Encode4(189038), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24348 //
66343 /* 188988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66344 /* 188992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66345 /* 188996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66346 /* 188999 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66347 /* 189003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66348 /* 189007 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66349 /* 189011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66350 /* 189013 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66351 /* 189020 */ // (umin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66352 /* 189020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
66353 /* 189023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66354 /* 189025 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66355 /* 189027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66356 /* 189031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66357 /* 189036 */ GIR_RootConstrainSelectedInstOperands,
66358 /* 189037 */ // GIR_Coverage, 24348,
66359 /* 189037 */ GIR_EraseRootFromParent_Done,
66360 /* 189038 */ // Label 5411: @189038
66361 /* 189038 */ GIM_Try, /*On fail goto*//*Label 5412*/ GIMT_Encode4(189119),
66362 /* 189043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66363 /* 189047 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5413*/ GIMT_Encode4(189100), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5618 //
66364 /* 189054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66365 /* 189058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66366 /* 189062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66367 /* 189065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66368 /* 189069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66369 /* 189073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66370 /* 189075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66371 /* 189082 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66372 /* 189082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
66373 /* 189085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66374 /* 189087 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66375 /* 189089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66376 /* 189093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66377 /* 189098 */ GIR_RootConstrainSelectedInstOperands,
66378 /* 189099 */ // GIR_Coverage, 5618,
66379 /* 189099 */ GIR_EraseRootFromParent_Done,
66380 /* 189100 */ // Label 5413: @189100
66381 /* 189100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5414*/ GIMT_Encode4(189118), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5615 //
66382 /* 189107 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66383 /* 189111 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
66384 /* 189111 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrr),
66385 /* 189116 */ GIR_RootConstrainSelectedInstOperands,
66386 /* 189117 */ // GIR_Coverage, 5615,
66387 /* 189117 */ GIR_Done,
66388 /* 189118 */ // Label 5414: @189118
66389 /* 189118 */ GIM_Reject,
66390 /* 189119 */ // Label 5412: @189119
66391 /* 189119 */ GIM_Reject,
66392 /* 189120 */ // Label 5410: @189120
66393 /* 189120 */ GIM_Reject,
66394 /* 189121 */ // Label 5366: @189121
66395 /* 189121 */ GIM_Try, /*On fail goto*//*Label 5415*/ GIMT_Encode4(189449),
66396 /* 189126 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
66397 /* 189129 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
66398 /* 189132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5416*/ GIMT_Encode4(189193), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23758 //
66399 /* 189139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66400 /* 189143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66401 /* 189147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66402 /* 189151 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66403 /* 189154 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66404 /* 189158 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66405 /* 189162 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66406 /* 189166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66407 /* 189168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66408 /* 189175 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66409 /* 189175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
66410 /* 189178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66411 /* 189180 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66412 /* 189182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66413 /* 189186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66414 /* 189191 */ GIR_RootConstrainSelectedInstOperands,
66415 /* 189192 */ // GIR_Coverage, 23758,
66416 /* 189192 */ GIR_EraseRootFromParent_Done,
66417 /* 189193 */ // Label 5416: @189193
66418 /* 189193 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5417*/ GIMT_Encode4(189254), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24369 //
66419 /* 189200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66420 /* 189204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66421 /* 189208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66422 /* 189212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66423 /* 189215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66424 /* 189219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66425 /* 189223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66426 /* 189227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66427 /* 189229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66428 /* 189236 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66429 /* 189236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
66430 /* 189239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66431 /* 189241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66432 /* 189243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66433 /* 189247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66434 /* 189252 */ GIR_RootConstrainSelectedInstOperands,
66435 /* 189253 */ // GIR_Coverage, 24369,
66436 /* 189253 */ GIR_EraseRootFromParent_Done,
66437 /* 189254 */ // Label 5417: @189254
66438 /* 189254 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5418*/ GIMT_Encode4(189315), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3176 //
66439 /* 189261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66440 /* 189265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66441 /* 189269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66442 /* 189273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66443 /* 189277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66444 /* 189280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66445 /* 189284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66446 /* 189288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66447 /* 189290 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66448 /* 189297 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66449 /* 189297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
66450 /* 189300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66451 /* 189302 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66452 /* 189304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66453 /* 189308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66454 /* 189313 */ GIR_RootConstrainSelectedInstOperands,
66455 /* 189314 */ // GIR_Coverage, 3176,
66456 /* 189314 */ GIR_EraseRootFromParent_Done,
66457 /* 189315 */ // Label 5418: @189315
66458 /* 189315 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5419*/ GIMT_Encode4(189376), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5654 //
66459 /* 189322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66460 /* 189326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66461 /* 189330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66462 /* 189334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66463 /* 189338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66464 /* 189341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66465 /* 189345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66466 /* 189349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66467 /* 189351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66468 /* 189358 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66469 /* 189358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
66470 /* 189361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66471 /* 189363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66472 /* 189365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66473 /* 189369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66474 /* 189374 */ GIR_RootConstrainSelectedInstOperands,
66475 /* 189375 */ // GIR_Coverage, 5654,
66476 /* 189375 */ GIR_EraseRootFromParent_Done,
66477 /* 189376 */ // Label 5419: @189376
66478 /* 189376 */ GIM_Try, /*On fail goto*//*Label 5420*/ GIMT_Encode4(189422),
66479 /* 189381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66480 /* 189385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66481 /* 189389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66482 /* 189393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5421*/ GIMT_Encode4(189407), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3175 //
66483 /* 189400 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66484 /* 189400 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDrr),
66485 /* 189405 */ GIR_RootConstrainSelectedInstOperands,
66486 /* 189406 */ // GIR_Coverage, 3175,
66487 /* 189406 */ GIR_Done,
66488 /* 189407 */ // Label 5421: @189407
66489 /* 189407 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5422*/ GIMT_Encode4(189421), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3213 //
66490 /* 189414 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66491 /* 189414 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUDrr),
66492 /* 189419 */ GIR_RootConstrainSelectedInstOperands,
66493 /* 189420 */ // GIR_Coverage, 3213,
66494 /* 189420 */ GIR_Done,
66495 /* 189421 */ // Label 5422: @189421
66496 /* 189421 */ GIM_Reject,
66497 /* 189422 */ // Label 5420: @189422
66498 /* 189422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5423*/ GIMT_Encode4(189448), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5651 //
66499 /* 189429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66500 /* 189433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66501 /* 189437 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66502 /* 189441 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
66503 /* 189441 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rr),
66504 /* 189446 */ GIR_RootConstrainSelectedInstOperands,
66505 /* 189447 */ // GIR_Coverage, 5651,
66506 /* 189447 */ GIR_Done,
66507 /* 189448 */ // Label 5423: @189448
66508 /* 189448 */ GIM_Reject,
66509 /* 189449 */ // Label 5415: @189449
66510 /* 189449 */ GIM_Reject,
66511 /* 189450 */ // Label 5367: @189450
66512 /* 189450 */ GIM_Try, /*On fail goto*//*Label 5424*/ GIMT_Encode4(189758),
66513 /* 189455 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
66514 /* 189458 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
66515 /* 189461 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5425*/ GIMT_Encode4(189522), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23767 //
66516 /* 189468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66517 /* 189472 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66518 /* 189476 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66519 /* 189480 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66520 /* 189483 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66521 /* 189487 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66522 /* 189491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66523 /* 189495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66524 /* 189497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66525 /* 189504 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66526 /* 189504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
66527 /* 189507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66528 /* 189509 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66529 /* 189511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66530 /* 189515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66531 /* 189520 */ GIR_RootConstrainSelectedInstOperands,
66532 /* 189521 */ // GIR_Coverage, 23767,
66533 /* 189521 */ GIR_EraseRootFromParent_Done,
66534 /* 189522 */ // Label 5425: @189522
66535 /* 189522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5426*/ GIMT_Encode4(189583), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24363 //
66536 /* 189529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66537 /* 189533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66538 /* 189537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66539 /* 189541 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66540 /* 189544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66541 /* 189548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66542 /* 189552 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66543 /* 189556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66544 /* 189558 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66545 /* 189565 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66546 /* 189565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
66547 /* 189568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66548 /* 189570 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66549 /* 189572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66550 /* 189576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66551 /* 189581 */ GIR_RootConstrainSelectedInstOperands,
66552 /* 189582 */ // GIR_Coverage, 24363,
66553 /* 189582 */ GIR_EraseRootFromParent_Done,
66554 /* 189583 */ // Label 5426: @189583
66555 /* 189583 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5427*/ GIMT_Encode4(189644), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3194 //
66556 /* 189590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66557 /* 189594 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66558 /* 189598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66559 /* 189602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66560 /* 189606 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66561 /* 189609 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66562 /* 189613 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66563 /* 189617 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66564 /* 189619 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66565 /* 189626 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66566 /* 189626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
66567 /* 189629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66568 /* 189631 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66569 /* 189633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66570 /* 189637 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66571 /* 189642 */ GIR_RootConstrainSelectedInstOperands,
66572 /* 189643 */ // GIR_Coverage, 3194,
66573 /* 189643 */ GIR_EraseRootFromParent_Done,
66574 /* 189644 */ // Label 5427: @189644
66575 /* 189644 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5428*/ GIMT_Encode4(189705), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5645 //
66576 /* 189651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66577 /* 189655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66578 /* 189659 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66579 /* 189663 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66580 /* 189667 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66581 /* 189670 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66582 /* 189674 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66583 /* 189678 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66584 /* 189680 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66585 /* 189687 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66586 /* 189687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
66587 /* 189690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66588 /* 189692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66589 /* 189694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66590 /* 189698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66591 /* 189703 */ GIR_RootConstrainSelectedInstOperands,
66592 /* 189704 */ // GIR_Coverage, 5645,
66593 /* 189704 */ GIR_EraseRootFromParent_Done,
66594 /* 189705 */ // Label 5428: @189705
66595 /* 189705 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5429*/ GIMT_Encode4(189731), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3193 //
66596 /* 189712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66597 /* 189716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66598 /* 189720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66599 /* 189724 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
66600 /* 189724 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrr),
66601 /* 189729 */ GIR_RootConstrainSelectedInstOperands,
66602 /* 189730 */ // GIR_Coverage, 3193,
66603 /* 189730 */ GIR_Done,
66604 /* 189731 */ // Label 5429: @189731
66605 /* 189731 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5430*/ GIMT_Encode4(189757), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5642 //
66606 /* 189738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66607 /* 189742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66608 /* 189746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66609 /* 189750 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
66610 /* 189750 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rr),
66611 /* 189755 */ GIR_RootConstrainSelectedInstOperands,
66612 /* 189756 */ // GIR_Coverage, 5642,
66613 /* 189756 */ GIR_Done,
66614 /* 189757 */ // Label 5430: @189757
66615 /* 189757 */ GIM_Reject,
66616 /* 189758 */ // Label 5424: @189758
66617 /* 189758 */ GIM_Reject,
66618 /* 189759 */ // Label 5368: @189759
66619 /* 189759 */ GIM_Try, /*On fail goto*//*Label 5431*/ GIMT_Encode4(189913),
66620 /* 189764 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
66621 /* 189767 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
66622 /* 189770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66623 /* 189774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5432*/ GIMT_Encode4(189831), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24357 //
66624 /* 189781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66625 /* 189785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66626 /* 189789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66627 /* 189792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66628 /* 189796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66629 /* 189800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66630 /* 189804 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66631 /* 189806 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66632 /* 189813 */ // (umin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66633 /* 189813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
66634 /* 189816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66635 /* 189818 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66636 /* 189820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66637 /* 189824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66638 /* 189829 */ GIR_RootConstrainSelectedInstOperands,
66639 /* 189830 */ // GIR_Coverage, 24357,
66640 /* 189830 */ GIR_EraseRootFromParent_Done,
66641 /* 189831 */ // Label 5432: @189831
66642 /* 189831 */ GIM_Try, /*On fail goto*//*Label 5433*/ GIMT_Encode4(189912),
66643 /* 189836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66644 /* 189840 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5434*/ GIMT_Encode4(189893), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5636 //
66645 /* 189847 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66646 /* 189851 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66647 /* 189855 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66648 /* 189858 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66649 /* 189862 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66650 /* 189866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66651 /* 189868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66652 /* 189875 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66653 /* 189875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
66654 /* 189878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66655 /* 189880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66656 /* 189882 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66657 /* 189886 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66658 /* 189891 */ GIR_RootConstrainSelectedInstOperands,
66659 /* 189892 */ // GIR_Coverage, 5636,
66660 /* 189892 */ GIR_EraseRootFromParent_Done,
66661 /* 189893 */ // Label 5434: @189893
66662 /* 189893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5435*/ GIMT_Encode4(189911), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5633 //
66663 /* 189900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66664 /* 189904 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
66665 /* 189904 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrr),
66666 /* 189909 */ GIR_RootConstrainSelectedInstOperands,
66667 /* 189910 */ // GIR_Coverage, 5633,
66668 /* 189910 */ GIR_Done,
66669 /* 189911 */ // Label 5435: @189911
66670 /* 189911 */ GIM_Reject,
66671 /* 189912 */ // Label 5433: @189912
66672 /* 189912 */ GIM_Reject,
66673 /* 189913 */ // Label 5431: @189913
66674 /* 189913 */ GIM_Reject,
66675 /* 189914 */ // Label 5369: @189914
66676 /* 189914 */ GIM_Try, /*On fail goto*//*Label 5436*/ GIMT_Encode4(190238),
66677 /* 189919 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
66678 /* 189922 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
66679 /* 189925 */ GIM_Try, /*On fail goto*//*Label 5437*/ GIMT_Encode4(190073),
66680 /* 189930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66681 /* 189934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5438*/ GIMT_Encode4(189991), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24387 //
66682 /* 189941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66683 /* 189945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66684 /* 189949 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66685 /* 189952 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66686 /* 189956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66687 /* 189960 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66688 /* 189964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66689 /* 189966 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66690 /* 189973 */ // (umin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66691 /* 189973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
66692 /* 189976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66693 /* 189978 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66694 /* 189980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66695 /* 189984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66696 /* 189989 */ GIR_RootConstrainSelectedInstOperands,
66697 /* 189990 */ // GIR_Coverage, 24387,
66698 /* 189990 */ GIR_EraseRootFromParent_Done,
66699 /* 189991 */ // Label 5438: @189991
66700 /* 189991 */ GIM_Try, /*On fail goto*//*Label 5439*/ GIMT_Encode4(190072),
66701 /* 189996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66702 /* 190000 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5440*/ GIMT_Encode4(190053), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5681 //
66703 /* 190007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66704 /* 190011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66705 /* 190015 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66706 /* 190018 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66707 /* 190022 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66708 /* 190026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66709 /* 190028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66710 /* 190035 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66711 /* 190035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
66712 /* 190038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66713 /* 190040 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66714 /* 190042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66715 /* 190046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66716 /* 190051 */ GIR_RootConstrainSelectedInstOperands,
66717 /* 190052 */ // GIR_Coverage, 5681,
66718 /* 190052 */ GIR_EraseRootFromParent_Done,
66719 /* 190053 */ // Label 5440: @190053
66720 /* 190053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5441*/ GIMT_Encode4(190071), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5678 //
66721 /* 190060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66722 /* 190064 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
66723 /* 190064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rr),
66724 /* 190069 */ GIR_RootConstrainSelectedInstOperands,
66725 /* 190070 */ // GIR_Coverage, 5678,
66726 /* 190070 */ GIR_Done,
66727 /* 190071 */ // Label 5441: @190071
66728 /* 190071 */ GIM_Reject,
66729 /* 190072 */ // Label 5439: @190072
66730 /* 190072 */ GIM_Reject,
66731 /* 190073 */ // Label 5437: @190073
66732 /* 190073 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5442*/ GIMT_Encode4(190237), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20139 //
66733 /* 190080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
66734 /* 190084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66735 /* 190088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66736 /* 190092 */ // (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] })
66737 /* 190092 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66738 /* 190095 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66739 /* 190099 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66740 /* 190104 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66741 /* 190106 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66742 /* 190109 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66743 /* 190113 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66744 /* 190118 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66745 /* 190121 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66746 /* 190125 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
66747 /* 190128 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66748 /* 190133 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66749 /* 190138 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66750 /* 190143 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66751 /* 190146 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66752 /* 190150 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66753 /* 190155 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66754 /* 190157 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66755 /* 190160 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66756 /* 190164 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66757 /* 190169 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66758 /* 190172 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66759 /* 190176 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
66760 /* 190179 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66761 /* 190184 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66762 /* 190189 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66763 /* 190194 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66764 /* 190197 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
66765 /* 190201 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66766 /* 190206 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66767 /* 190209 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66768 /* 190212 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66769 /* 190214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66770 /* 190217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66771 /* 190219 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
66772 /* 190226 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
66773 /* 190231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66774 /* 190236 */ // GIR_Coverage, 20139,
66775 /* 190236 */ GIR_EraseRootFromParent_Done,
66776 /* 190237 */ // Label 5442: @190237
66777 /* 190237 */ GIM_Reject,
66778 /* 190238 */ // Label 5436: @190238
66779 /* 190238 */ GIM_Reject,
66780 /* 190239 */ // Label 5370: @190239
66781 /* 190239 */ GIM_Try, /*On fail goto*//*Label 5443*/ GIMT_Encode4(190551),
66782 /* 190244 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
66783 /* 190247 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
66784 /* 190250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66785 /* 190254 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5444*/ GIMT_Encode4(190311), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24381 //
66786 /* 190261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66787 /* 190265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66788 /* 190269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66789 /* 190272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66790 /* 190276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66791 /* 190280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66792 /* 190284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66793 /* 190286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66794 /* 190293 */ // (umin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66795 /* 190293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
66796 /* 190296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66797 /* 190298 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66798 /* 190300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66799 /* 190304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66800 /* 190309 */ GIR_RootConstrainSelectedInstOperands,
66801 /* 190310 */ // GIR_Coverage, 24381,
66802 /* 190310 */ GIR_EraseRootFromParent_Done,
66803 /* 190311 */ // Label 5444: @190311
66804 /* 190311 */ GIM_Try, /*On fail goto*//*Label 5445*/ GIMT_Encode4(190550),
66805 /* 190316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66806 /* 190320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5446*/ GIMT_Encode4(190373), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5672 //
66807 /* 190327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66808 /* 190331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66809 /* 190335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66810 /* 190338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66811 /* 190342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66812 /* 190346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66813 /* 190348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66814 /* 190355 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66815 /* 190355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
66816 /* 190358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66817 /* 190360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66818 /* 190362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66819 /* 190366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66820 /* 190371 */ GIR_RootConstrainSelectedInstOperands,
66821 /* 190372 */ // GIR_Coverage, 5672,
66822 /* 190372 */ GIR_EraseRootFromParent_Done,
66823 /* 190373 */ // Label 5446: @190373
66824 /* 190373 */ GIM_Try, /*On fail goto*//*Label 5447*/ GIMT_Encode4(190549),
66825 /* 190378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66826 /* 190382 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5448*/ GIMT_Encode4(190396), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5669 //
66827 /* 190389 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
66828 /* 190389 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rr),
66829 /* 190394 */ GIR_RootConstrainSelectedInstOperands,
66830 /* 190395 */ // GIR_Coverage, 5669,
66831 /* 190395 */ GIR_Done,
66832 /* 190396 */ // Label 5448: @190396
66833 /* 190396 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5449*/ GIMT_Encode4(190548), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20138 //
66834 /* 190403 */ // (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] })
66835 /* 190403 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66836 /* 190406 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66837 /* 190410 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66838 /* 190415 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66839 /* 190417 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66840 /* 190420 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66841 /* 190424 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66842 /* 190429 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66843 /* 190432 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66844 /* 190436 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
66845 /* 190439 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66846 /* 190444 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66847 /* 190449 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66848 /* 190454 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66849 /* 190457 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66850 /* 190461 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66851 /* 190466 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66852 /* 190468 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66853 /* 190471 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66854 /* 190475 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66855 /* 190480 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66856 /* 190483 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66857 /* 190487 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
66858 /* 190490 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66859 /* 190495 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66860 /* 190500 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66861 /* 190505 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66862 /* 190508 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
66863 /* 190512 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66864 /* 190517 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66865 /* 190520 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66866 /* 190523 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66867 /* 190525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66868 /* 190528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66869 /* 190530 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
66870 /* 190537 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
66871 /* 190542 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66872 /* 190547 */ // GIR_Coverage, 20138,
66873 /* 190547 */ GIR_EraseRootFromParent_Done,
66874 /* 190548 */ // Label 5449: @190548
66875 /* 190548 */ GIM_Reject,
66876 /* 190549 */ // Label 5447: @190549
66877 /* 190549 */ GIM_Reject,
66878 /* 190550 */ // Label 5445: @190550
66879 /* 190550 */ GIM_Reject,
66880 /* 190551 */ // Label 5443: @190551
66881 /* 190551 */ GIM_Reject,
66882 /* 190552 */ // Label 5371: @190552
66883 /* 190552 */ GIM_Try, /*On fail goto*//*Label 5450*/ GIMT_Encode4(190706),
66884 /* 190557 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
66885 /* 190560 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
66886 /* 190563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66887 /* 190567 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5451*/ GIMT_Encode4(190624), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24375 //
66888 /* 190574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66889 /* 190578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66890 /* 190582 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66891 /* 190585 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66892 /* 190589 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66893 /* 190593 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66894 /* 190597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66895 /* 190599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66896 /* 190606 */ // (umin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66897 /* 190606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
66898 /* 190609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66899 /* 190611 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66900 /* 190613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66901 /* 190617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66902 /* 190622 */ GIR_RootConstrainSelectedInstOperands,
66903 /* 190623 */ // GIR_Coverage, 24375,
66904 /* 190623 */ GIR_EraseRootFromParent_Done,
66905 /* 190624 */ // Label 5451: @190624
66906 /* 190624 */ GIM_Try, /*On fail goto*//*Label 5452*/ GIMT_Encode4(190705),
66907 /* 190629 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66908 /* 190633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5453*/ GIMT_Encode4(190686), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5663 //
66909 /* 190640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66910 /* 190644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66911 /* 190648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66912 /* 190651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66913 /* 190655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66914 /* 190659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66915 /* 190661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66916 /* 190668 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66917 /* 190668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
66918 /* 190671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66919 /* 190673 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66920 /* 190675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66921 /* 190679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66922 /* 190684 */ GIR_RootConstrainSelectedInstOperands,
66923 /* 190685 */ // GIR_Coverage, 5663,
66924 /* 190685 */ GIR_EraseRootFromParent_Done,
66925 /* 190686 */ // Label 5453: @190686
66926 /* 190686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5454*/ GIMT_Encode4(190704), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5660 //
66927 /* 190693 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66928 /* 190697 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
66929 /* 190697 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
66930 /* 190702 */ GIR_RootConstrainSelectedInstOperands,
66931 /* 190703 */ // GIR_Coverage, 5660,
66932 /* 190703 */ GIR_Done,
66933 /* 190704 */ // Label 5454: @190704
66934 /* 190704 */ GIM_Reject,
66935 /* 190705 */ // Label 5452: @190705
66936 /* 190705 */ GIM_Reject,
66937 /* 190706 */ // Label 5450: @190706
66938 /* 190706 */ GIM_Reject,
66939 /* 190707 */ // Label 5372: @190707
66940 /* 190707 */ GIM_Reject,
66941 /* 190708 */ // Label 62: @190708
66942 /* 190708 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5467*/ GIMT_Encode4(193939),
66943 /* 190719 */ /*GILLT_v16s8*//*Label 5455*/ GIMT_Encode4(190767),
66944 /* 190723 */ /*GILLT_v32s8*//*Label 5456*/ GIMT_Encode4(191096),
66945 /* 190727 */ /*GILLT_v64s8*//*Label 5457*/ GIMT_Encode4(191405),
66946 /* 190731 */ /*GILLT_v8s16*//*Label 5458*/ GIMT_Encode4(191560),
66947 /* 190735 */ /*GILLT_v16s16*//*Label 5459*/ GIMT_Encode4(191889),
66948 /* 190739 */ /*GILLT_v32s16*//*Label 5460*/ GIMT_Encode4(192198),
66949 /* 190743 */ /*GILLT_v4s32*//*Label 5461*/ GIMT_Encode4(192353),
66950 /* 190747 */ /*GILLT_v8s32*//*Label 5462*/ GIMT_Encode4(192682),
66951 /* 190751 */ /*GILLT_v16s32*//*Label 5463*/ GIMT_Encode4(192991),
66952 /* 190755 */ /*GILLT_v2s64*//*Label 5464*/ GIMT_Encode4(193146),
66953 /* 190759 */ /*GILLT_v4s64*//*Label 5465*/ GIMT_Encode4(193471),
66954 /* 190763 */ /*GILLT_v8s64*//*Label 5466*/ GIMT_Encode4(193784),
66955 /* 190767 */ // Label 5455: @190767
66956 /* 190767 */ GIM_Try, /*On fail goto*//*Label 5468*/ GIMT_Encode4(191095),
66957 /* 190772 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
66958 /* 190775 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
66959 /* 190778 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5469*/ GIMT_Encode4(190839), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23724 //
66960 /* 190785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66961 /* 190789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66962 /* 190793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66963 /* 190797 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66964 /* 190800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66965 /* 190804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66966 /* 190808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66967 /* 190812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66968 /* 190814 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66969 /* 190821 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66970 /* 190821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
66971 /* 190824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66972 /* 190826 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66973 /* 190828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66974 /* 190832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66975 /* 190837 */ GIR_RootConstrainSelectedInstOperands,
66976 /* 190838 */ // GIR_Coverage, 23724,
66977 /* 190838 */ GIR_EraseRootFromParent_Done,
66978 /* 190839 */ // Label 5469: @190839
66979 /* 190839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5470*/ GIMT_Encode4(190900), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24237 //
66980 /* 190846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66981 /* 190850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66982 /* 190854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66983 /* 190858 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66984 /* 190861 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66985 /* 190865 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66986 /* 190869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66987 /* 190873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66988 /* 190875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66989 /* 190882 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66990 /* 190882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
66991 /* 190885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66992 /* 190887 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66993 /* 190889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66994 /* 190893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66995 /* 190898 */ GIR_RootConstrainSelectedInstOperands,
66996 /* 190899 */ // GIR_Coverage, 24237,
66997 /* 190899 */ GIR_EraseRootFromParent_Done,
66998 /* 190900 */ // Label 5470: @190900
66999 /* 190900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5471*/ GIMT_Encode4(190961), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2631 //
67000 /* 190907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67001 /* 190911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67002 /* 190915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67003 /* 190919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67004 /* 190923 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67005 /* 190926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67006 /* 190930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67007 /* 190934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67008 /* 190936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67009 /* 190943 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67010 /* 190943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
67011 /* 190946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67012 /* 190948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67013 /* 190950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67014 /* 190954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67015 /* 190959 */ GIR_RootConstrainSelectedInstOperands,
67016 /* 190960 */ // GIR_Coverage, 2631,
67017 /* 190960 */ GIR_EraseRootFromParent_Done,
67018 /* 190961 */ // Label 5471: @190961
67019 /* 190961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5472*/ GIMT_Encode4(191022), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5432 //
67020 /* 190968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67021 /* 190972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67022 /* 190976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67023 /* 190980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67024 /* 190984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67025 /* 190987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67026 /* 190991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67027 /* 190995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67028 /* 190997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67029 /* 191004 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67030 /* 191004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
67031 /* 191007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67032 /* 191009 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67033 /* 191011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67034 /* 191015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67035 /* 191020 */ GIR_RootConstrainSelectedInstOperands,
67036 /* 191021 */ // GIR_Coverage, 5432,
67037 /* 191021 */ GIR_EraseRootFromParent_Done,
67038 /* 191022 */ // Label 5472: @191022
67039 /* 191022 */ GIM_Try, /*On fail goto*//*Label 5473*/ GIMT_Encode4(191068),
67040 /* 191027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67041 /* 191031 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67042 /* 191035 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67043 /* 191039 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5474*/ GIMT_Encode4(191053), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2630 //
67044 /* 191046 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67045 /* 191046 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrr),
67046 /* 191051 */ GIR_RootConstrainSelectedInstOperands,
67047 /* 191052 */ // GIR_Coverage, 2630,
67048 /* 191052 */ GIR_Done,
67049 /* 191053 */ // Label 5474: @191053
67050 /* 191053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5475*/ GIMT_Encode4(191067), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2632 //
67051 /* 191060 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67052 /* 191060 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUBrr),
67053 /* 191065 */ GIR_RootConstrainSelectedInstOperands,
67054 /* 191066 */ // GIR_Coverage, 2632,
67055 /* 191066 */ GIR_Done,
67056 /* 191067 */ // Label 5475: @191067
67057 /* 191067 */ GIM_Reject,
67058 /* 191068 */ // Label 5473: @191068
67059 /* 191068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5476*/ GIMT_Encode4(191094), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5429 //
67060 /* 191075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67061 /* 191079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67062 /* 191083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67063 /* 191087 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
67064 /* 191087 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rr),
67065 /* 191092 */ GIR_RootConstrainSelectedInstOperands,
67066 /* 191093 */ // GIR_Coverage, 5429,
67067 /* 191093 */ GIR_Done,
67068 /* 191094 */ // Label 5476: @191094
67069 /* 191094 */ GIM_Reject,
67070 /* 191095 */ // Label 5468: @191095
67071 /* 191095 */ GIM_Reject,
67072 /* 191096 */ // Label 5456: @191096
67073 /* 191096 */ GIM_Try, /*On fail goto*//*Label 5477*/ GIMT_Encode4(191404),
67074 /* 191101 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
67075 /* 191104 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
67076 /* 191107 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5478*/ GIMT_Encode4(191168), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23726 //
67077 /* 191114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67078 /* 191118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67079 /* 191122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67080 /* 191126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67081 /* 191129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67082 /* 191133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67083 /* 191137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67084 /* 191141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67085 /* 191143 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67086 /* 191150 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67087 /* 191150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
67088 /* 191153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67089 /* 191155 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67090 /* 191157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67091 /* 191161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67092 /* 191166 */ GIR_RootConstrainSelectedInstOperands,
67093 /* 191167 */ // GIR_Coverage, 23726,
67094 /* 191167 */ GIR_EraseRootFromParent_Done,
67095 /* 191168 */ // Label 5478: @191168
67096 /* 191168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5479*/ GIMT_Encode4(191229), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24234 //
67097 /* 191175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67098 /* 191179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67099 /* 191183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67100 /* 191187 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67101 /* 191190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67102 /* 191194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67103 /* 191198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67104 /* 191202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67105 /* 191204 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67106 /* 191211 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67107 /* 191211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
67108 /* 191214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67109 /* 191216 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67110 /* 191218 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67111 /* 191222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67112 /* 191227 */ GIR_RootConstrainSelectedInstOperands,
67113 /* 191228 */ // GIR_Coverage, 24234,
67114 /* 191228 */ GIR_EraseRootFromParent_Done,
67115 /* 191229 */ // Label 5479: @191229
67116 /* 191229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5480*/ GIMT_Encode4(191290), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2635 //
67117 /* 191236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67118 /* 191240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67119 /* 191244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67120 /* 191248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67121 /* 191252 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67122 /* 191255 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67123 /* 191259 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67124 /* 191263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67125 /* 191265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67126 /* 191272 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67127 /* 191272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
67128 /* 191275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67129 /* 191277 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67130 /* 191279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67131 /* 191283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67132 /* 191288 */ GIR_RootConstrainSelectedInstOperands,
67133 /* 191289 */ // GIR_Coverage, 2635,
67134 /* 191289 */ GIR_EraseRootFromParent_Done,
67135 /* 191290 */ // Label 5480: @191290
67136 /* 191290 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5481*/ GIMT_Encode4(191351), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5426 //
67137 /* 191297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67138 /* 191301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67139 /* 191305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67140 /* 191309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67141 /* 191313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67142 /* 191316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67143 /* 191320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67144 /* 191324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67145 /* 191326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67146 /* 191333 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67147 /* 191333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
67148 /* 191336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67149 /* 191338 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67150 /* 191340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67151 /* 191344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67152 /* 191349 */ GIR_RootConstrainSelectedInstOperands,
67153 /* 191350 */ // GIR_Coverage, 5426,
67154 /* 191350 */ GIR_EraseRootFromParent_Done,
67155 /* 191351 */ // Label 5481: @191351
67156 /* 191351 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5482*/ GIMT_Encode4(191377), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2634 //
67157 /* 191358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67158 /* 191362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67159 /* 191366 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67160 /* 191370 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
67161 /* 191370 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrr),
67162 /* 191375 */ GIR_RootConstrainSelectedInstOperands,
67163 /* 191376 */ // GIR_Coverage, 2634,
67164 /* 191376 */ GIR_Done,
67165 /* 191377 */ // Label 5482: @191377
67166 /* 191377 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5483*/ GIMT_Encode4(191403), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5423 //
67167 /* 191384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67168 /* 191388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67169 /* 191392 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67170 /* 191396 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
67171 /* 191396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rr),
67172 /* 191401 */ GIR_RootConstrainSelectedInstOperands,
67173 /* 191402 */ // GIR_Coverage, 5423,
67174 /* 191402 */ GIR_Done,
67175 /* 191403 */ // Label 5483: @191403
67176 /* 191403 */ GIM_Reject,
67177 /* 191404 */ // Label 5477: @191404
67178 /* 191404 */ GIM_Reject,
67179 /* 191405 */ // Label 5457: @191405
67180 /* 191405 */ GIM_Try, /*On fail goto*//*Label 5484*/ GIMT_Encode4(191559),
67181 /* 191410 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
67182 /* 191413 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
67183 /* 191416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67184 /* 191420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5485*/ GIMT_Encode4(191477), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24231 //
67185 /* 191427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67186 /* 191431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67187 /* 191435 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67188 /* 191438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67189 /* 191442 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67190 /* 191446 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67191 /* 191450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67192 /* 191452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67193 /* 191459 */ // (umax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67194 /* 191459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
67195 /* 191462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67196 /* 191464 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67197 /* 191466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67198 /* 191470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67199 /* 191475 */ GIR_RootConstrainSelectedInstOperands,
67200 /* 191476 */ // GIR_Coverage, 24231,
67201 /* 191476 */ GIR_EraseRootFromParent_Done,
67202 /* 191477 */ // Label 5485: @191477
67203 /* 191477 */ GIM_Try, /*On fail goto*//*Label 5486*/ GIMT_Encode4(191558),
67204 /* 191482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67205 /* 191486 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5487*/ GIMT_Encode4(191539), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5420 //
67206 /* 191493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67207 /* 191497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67208 /* 191501 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67209 /* 191504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67210 /* 191508 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67211 /* 191512 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67212 /* 191514 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67213 /* 191521 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67214 /* 191521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
67215 /* 191524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67216 /* 191526 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67217 /* 191528 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67218 /* 191532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67219 /* 191537 */ GIR_RootConstrainSelectedInstOperands,
67220 /* 191538 */ // GIR_Coverage, 5420,
67221 /* 191538 */ GIR_EraseRootFromParent_Done,
67222 /* 191539 */ // Label 5487: @191539
67223 /* 191539 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5488*/ GIMT_Encode4(191557), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5417 //
67224 /* 191546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67225 /* 191550 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
67226 /* 191550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrr),
67227 /* 191555 */ GIR_RootConstrainSelectedInstOperands,
67228 /* 191556 */ // GIR_Coverage, 5417,
67229 /* 191556 */ GIR_Done,
67230 /* 191557 */ // Label 5488: @191557
67231 /* 191557 */ GIM_Reject,
67232 /* 191558 */ // Label 5486: @191558
67233 /* 191558 */ GIM_Reject,
67234 /* 191559 */ // Label 5484: @191559
67235 /* 191559 */ GIM_Reject,
67236 /* 191560 */ // Label 5458: @191560
67237 /* 191560 */ GIM_Try, /*On fail goto*//*Label 5489*/ GIMT_Encode4(191888),
67238 /* 191565 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
67239 /* 191568 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
67240 /* 191571 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5490*/ GIMT_Encode4(191632), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23765 //
67241 /* 191578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67242 /* 191582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67243 /* 191586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67244 /* 191590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67245 /* 191593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67246 /* 191597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67247 /* 191601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67248 /* 191605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67249 /* 191607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67250 /* 191614 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67251 /* 191614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
67252 /* 191617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67253 /* 191619 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67254 /* 191621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67255 /* 191625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67256 /* 191630 */ GIR_RootConstrainSelectedInstOperands,
67257 /* 191631 */ // GIR_Coverage, 23765,
67258 /* 191631 */ GIR_EraseRootFromParent_Done,
67259 /* 191632 */ // Label 5490: @191632
67260 /* 191632 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5491*/ GIMT_Encode4(191693), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24246 //
67261 /* 191639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67262 /* 191643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67263 /* 191647 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67264 /* 191651 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67265 /* 191654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67266 /* 191658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67267 /* 191662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67268 /* 191666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67269 /* 191668 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67270 /* 191675 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67271 /* 191675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
67272 /* 191678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67273 /* 191680 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67274 /* 191682 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67275 /* 191686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67276 /* 191691 */ GIR_RootConstrainSelectedInstOperands,
67277 /* 191692 */ // GIR_Coverage, 24246,
67278 /* 191692 */ GIR_EraseRootFromParent_Done,
67279 /* 191693 */ // Label 5491: @191693
67280 /* 191693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5492*/ GIMT_Encode4(191754), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3190 //
67281 /* 191700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67282 /* 191704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67283 /* 191708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67284 /* 191712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67285 /* 191716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67286 /* 191719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67287 /* 191723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67288 /* 191727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67289 /* 191729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67290 /* 191736 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67291 /* 191736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
67292 /* 191739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67293 /* 191741 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67294 /* 191743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67295 /* 191747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67296 /* 191752 */ GIR_RootConstrainSelectedInstOperands,
67297 /* 191753 */ // GIR_Coverage, 3190,
67298 /* 191753 */ GIR_EraseRootFromParent_Done,
67299 /* 191754 */ // Label 5492: @191754
67300 /* 191754 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5493*/ GIMT_Encode4(191815), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5450 //
67301 /* 191761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67302 /* 191765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67303 /* 191769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67304 /* 191773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67305 /* 191777 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67306 /* 191780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67307 /* 191784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67308 /* 191788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67309 /* 191790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67310 /* 191797 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67311 /* 191797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
67312 /* 191800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67313 /* 191802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67314 /* 191804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67315 /* 191808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67316 /* 191813 */ GIR_RootConstrainSelectedInstOperands,
67317 /* 191814 */ // GIR_Coverage, 5450,
67318 /* 191814 */ GIR_EraseRootFromParent_Done,
67319 /* 191815 */ // Label 5493: @191815
67320 /* 191815 */ GIM_Try, /*On fail goto*//*Label 5494*/ GIMT_Encode4(191861),
67321 /* 191820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67322 /* 191824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67323 /* 191828 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67324 /* 191832 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5495*/ GIMT_Encode4(191846), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3189 //
67325 /* 191839 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67326 /* 191839 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrr),
67327 /* 191844 */ GIR_RootConstrainSelectedInstOperands,
67328 /* 191845 */ // GIR_Coverage, 3189,
67329 /* 191845 */ GIR_Done,
67330 /* 191846 */ // Label 5495: @191846
67331 /* 191846 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5496*/ GIMT_Encode4(191860), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3223 //
67332 /* 191853 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67333 /* 191853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUWrr),
67334 /* 191858 */ GIR_RootConstrainSelectedInstOperands,
67335 /* 191859 */ // GIR_Coverage, 3223,
67336 /* 191859 */ GIR_Done,
67337 /* 191860 */ // Label 5496: @191860
67338 /* 191860 */ GIM_Reject,
67339 /* 191861 */ // Label 5494: @191861
67340 /* 191861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5497*/ GIMT_Encode4(191887), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5447 //
67341 /* 191868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67342 /* 191872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67343 /* 191876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67344 /* 191880 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
67345 /* 191880 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rr),
67346 /* 191885 */ GIR_RootConstrainSelectedInstOperands,
67347 /* 191886 */ // GIR_Coverage, 5447,
67348 /* 191886 */ GIR_Done,
67349 /* 191887 */ // Label 5497: @191887
67350 /* 191887 */ GIM_Reject,
67351 /* 191888 */ // Label 5489: @191888
67352 /* 191888 */ GIM_Reject,
67353 /* 191889 */ // Label 5459: @191889
67354 /* 191889 */ GIM_Try, /*On fail goto*//*Label 5498*/ GIMT_Encode4(192197),
67355 /* 191894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
67356 /* 191897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
67357 /* 191900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5499*/ GIMT_Encode4(191961), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23774 //
67358 /* 191907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67359 /* 191911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67360 /* 191915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67361 /* 191919 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67362 /* 191922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67363 /* 191926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67364 /* 191930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67365 /* 191934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67366 /* 191936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67367 /* 191943 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67368 /* 191943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
67369 /* 191946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67370 /* 191948 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67371 /* 191950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67372 /* 191954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67373 /* 191959 */ GIR_RootConstrainSelectedInstOperands,
67374 /* 191960 */ // GIR_Coverage, 23774,
67375 /* 191960 */ GIR_EraseRootFromParent_Done,
67376 /* 191961 */ // Label 5499: @191961
67377 /* 191961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5500*/ GIMT_Encode4(192022), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24243 //
67378 /* 191968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67379 /* 191972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67380 /* 191976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67381 /* 191980 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67382 /* 191983 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67383 /* 191987 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67384 /* 191991 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67385 /* 191995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67386 /* 191997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67387 /* 192004 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67388 /* 192004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
67389 /* 192007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67390 /* 192009 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67391 /* 192011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67392 /* 192015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67393 /* 192020 */ GIR_RootConstrainSelectedInstOperands,
67394 /* 192021 */ // GIR_Coverage, 24243,
67395 /* 192021 */ GIR_EraseRootFromParent_Done,
67396 /* 192022 */ // Label 5500: @192022
67397 /* 192022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5501*/ GIMT_Encode4(192083), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3208 //
67398 /* 192029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67399 /* 192033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67400 /* 192037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67401 /* 192041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67402 /* 192045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67403 /* 192048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67404 /* 192052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67405 /* 192056 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67406 /* 192058 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67407 /* 192065 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67408 /* 192065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
67409 /* 192068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67410 /* 192070 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67411 /* 192072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67412 /* 192076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67413 /* 192081 */ GIR_RootConstrainSelectedInstOperands,
67414 /* 192082 */ // GIR_Coverage, 3208,
67415 /* 192082 */ GIR_EraseRootFromParent_Done,
67416 /* 192083 */ // Label 5501: @192083
67417 /* 192083 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5502*/ GIMT_Encode4(192144), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5444 //
67418 /* 192090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67419 /* 192094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67420 /* 192098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67421 /* 192102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67422 /* 192106 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67423 /* 192109 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67424 /* 192113 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67425 /* 192117 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67426 /* 192119 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67427 /* 192126 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67428 /* 192126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
67429 /* 192129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67430 /* 192131 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67431 /* 192133 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67432 /* 192137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67433 /* 192142 */ GIR_RootConstrainSelectedInstOperands,
67434 /* 192143 */ // GIR_Coverage, 5444,
67435 /* 192143 */ GIR_EraseRootFromParent_Done,
67436 /* 192144 */ // Label 5502: @192144
67437 /* 192144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5503*/ GIMT_Encode4(192170), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3207 //
67438 /* 192151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67439 /* 192155 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67440 /* 192159 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67441 /* 192163 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
67442 /* 192163 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrr),
67443 /* 192168 */ GIR_RootConstrainSelectedInstOperands,
67444 /* 192169 */ // GIR_Coverage, 3207,
67445 /* 192169 */ GIR_Done,
67446 /* 192170 */ // Label 5503: @192170
67447 /* 192170 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5504*/ GIMT_Encode4(192196), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5441 //
67448 /* 192177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67449 /* 192181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67450 /* 192185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67451 /* 192189 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
67452 /* 192189 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rr),
67453 /* 192194 */ GIR_RootConstrainSelectedInstOperands,
67454 /* 192195 */ // GIR_Coverage, 5441,
67455 /* 192195 */ GIR_Done,
67456 /* 192196 */ // Label 5504: @192196
67457 /* 192196 */ GIM_Reject,
67458 /* 192197 */ // Label 5498: @192197
67459 /* 192197 */ GIM_Reject,
67460 /* 192198 */ // Label 5460: @192198
67461 /* 192198 */ GIM_Try, /*On fail goto*//*Label 5505*/ GIMT_Encode4(192352),
67462 /* 192203 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
67463 /* 192206 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
67464 /* 192209 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67465 /* 192213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5506*/ GIMT_Encode4(192270), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24240 //
67466 /* 192220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67467 /* 192224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67468 /* 192228 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67469 /* 192231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67470 /* 192235 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67471 /* 192239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67472 /* 192243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67473 /* 192245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67474 /* 192252 */ // (umax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67475 /* 192252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
67476 /* 192255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67477 /* 192257 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67478 /* 192259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67479 /* 192263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67480 /* 192268 */ GIR_RootConstrainSelectedInstOperands,
67481 /* 192269 */ // GIR_Coverage, 24240,
67482 /* 192269 */ GIR_EraseRootFromParent_Done,
67483 /* 192270 */ // Label 5506: @192270
67484 /* 192270 */ GIM_Try, /*On fail goto*//*Label 5507*/ GIMT_Encode4(192351),
67485 /* 192275 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67486 /* 192279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5508*/ GIMT_Encode4(192332), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5438 //
67487 /* 192286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67488 /* 192290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67489 /* 192294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67490 /* 192297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67491 /* 192301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67492 /* 192305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67493 /* 192307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67494 /* 192314 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67495 /* 192314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
67496 /* 192317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67497 /* 192319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67498 /* 192321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67499 /* 192325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67500 /* 192330 */ GIR_RootConstrainSelectedInstOperands,
67501 /* 192331 */ // GIR_Coverage, 5438,
67502 /* 192331 */ GIR_EraseRootFromParent_Done,
67503 /* 192332 */ // Label 5508: @192332
67504 /* 192332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5509*/ GIMT_Encode4(192350), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5435 //
67505 /* 192339 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67506 /* 192343 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
67507 /* 192343 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrr),
67508 /* 192348 */ GIR_RootConstrainSelectedInstOperands,
67509 /* 192349 */ // GIR_Coverage, 5435,
67510 /* 192349 */ GIR_Done,
67511 /* 192350 */ // Label 5509: @192350
67512 /* 192350 */ GIM_Reject,
67513 /* 192351 */ // Label 5507: @192351
67514 /* 192351 */ GIM_Reject,
67515 /* 192352 */ // Label 5505: @192352
67516 /* 192352 */ GIM_Reject,
67517 /* 192353 */ // Label 5461: @192353
67518 /* 192353 */ GIM_Try, /*On fail goto*//*Label 5510*/ GIMT_Encode4(192681),
67519 /* 192358 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
67520 /* 192361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
67521 /* 192364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5511*/ GIMT_Encode4(192425), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23760 //
67522 /* 192371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67523 /* 192375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67524 /* 192379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67525 /* 192383 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67526 /* 192386 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67527 /* 192390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67528 /* 192394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67529 /* 192398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67530 /* 192400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67531 /* 192407 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67532 /* 192407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
67533 /* 192410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67534 /* 192412 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67535 /* 192414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67536 /* 192418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67537 /* 192423 */ GIR_RootConstrainSelectedInstOperands,
67538 /* 192424 */ // GIR_Coverage, 23760,
67539 /* 192424 */ GIR_EraseRootFromParent_Done,
67540 /* 192425 */ // Label 5511: @192425
67541 /* 192425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5512*/ GIMT_Encode4(192486), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24261 //
67542 /* 192432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67543 /* 192436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67544 /* 192440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67545 /* 192444 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67546 /* 192447 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67547 /* 192451 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67548 /* 192455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67549 /* 192459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67550 /* 192461 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67551 /* 192468 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67552 /* 192468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
67553 /* 192471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67554 /* 192473 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67555 /* 192475 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67556 /* 192479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67557 /* 192484 */ GIR_RootConstrainSelectedInstOperands,
67558 /* 192485 */ // GIR_Coverage, 24261,
67559 /* 192485 */ GIR_EraseRootFromParent_Done,
67560 /* 192486 */ // Label 5512: @192486
67561 /* 192486 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5513*/ GIMT_Encode4(192547), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3180 //
67562 /* 192493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67563 /* 192497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67564 /* 192501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67565 /* 192505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67566 /* 192509 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67567 /* 192512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67568 /* 192516 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67569 /* 192520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67570 /* 192522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67571 /* 192529 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67572 /* 192529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
67573 /* 192532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67574 /* 192534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67575 /* 192536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67576 /* 192540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67577 /* 192545 */ GIR_RootConstrainSelectedInstOperands,
67578 /* 192546 */ // GIR_Coverage, 3180,
67579 /* 192546 */ GIR_EraseRootFromParent_Done,
67580 /* 192547 */ // Label 5513: @192547
67581 /* 192547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5514*/ GIMT_Encode4(192608), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5474 //
67582 /* 192554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67583 /* 192558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67584 /* 192562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67585 /* 192566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67586 /* 192570 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67587 /* 192573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67588 /* 192577 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67589 /* 192581 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67590 /* 192583 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67591 /* 192590 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67592 /* 192590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
67593 /* 192593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67594 /* 192595 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67595 /* 192597 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67596 /* 192601 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67597 /* 192606 */ GIR_RootConstrainSelectedInstOperands,
67598 /* 192607 */ // GIR_Coverage, 5474,
67599 /* 192607 */ GIR_EraseRootFromParent_Done,
67600 /* 192608 */ // Label 5514: @192608
67601 /* 192608 */ GIM_Try, /*On fail goto*//*Label 5515*/ GIMT_Encode4(192654),
67602 /* 192613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67603 /* 192617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67604 /* 192621 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67605 /* 192625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5516*/ GIMT_Encode4(192639), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3179 //
67606 /* 192632 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67607 /* 192632 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrr),
67608 /* 192637 */ GIR_RootConstrainSelectedInstOperands,
67609 /* 192638 */ // GIR_Coverage, 3179,
67610 /* 192638 */ GIR_Done,
67611 /* 192639 */ // Label 5516: @192639
67612 /* 192639 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5517*/ GIMT_Encode4(192653), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3221 //
67613 /* 192646 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67614 /* 192646 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUDrr),
67615 /* 192651 */ GIR_RootConstrainSelectedInstOperands,
67616 /* 192652 */ // GIR_Coverage, 3221,
67617 /* 192652 */ GIR_Done,
67618 /* 192653 */ // Label 5517: @192653
67619 /* 192653 */ GIM_Reject,
67620 /* 192654 */ // Label 5515: @192654
67621 /* 192654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5518*/ GIMT_Encode4(192680), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5471 //
67622 /* 192661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67623 /* 192665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67624 /* 192669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67625 /* 192673 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
67626 /* 192673 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rr),
67627 /* 192678 */ GIR_RootConstrainSelectedInstOperands,
67628 /* 192679 */ // GIR_Coverage, 5471,
67629 /* 192679 */ GIR_Done,
67630 /* 192680 */ // Label 5518: @192680
67631 /* 192680 */ GIM_Reject,
67632 /* 192681 */ // Label 5510: @192681
67633 /* 192681 */ GIM_Reject,
67634 /* 192682 */ // Label 5462: @192682
67635 /* 192682 */ GIM_Try, /*On fail goto*//*Label 5519*/ GIMT_Encode4(192990),
67636 /* 192687 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
67637 /* 192690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
67638 /* 192693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5520*/ GIMT_Encode4(192754), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23769 //
67639 /* 192700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67640 /* 192704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67641 /* 192708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67642 /* 192712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67643 /* 192715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67644 /* 192719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67645 /* 192723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67646 /* 192727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67647 /* 192729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67648 /* 192736 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67649 /* 192736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
67650 /* 192739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67651 /* 192741 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67652 /* 192743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67653 /* 192747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67654 /* 192752 */ GIR_RootConstrainSelectedInstOperands,
67655 /* 192753 */ // GIR_Coverage, 23769,
67656 /* 192753 */ GIR_EraseRootFromParent_Done,
67657 /* 192754 */ // Label 5520: @192754
67658 /* 192754 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5521*/ GIMT_Encode4(192815), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24255 //
67659 /* 192761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67660 /* 192765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67661 /* 192769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67662 /* 192773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67663 /* 192776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67664 /* 192780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67665 /* 192784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67666 /* 192788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67667 /* 192790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67668 /* 192797 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67669 /* 192797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
67670 /* 192800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67671 /* 192802 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67672 /* 192804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67673 /* 192808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67674 /* 192813 */ GIR_RootConstrainSelectedInstOperands,
67675 /* 192814 */ // GIR_Coverage, 24255,
67676 /* 192814 */ GIR_EraseRootFromParent_Done,
67677 /* 192815 */ // Label 5521: @192815
67678 /* 192815 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5522*/ GIMT_Encode4(192876), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3198 //
67679 /* 192822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67680 /* 192826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67681 /* 192830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67682 /* 192834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67683 /* 192838 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67684 /* 192841 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67685 /* 192845 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67686 /* 192849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67687 /* 192851 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67688 /* 192858 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67689 /* 192858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
67690 /* 192861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67691 /* 192863 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67692 /* 192865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67693 /* 192869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67694 /* 192874 */ GIR_RootConstrainSelectedInstOperands,
67695 /* 192875 */ // GIR_Coverage, 3198,
67696 /* 192875 */ GIR_EraseRootFromParent_Done,
67697 /* 192876 */ // Label 5522: @192876
67698 /* 192876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5523*/ GIMT_Encode4(192937), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5465 //
67699 /* 192883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67700 /* 192887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67701 /* 192891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67702 /* 192895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67703 /* 192899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67704 /* 192902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67705 /* 192906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67706 /* 192910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67707 /* 192912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67708 /* 192919 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67709 /* 192919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
67710 /* 192922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67711 /* 192924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67712 /* 192926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67713 /* 192930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67714 /* 192935 */ GIR_RootConstrainSelectedInstOperands,
67715 /* 192936 */ // GIR_Coverage, 5465,
67716 /* 192936 */ GIR_EraseRootFromParent_Done,
67717 /* 192937 */ // Label 5523: @192937
67718 /* 192937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5524*/ GIMT_Encode4(192963), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3197 //
67719 /* 192944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67720 /* 192948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67721 /* 192952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67722 /* 192956 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
67723 /* 192956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrr),
67724 /* 192961 */ GIR_RootConstrainSelectedInstOperands,
67725 /* 192962 */ // GIR_Coverage, 3197,
67726 /* 192962 */ GIR_Done,
67727 /* 192963 */ // Label 5524: @192963
67728 /* 192963 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5525*/ GIMT_Encode4(192989), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5462 //
67729 /* 192970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67730 /* 192974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67731 /* 192978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67732 /* 192982 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
67733 /* 192982 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rr),
67734 /* 192987 */ GIR_RootConstrainSelectedInstOperands,
67735 /* 192988 */ // GIR_Coverage, 5462,
67736 /* 192988 */ GIR_Done,
67737 /* 192989 */ // Label 5525: @192989
67738 /* 192989 */ GIM_Reject,
67739 /* 192990 */ // Label 5519: @192990
67740 /* 192990 */ GIM_Reject,
67741 /* 192991 */ // Label 5463: @192991
67742 /* 192991 */ GIM_Try, /*On fail goto*//*Label 5526*/ GIMT_Encode4(193145),
67743 /* 192996 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
67744 /* 192999 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
67745 /* 193002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67746 /* 193006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5527*/ GIMT_Encode4(193063), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24249 //
67747 /* 193013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67748 /* 193017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67749 /* 193021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67750 /* 193024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67751 /* 193028 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67752 /* 193032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67753 /* 193036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67754 /* 193038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67755 /* 193045 */ // (umax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67756 /* 193045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
67757 /* 193048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67758 /* 193050 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67759 /* 193052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67760 /* 193056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67761 /* 193061 */ GIR_RootConstrainSelectedInstOperands,
67762 /* 193062 */ // GIR_Coverage, 24249,
67763 /* 193062 */ GIR_EraseRootFromParent_Done,
67764 /* 193063 */ // Label 5527: @193063
67765 /* 193063 */ GIM_Try, /*On fail goto*//*Label 5528*/ GIMT_Encode4(193144),
67766 /* 193068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67767 /* 193072 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5529*/ GIMT_Encode4(193125), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5456 //
67768 /* 193079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67769 /* 193083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67770 /* 193087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67771 /* 193090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67772 /* 193094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67773 /* 193098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67774 /* 193100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67775 /* 193107 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67776 /* 193107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
67777 /* 193110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67778 /* 193112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67779 /* 193114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67780 /* 193118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67781 /* 193123 */ GIR_RootConstrainSelectedInstOperands,
67782 /* 193124 */ // GIR_Coverage, 5456,
67783 /* 193124 */ GIR_EraseRootFromParent_Done,
67784 /* 193125 */ // Label 5529: @193125
67785 /* 193125 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5530*/ GIMT_Encode4(193143), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5453 //
67786 /* 193132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67787 /* 193136 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
67788 /* 193136 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrr),
67789 /* 193141 */ GIR_RootConstrainSelectedInstOperands,
67790 /* 193142 */ // GIR_Coverage, 5453,
67791 /* 193142 */ GIR_Done,
67792 /* 193143 */ // Label 5530: @193143
67793 /* 193143 */ GIM_Reject,
67794 /* 193144 */ // Label 5528: @193144
67795 /* 193144 */ GIM_Reject,
67796 /* 193145 */ // Label 5526: @193145
67797 /* 193145 */ GIM_Reject,
67798 /* 193146 */ // Label 5464: @193146
67799 /* 193146 */ GIM_Try, /*On fail goto*//*Label 5531*/ GIMT_Encode4(193470),
67800 /* 193151 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
67801 /* 193154 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
67802 /* 193157 */ GIM_Try, /*On fail goto*//*Label 5532*/ GIMT_Encode4(193305),
67803 /* 193162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67804 /* 193166 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5533*/ GIMT_Encode4(193223), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24279 //
67805 /* 193173 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67806 /* 193177 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67807 /* 193181 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67808 /* 193184 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67809 /* 193188 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67810 /* 193192 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67811 /* 193196 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67812 /* 193198 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67813 /* 193205 */ // (umax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67814 /* 193205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
67815 /* 193208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67816 /* 193210 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67817 /* 193212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67818 /* 193216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67819 /* 193221 */ GIR_RootConstrainSelectedInstOperands,
67820 /* 193222 */ // GIR_Coverage, 24279,
67821 /* 193222 */ GIR_EraseRootFromParent_Done,
67822 /* 193223 */ // Label 5533: @193223
67823 /* 193223 */ GIM_Try, /*On fail goto*//*Label 5534*/ GIMT_Encode4(193304),
67824 /* 193228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67825 /* 193232 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5535*/ GIMT_Encode4(193285), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5501 //
67826 /* 193239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67827 /* 193243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67828 /* 193247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67829 /* 193250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67830 /* 193254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67831 /* 193258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67832 /* 193260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67833 /* 193267 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67834 /* 193267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
67835 /* 193270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67836 /* 193272 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67837 /* 193274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67838 /* 193278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67839 /* 193283 */ GIR_RootConstrainSelectedInstOperands,
67840 /* 193284 */ // GIR_Coverage, 5501,
67841 /* 193284 */ GIR_EraseRootFromParent_Done,
67842 /* 193285 */ // Label 5535: @193285
67843 /* 193285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5536*/ GIMT_Encode4(193303), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5498 //
67844 /* 193292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67845 /* 193296 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
67846 /* 193296 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rr),
67847 /* 193301 */ GIR_RootConstrainSelectedInstOperands,
67848 /* 193302 */ // GIR_Coverage, 5498,
67849 /* 193302 */ GIR_Done,
67850 /* 193303 */ // Label 5536: @193303
67851 /* 193303 */ GIM_Reject,
67852 /* 193304 */ // Label 5534: @193304
67853 /* 193304 */ GIM_Reject,
67854 /* 193305 */ // Label 5532: @193305
67855 /* 193305 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5537*/ GIMT_Encode4(193469), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20131 //
67856 /* 193312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
67857 /* 193316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67858 /* 193320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67859 /* 193324 */ // (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] })
67860 /* 193324 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
67861 /* 193327 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67862 /* 193331 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67863 /* 193336 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
67864 /* 193338 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
67865 /* 193341 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67866 /* 193345 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67867 /* 193350 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
67868 /* 193353 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
67869 /* 193357 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
67870 /* 193360 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67871 /* 193365 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67872 /* 193370 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67873 /* 193375 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
67874 /* 193378 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67875 /* 193382 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67876 /* 193387 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
67877 /* 193389 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
67878 /* 193392 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67879 /* 193396 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67880 /* 193401 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
67881 /* 193404 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
67882 /* 193408 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
67883 /* 193411 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67884 /* 193416 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67885 /* 193421 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67886 /* 193426 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67887 /* 193429 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
67888 /* 193433 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67889 /* 193438 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67890 /* 193441 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67891 /* 193444 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67892 /* 193446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67893 /* 193449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67894 /* 193451 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
67895 /* 193458 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
67896 /* 193463 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67897 /* 193468 */ // GIR_Coverage, 20131,
67898 /* 193468 */ GIR_EraseRootFromParent_Done,
67899 /* 193469 */ // Label 5537: @193469
67900 /* 193469 */ GIM_Reject,
67901 /* 193470 */ // Label 5531: @193470
67902 /* 193470 */ GIM_Reject,
67903 /* 193471 */ // Label 5465: @193471
67904 /* 193471 */ GIM_Try, /*On fail goto*//*Label 5538*/ GIMT_Encode4(193783),
67905 /* 193476 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
67906 /* 193479 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
67907 /* 193482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67908 /* 193486 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5539*/ GIMT_Encode4(193543), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24273 //
67909 /* 193493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67910 /* 193497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67911 /* 193501 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67912 /* 193504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67913 /* 193508 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67914 /* 193512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67915 /* 193516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67916 /* 193518 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67917 /* 193525 */ // (umax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67918 /* 193525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
67919 /* 193528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67920 /* 193530 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67921 /* 193532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67922 /* 193536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67923 /* 193541 */ GIR_RootConstrainSelectedInstOperands,
67924 /* 193542 */ // GIR_Coverage, 24273,
67925 /* 193542 */ GIR_EraseRootFromParent_Done,
67926 /* 193543 */ // Label 5539: @193543
67927 /* 193543 */ GIM_Try, /*On fail goto*//*Label 5540*/ GIMT_Encode4(193782),
67928 /* 193548 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67929 /* 193552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5541*/ GIMT_Encode4(193605), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5492 //
67930 /* 193559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67931 /* 193563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67932 /* 193567 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67933 /* 193570 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67934 /* 193574 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67935 /* 193578 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67936 /* 193580 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67937 /* 193587 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67938 /* 193587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
67939 /* 193590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67940 /* 193592 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67941 /* 193594 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67942 /* 193598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67943 /* 193603 */ GIR_RootConstrainSelectedInstOperands,
67944 /* 193604 */ // GIR_Coverage, 5492,
67945 /* 193604 */ GIR_EraseRootFromParent_Done,
67946 /* 193605 */ // Label 5541: @193605
67947 /* 193605 */ GIM_Try, /*On fail goto*//*Label 5542*/ GIMT_Encode4(193781),
67948 /* 193610 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67949 /* 193614 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5543*/ GIMT_Encode4(193628), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5489 //
67950 /* 193621 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
67951 /* 193621 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rr),
67952 /* 193626 */ GIR_RootConstrainSelectedInstOperands,
67953 /* 193627 */ // GIR_Coverage, 5489,
67954 /* 193627 */ GIR_Done,
67955 /* 193628 */ // Label 5543: @193628
67956 /* 193628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5544*/ GIMT_Encode4(193780), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20130 //
67957 /* 193635 */ // (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] })
67958 /* 193635 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
67959 /* 193638 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67960 /* 193642 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67961 /* 193647 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
67962 /* 193649 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
67963 /* 193652 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67964 /* 193656 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67965 /* 193661 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
67966 /* 193664 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
67967 /* 193668 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
67968 /* 193671 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67969 /* 193676 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67970 /* 193681 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
67971 /* 193686 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
67972 /* 193689 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67973 /* 193693 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67974 /* 193698 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
67975 /* 193700 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
67976 /* 193703 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67977 /* 193707 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67978 /* 193712 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
67979 /* 193715 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
67980 /* 193719 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
67981 /* 193722 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67982 /* 193727 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67983 /* 193732 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
67984 /* 193737 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67985 /* 193740 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
67986 /* 193744 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67987 /* 193749 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67988 /* 193752 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67989 /* 193755 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67990 /* 193757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67991 /* 193760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67992 /* 193762 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
67993 /* 193769 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
67994 /* 193774 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67995 /* 193779 */ // GIR_Coverage, 20130,
67996 /* 193779 */ GIR_EraseRootFromParent_Done,
67997 /* 193780 */ // Label 5544: @193780
67998 /* 193780 */ GIM_Reject,
67999 /* 193781 */ // Label 5542: @193781
68000 /* 193781 */ GIM_Reject,
68001 /* 193782 */ // Label 5540: @193782
68002 /* 193782 */ GIM_Reject,
68003 /* 193783 */ // Label 5538: @193783
68004 /* 193783 */ GIM_Reject,
68005 /* 193784 */ // Label 5466: @193784
68006 /* 193784 */ GIM_Try, /*On fail goto*//*Label 5545*/ GIMT_Encode4(193938),
68007 /* 193789 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
68008 /* 193792 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
68009 /* 193795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68010 /* 193799 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5546*/ GIMT_Encode4(193856), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24267 //
68011 /* 193806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68012 /* 193810 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68013 /* 193814 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68014 /* 193817 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68015 /* 193821 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68016 /* 193825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68017 /* 193829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68018 /* 193831 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68019 /* 193838 */ // (umax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68020 /* 193838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
68021 /* 193841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68022 /* 193843 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68023 /* 193845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68024 /* 193849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68025 /* 193854 */ GIR_RootConstrainSelectedInstOperands,
68026 /* 193855 */ // GIR_Coverage, 24267,
68027 /* 193855 */ GIR_EraseRootFromParent_Done,
68028 /* 193856 */ // Label 5546: @193856
68029 /* 193856 */ GIM_Try, /*On fail goto*//*Label 5547*/ GIMT_Encode4(193937),
68030 /* 193861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68031 /* 193865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5548*/ GIMT_Encode4(193918), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5483 //
68032 /* 193872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68033 /* 193876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68034 /* 193880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68035 /* 193883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68036 /* 193887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68037 /* 193891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68038 /* 193893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68039 /* 193900 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68040 /* 193900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
68041 /* 193903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68042 /* 193905 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68043 /* 193907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68044 /* 193911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68045 /* 193916 */ GIR_RootConstrainSelectedInstOperands,
68046 /* 193917 */ // GIR_Coverage, 5483,
68047 /* 193917 */ GIR_EraseRootFromParent_Done,
68048 /* 193918 */ // Label 5548: @193918
68049 /* 193918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5549*/ GIMT_Encode4(193936), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5480 //
68050 /* 193925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68051 /* 193929 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
68052 /* 193929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
68053 /* 193934 */ GIR_RootConstrainSelectedInstOperands,
68054 /* 193935 */ // GIR_Coverage, 5480,
68055 /* 193935 */ GIR_Done,
68056 /* 193936 */ // Label 5549: @193936
68057 /* 193936 */ GIM_Reject,
68058 /* 193937 */ // Label 5547: @193937
68059 /* 193937 */ GIM_Reject,
68060 /* 193938 */ // Label 5545: @193938
68061 /* 193938 */ GIM_Reject,
68062 /* 193939 */ // Label 5467: @193939
68063 /* 193939 */ GIM_Reject,
68064 /* 193940 */ // Label 63: @193940
68065 /* 193940 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5562*/ GIMT_Encode4(195757),
68066 /* 193951 */ /*GILLT_v16s8*//*Label 5550*/ GIMT_Encode4(193999),
68067 /* 193955 */ /*GILLT_v32s8*//*Label 5551*/ GIMT_Encode4(194183),
68068 /* 193959 */ /*GILLT_v64s8*//*Label 5552*/ GIMT_Encode4(194347),
68069 /* 193963 */ /*GILLT_v8s16*//*Label 5553*/ GIMT_Encode4(194430),
68070 /* 193967 */ /*GILLT_v16s16*//*Label 5554*/ GIMT_Encode4(194614),
68071 /* 193971 */ /*GILLT_v32s16*//*Label 5555*/ GIMT_Encode4(194778),
68072 /* 193975 */ /*GILLT_v4s32*//*Label 5556*/ GIMT_Encode4(194861),
68073 /* 193979 */ /*GILLT_v8s32*//*Label 5557*/ GIMT_Encode4(195045),
68074 /* 193983 */ /*GILLT_v16s32*//*Label 5558*/ GIMT_Encode4(195209),
68075 /* 193987 */ /*GILLT_v2s64*//*Label 5559*/ GIMT_Encode4(195292),
68076 /* 193991 */ /*GILLT_v4s64*//*Label 5560*/ GIMT_Encode4(195487),
68077 /* 193995 */ /*GILLT_v8s64*//*Label 5561*/ GIMT_Encode4(195674),
68078 /* 193999 */ // Label 5550: @193999
68079 /* 193999 */ GIM_Try, /*On fail goto*//*Label 5563*/ GIMT_Encode4(194182),
68080 /* 194004 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
68081 /* 194007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5564*/ GIMT_Encode4(194062), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2977 //
68082 /* 194014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68083 /* 194018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68084 /* 194022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68085 /* 194026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68086 /* 194029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68087 /* 194033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68088 /* 194037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68089 /* 194039 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68090 /* 194046 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
68091 /* 194046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBrm),
68092 /* 194049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68093 /* 194051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68094 /* 194055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68095 /* 194060 */ GIR_RootConstrainSelectedInstOperands,
68096 /* 194061 */ // GIR_Coverage, 2977,
68097 /* 194061 */ GIR_EraseRootFromParent_Done,
68098 /* 194062 */ // Label 5564: @194062
68099 /* 194062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5565*/ GIMT_Encode4(194117), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13334 //
68100 /* 194069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68101 /* 194073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68102 /* 194077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68103 /* 194081 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68104 /* 194084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68105 /* 194088 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68106 /* 194092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68107 /* 194094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68108 /* 194101 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
68109 /* 194101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rm),
68110 /* 194104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68111 /* 194106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68112 /* 194110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68113 /* 194115 */ GIR_RootConstrainSelectedInstOperands,
68114 /* 194116 */ // GIR_Coverage, 13334,
68115 /* 194116 */ GIR_EraseRootFromParent_Done,
68116 /* 194117 */ // Label 5565: @194117
68117 /* 194117 */ GIM_Try, /*On fail goto*//*Label 5566*/ GIMT_Encode4(194159),
68118 /* 194122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68119 /* 194126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68120 /* 194130 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5567*/ GIMT_Encode4(194144), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2976 //
68121 /* 194137 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (VPABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
68122 /* 194137 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBrr),
68123 /* 194142 */ GIR_RootConstrainSelectedInstOperands,
68124 /* 194143 */ // GIR_Coverage, 2976,
68125 /* 194143 */ GIR_Done,
68126 /* 194144 */ // Label 5567: @194144
68127 /* 194144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5568*/ GIMT_Encode4(194158), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 2988 //
68128 /* 194151 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (PABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
68129 /* 194151 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSBrr),
68130 /* 194156 */ GIR_RootConstrainSelectedInstOperands,
68131 /* 194157 */ // GIR_Coverage, 2988,
68132 /* 194157 */ GIR_Done,
68133 /* 194158 */ // Label 5568: @194158
68134 /* 194158 */ GIM_Reject,
68135 /* 194159 */ // Label 5566: @194159
68136 /* 194159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5569*/ GIMT_Encode4(194181), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13331 //
68137 /* 194166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68138 /* 194170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68139 /* 194174 */ // (abs:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPABSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
68140 /* 194174 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rr),
68141 /* 194179 */ GIR_RootConstrainSelectedInstOperands,
68142 /* 194180 */ // GIR_Coverage, 13331,
68143 /* 194180 */ GIR_Done,
68144 /* 194181 */ // Label 5569: @194181
68145 /* 194181 */ GIM_Reject,
68146 /* 194182 */ // Label 5563: @194182
68147 /* 194182 */ GIM_Reject,
68148 /* 194183 */ // Label 5551: @194183
68149 /* 194183 */ GIM_Try, /*On fail goto*//*Label 5570*/ GIMT_Encode4(194346),
68150 /* 194188 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
68151 /* 194191 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5571*/ GIMT_Encode4(194246), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2983 //
68152 /* 194198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68153 /* 194202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68154 /* 194206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68155 /* 194210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68156 /* 194213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68157 /* 194217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68158 /* 194221 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68159 /* 194223 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68160 /* 194230 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
68161 /* 194230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBYrm),
68162 /* 194233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68163 /* 194235 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68164 /* 194239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68165 /* 194244 */ GIR_RootConstrainSelectedInstOperands,
68166 /* 194245 */ // GIR_Coverage, 2983,
68167 /* 194245 */ GIR_EraseRootFromParent_Done,
68168 /* 194246 */ // Label 5571: @194246
68169 /* 194246 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5572*/ GIMT_Encode4(194301), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13328 //
68170 /* 194253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68171 /* 194257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68172 /* 194261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68173 /* 194265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68174 /* 194268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68175 /* 194272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68176 /* 194276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68177 /* 194278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68178 /* 194285 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
68179 /* 194285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rm),
68180 /* 194288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68181 /* 194290 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68182 /* 194294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68183 /* 194299 */ GIR_RootConstrainSelectedInstOperands,
68184 /* 194300 */ // GIR_Coverage, 13328,
68185 /* 194300 */ GIR_EraseRootFromParent_Done,
68186 /* 194301 */ // Label 5572: @194301
68187 /* 194301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5573*/ GIMT_Encode4(194323), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2982 //
68188 /* 194308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68189 /* 194312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68190 /* 194316 */ // (abs:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src) => (VPABSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src)
68191 /* 194316 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBYrr),
68192 /* 194321 */ GIR_RootConstrainSelectedInstOperands,
68193 /* 194322 */ // GIR_Coverage, 2982,
68194 /* 194322 */ GIR_Done,
68195 /* 194323 */ // Label 5573: @194323
68196 /* 194323 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5574*/ GIMT_Encode4(194345), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13325 //
68197 /* 194330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68198 /* 194334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68199 /* 194338 */ // (abs:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPABSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
68200 /* 194338 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rr),
68201 /* 194343 */ GIR_RootConstrainSelectedInstOperands,
68202 /* 194344 */ // GIR_Coverage, 13325,
68203 /* 194344 */ GIR_Done,
68204 /* 194345 */ // Label 5574: @194345
68205 /* 194345 */ GIM_Reject,
68206 /* 194346 */ // Label 5570: @194346
68207 /* 194346 */ GIM_Reject,
68208 /* 194347 */ // Label 5552: @194347
68209 /* 194347 */ GIM_Try, /*On fail goto*//*Label 5575*/ GIMT_Encode4(194429),
68210 /* 194352 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
68211 /* 194355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68212 /* 194359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5576*/ GIMT_Encode4(194410), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 13322 //
68213 /* 194366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68214 /* 194370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68215 /* 194374 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68216 /* 194377 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68217 /* 194381 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68218 /* 194385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68219 /* 194387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68220 /* 194394 */ // (abs:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
68221 /* 194394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZrm),
68222 /* 194397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68223 /* 194399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68224 /* 194403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68225 /* 194408 */ GIR_RootConstrainSelectedInstOperands,
68226 /* 194409 */ // GIR_Coverage, 13322,
68227 /* 194409 */ GIR_EraseRootFromParent_Done,
68228 /* 194410 */ // Label 5576: @194410
68229 /* 194410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5577*/ GIMT_Encode4(194428), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 13319 //
68230 /* 194417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68231 /* 194421 */ // (abs:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPABSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
68232 /* 194421 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZrr),
68233 /* 194426 */ GIR_RootConstrainSelectedInstOperands,
68234 /* 194427 */ // GIR_Coverage, 13319,
68235 /* 194427 */ GIR_Done,
68236 /* 194428 */ // Label 5577: @194428
68237 /* 194428 */ GIM_Reject,
68238 /* 194429 */ // Label 5575: @194429
68239 /* 194429 */ GIM_Reject,
68240 /* 194430 */ // Label 5553: @194430
68241 /* 194430 */ GIM_Try, /*On fail goto*//*Label 5578*/ GIMT_Encode4(194613),
68242 /* 194435 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
68243 /* 194438 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5579*/ GIMT_Encode4(194493), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2979 //
68244 /* 194445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68245 /* 194449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68246 /* 194453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68247 /* 194457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68248 /* 194460 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68249 /* 194464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68250 /* 194468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68251 /* 194470 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68252 /* 194477 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
68253 /* 194477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWrm),
68254 /* 194480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68255 /* 194482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68256 /* 194486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68257 /* 194491 */ GIR_RootConstrainSelectedInstOperands,
68258 /* 194492 */ // GIR_Coverage, 2979,
68259 /* 194492 */ GIR_EraseRootFromParent_Done,
68260 /* 194493 */ // Label 5579: @194493
68261 /* 194493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5580*/ GIMT_Encode4(194548), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13316 //
68262 /* 194500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68263 /* 194504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68264 /* 194508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68265 /* 194512 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68266 /* 194515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68267 /* 194519 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68268 /* 194523 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68269 /* 194525 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68270 /* 194532 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
68271 /* 194532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rm),
68272 /* 194535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68273 /* 194537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68274 /* 194541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68275 /* 194546 */ GIR_RootConstrainSelectedInstOperands,
68276 /* 194547 */ // GIR_Coverage, 13316,
68277 /* 194547 */ GIR_EraseRootFromParent_Done,
68278 /* 194548 */ // Label 5580: @194548
68279 /* 194548 */ GIM_Try, /*On fail goto*//*Label 5581*/ GIMT_Encode4(194590),
68280 /* 194553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68281 /* 194557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68282 /* 194561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5582*/ GIMT_Encode4(194575), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2978 //
68283 /* 194568 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (VPABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
68284 /* 194568 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWrr),
68285 /* 194573 */ GIR_RootConstrainSelectedInstOperands,
68286 /* 194574 */ // GIR_Coverage, 2978,
68287 /* 194574 */ GIR_Done,
68288 /* 194575 */ // Label 5582: @194575
68289 /* 194575 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5583*/ GIMT_Encode4(194589), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 2990 //
68290 /* 194582 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (PABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
68291 /* 194582 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSWrr),
68292 /* 194587 */ GIR_RootConstrainSelectedInstOperands,
68293 /* 194588 */ // GIR_Coverage, 2990,
68294 /* 194588 */ GIR_Done,
68295 /* 194589 */ // Label 5583: @194589
68296 /* 194589 */ GIM_Reject,
68297 /* 194590 */ // Label 5581: @194590
68298 /* 194590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5584*/ GIMT_Encode4(194612), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13313 //
68299 /* 194597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68300 /* 194601 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68301 /* 194605 */ // (abs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPABSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
68302 /* 194605 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rr),
68303 /* 194610 */ GIR_RootConstrainSelectedInstOperands,
68304 /* 194611 */ // GIR_Coverage, 13313,
68305 /* 194611 */ GIR_Done,
68306 /* 194612 */ // Label 5584: @194612
68307 /* 194612 */ GIM_Reject,
68308 /* 194613 */ // Label 5578: @194613
68309 /* 194613 */ GIM_Reject,
68310 /* 194614 */ // Label 5554: @194614
68311 /* 194614 */ GIM_Try, /*On fail goto*//*Label 5585*/ GIMT_Encode4(194777),
68312 /* 194619 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
68313 /* 194622 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5586*/ GIMT_Encode4(194677), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2985 //
68314 /* 194629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68315 /* 194633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68316 /* 194637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68317 /* 194641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68318 /* 194644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68319 /* 194648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68320 /* 194652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68321 /* 194654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68322 /* 194661 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
68323 /* 194661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWYrm),
68324 /* 194664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68325 /* 194666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68326 /* 194670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68327 /* 194675 */ GIR_RootConstrainSelectedInstOperands,
68328 /* 194676 */ // GIR_Coverage, 2985,
68329 /* 194676 */ GIR_EraseRootFromParent_Done,
68330 /* 194677 */ // Label 5586: @194677
68331 /* 194677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5587*/ GIMT_Encode4(194732), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13310 //
68332 /* 194684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68333 /* 194688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68334 /* 194692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68335 /* 194696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68336 /* 194699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68337 /* 194703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68338 /* 194707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68339 /* 194709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68340 /* 194716 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
68341 /* 194716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rm),
68342 /* 194719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68343 /* 194721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68344 /* 194725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68345 /* 194730 */ GIR_RootConstrainSelectedInstOperands,
68346 /* 194731 */ // GIR_Coverage, 13310,
68347 /* 194731 */ GIR_EraseRootFromParent_Done,
68348 /* 194732 */ // Label 5587: @194732
68349 /* 194732 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5588*/ GIMT_Encode4(194754), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2984 //
68350 /* 194739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68351 /* 194743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68352 /* 194747 */ // (abs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src) => (VPABSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src)
68353 /* 194747 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWYrr),
68354 /* 194752 */ GIR_RootConstrainSelectedInstOperands,
68355 /* 194753 */ // GIR_Coverage, 2984,
68356 /* 194753 */ GIR_Done,
68357 /* 194754 */ // Label 5588: @194754
68358 /* 194754 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5589*/ GIMT_Encode4(194776), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13307 //
68359 /* 194761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68360 /* 194765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68361 /* 194769 */ // (abs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPABSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
68362 /* 194769 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rr),
68363 /* 194774 */ GIR_RootConstrainSelectedInstOperands,
68364 /* 194775 */ // GIR_Coverage, 13307,
68365 /* 194775 */ GIR_Done,
68366 /* 194776 */ // Label 5589: @194776
68367 /* 194776 */ GIM_Reject,
68368 /* 194777 */ // Label 5585: @194777
68369 /* 194777 */ GIM_Reject,
68370 /* 194778 */ // Label 5555: @194778
68371 /* 194778 */ GIM_Try, /*On fail goto*//*Label 5590*/ GIMT_Encode4(194860),
68372 /* 194783 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
68373 /* 194786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68374 /* 194790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5591*/ GIMT_Encode4(194841), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 13304 //
68375 /* 194797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68376 /* 194801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68377 /* 194805 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68378 /* 194808 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68379 /* 194812 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68380 /* 194816 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68381 /* 194818 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68382 /* 194825 */ // (abs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
68383 /* 194825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZrm),
68384 /* 194828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68385 /* 194830 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68386 /* 194834 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68387 /* 194839 */ GIR_RootConstrainSelectedInstOperands,
68388 /* 194840 */ // GIR_Coverage, 13304,
68389 /* 194840 */ GIR_EraseRootFromParent_Done,
68390 /* 194841 */ // Label 5591: @194841
68391 /* 194841 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5592*/ GIMT_Encode4(194859), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 13301 //
68392 /* 194848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68393 /* 194852 */ // (abs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPABSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
68394 /* 194852 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZrr),
68395 /* 194857 */ GIR_RootConstrainSelectedInstOperands,
68396 /* 194858 */ // GIR_Coverage, 13301,
68397 /* 194858 */ GIR_Done,
68398 /* 194859 */ // Label 5592: @194859
68399 /* 194859 */ GIM_Reject,
68400 /* 194860 */ // Label 5590: @194860
68401 /* 194860 */ GIM_Reject,
68402 /* 194861 */ // Label 5556: @194861
68403 /* 194861 */ GIM_Try, /*On fail goto*//*Label 5593*/ GIMT_Encode4(195044),
68404 /* 194866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
68405 /* 194869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5594*/ GIMT_Encode4(194924), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2981 //
68406 /* 194876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68407 /* 194880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68408 /* 194884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68409 /* 194888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68410 /* 194891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68411 /* 194895 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68412 /* 194899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68413 /* 194901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68414 /* 194908 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
68415 /* 194908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDrm),
68416 /* 194911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68417 /* 194913 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68418 /* 194917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68419 /* 194922 */ GIR_RootConstrainSelectedInstOperands,
68420 /* 194923 */ // GIR_Coverage, 2981,
68421 /* 194923 */ GIR_EraseRootFromParent_Done,
68422 /* 194924 */ // Label 5594: @194924
68423 /* 194924 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5595*/ GIMT_Encode4(194979), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13295 //
68424 /* 194931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68425 /* 194935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68426 /* 194939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68427 /* 194943 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68428 /* 194946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68429 /* 194950 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68430 /* 194954 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68431 /* 194956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68432 /* 194963 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
68433 /* 194963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rm),
68434 /* 194966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68435 /* 194968 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68436 /* 194972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68437 /* 194977 */ GIR_RootConstrainSelectedInstOperands,
68438 /* 194978 */ // GIR_Coverage, 13295,
68439 /* 194978 */ GIR_EraseRootFromParent_Done,
68440 /* 194979 */ // Label 5595: @194979
68441 /* 194979 */ GIM_Try, /*On fail goto*//*Label 5596*/ GIMT_Encode4(195021),
68442 /* 194984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68443 /* 194988 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68444 /* 194992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5597*/ GIMT_Encode4(195006), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2980 //
68445 /* 194999 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (VPABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
68446 /* 194999 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDrr),
68447 /* 195004 */ GIR_RootConstrainSelectedInstOperands,
68448 /* 195005 */ // GIR_Coverage, 2980,
68449 /* 195005 */ GIR_Done,
68450 /* 195006 */ // Label 5597: @195006
68451 /* 195006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5598*/ GIMT_Encode4(195020), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 2992 //
68452 /* 195013 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (PABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
68453 /* 195013 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSDrr),
68454 /* 195018 */ GIR_RootConstrainSelectedInstOperands,
68455 /* 195019 */ // GIR_Coverage, 2992,
68456 /* 195019 */ GIR_Done,
68457 /* 195020 */ // Label 5598: @195020
68458 /* 195020 */ GIM_Reject,
68459 /* 195021 */ // Label 5596: @195021
68460 /* 195021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5599*/ GIMT_Encode4(195043), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13292 //
68461 /* 195028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68462 /* 195032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68463 /* 195036 */ // (abs:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPABSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
68464 /* 195036 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rr),
68465 /* 195041 */ GIR_RootConstrainSelectedInstOperands,
68466 /* 195042 */ // GIR_Coverage, 13292,
68467 /* 195042 */ GIR_Done,
68468 /* 195043 */ // Label 5599: @195043
68469 /* 195043 */ GIM_Reject,
68470 /* 195044 */ // Label 5593: @195044
68471 /* 195044 */ GIM_Reject,
68472 /* 195045 */ // Label 5557: @195045
68473 /* 195045 */ GIM_Try, /*On fail goto*//*Label 5600*/ GIMT_Encode4(195208),
68474 /* 195050 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
68475 /* 195053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5601*/ GIMT_Encode4(195108), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2987 //
68476 /* 195060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68477 /* 195064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68478 /* 195068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68479 /* 195072 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68480 /* 195075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68481 /* 195079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68482 /* 195083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68483 /* 195085 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68484 /* 195092 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
68485 /* 195092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDYrm),
68486 /* 195095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68487 /* 195097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68488 /* 195101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68489 /* 195106 */ GIR_RootConstrainSelectedInstOperands,
68490 /* 195107 */ // GIR_Coverage, 2987,
68491 /* 195107 */ GIR_EraseRootFromParent_Done,
68492 /* 195108 */ // Label 5601: @195108
68493 /* 195108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5602*/ GIMT_Encode4(195163), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13286 //
68494 /* 195115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68495 /* 195119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68496 /* 195123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68497 /* 195127 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68498 /* 195130 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68499 /* 195134 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68500 /* 195138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68501 /* 195140 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68502 /* 195147 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
68503 /* 195147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rm),
68504 /* 195150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68505 /* 195152 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68506 /* 195156 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68507 /* 195161 */ GIR_RootConstrainSelectedInstOperands,
68508 /* 195162 */ // GIR_Coverage, 13286,
68509 /* 195162 */ GIR_EraseRootFromParent_Done,
68510 /* 195163 */ // Label 5602: @195163
68511 /* 195163 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5603*/ GIMT_Encode4(195185), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2986 //
68512 /* 195170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68513 /* 195174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68514 /* 195178 */ // (abs:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src) => (VPABSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src)
68515 /* 195178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDYrr),
68516 /* 195183 */ GIR_RootConstrainSelectedInstOperands,
68517 /* 195184 */ // GIR_Coverage, 2986,
68518 /* 195184 */ GIR_Done,
68519 /* 195185 */ // Label 5603: @195185
68520 /* 195185 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5604*/ GIMT_Encode4(195207), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13283 //
68521 /* 195192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68522 /* 195196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68523 /* 195200 */ // (abs:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPABSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
68524 /* 195200 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rr),
68525 /* 195205 */ GIR_RootConstrainSelectedInstOperands,
68526 /* 195206 */ // GIR_Coverage, 13283,
68527 /* 195206 */ GIR_Done,
68528 /* 195207 */ // Label 5604: @195207
68529 /* 195207 */ GIM_Reject,
68530 /* 195208 */ // Label 5600: @195208
68531 /* 195208 */ GIM_Reject,
68532 /* 195209 */ // Label 5558: @195209
68533 /* 195209 */ GIM_Try, /*On fail goto*//*Label 5605*/ GIMT_Encode4(195291),
68534 /* 195214 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
68535 /* 195217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68536 /* 195221 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5606*/ GIMT_Encode4(195272), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 13277 //
68537 /* 195228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68538 /* 195232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68539 /* 195236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68540 /* 195239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68541 /* 195243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68542 /* 195247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68543 /* 195249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68544 /* 195256 */ // (abs:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
68545 /* 195256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZrm),
68546 /* 195259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68547 /* 195261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68548 /* 195265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68549 /* 195270 */ GIR_RootConstrainSelectedInstOperands,
68550 /* 195271 */ // GIR_Coverage, 13277,
68551 /* 195271 */ GIR_EraseRootFromParent_Done,
68552 /* 195272 */ // Label 5606: @195272
68553 /* 195272 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5607*/ GIMT_Encode4(195290), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 13274 //
68554 /* 195279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68555 /* 195283 */ // (abs:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPABSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
68556 /* 195283 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZrr),
68557 /* 195288 */ GIR_RootConstrainSelectedInstOperands,
68558 /* 195289 */ // GIR_Coverage, 13274,
68559 /* 195289 */ GIR_Done,
68560 /* 195290 */ // Label 5607: @195290
68561 /* 195290 */ GIM_Reject,
68562 /* 195291 */ // Label 5605: @195291
68563 /* 195291 */ GIM_Reject,
68564 /* 195292 */ // Label 5559: @195292
68565 /* 195292 */ GIM_Try, /*On fail goto*//*Label 5608*/ GIMT_Encode4(195486),
68566 /* 195297 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
68567 /* 195300 */ GIM_Try, /*On fail goto*//*Label 5609*/ GIMT_Encode4(195379),
68568 /* 195305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68569 /* 195309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5610*/ GIMT_Encode4(195360), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13268 //
68570 /* 195316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68571 /* 195320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68572 /* 195324 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68573 /* 195327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68574 /* 195331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68575 /* 195335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68576 /* 195337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68577 /* 195344 */ // (abs:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
68578 /* 195344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rm),
68579 /* 195347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68580 /* 195349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68581 /* 195353 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68582 /* 195358 */ GIR_RootConstrainSelectedInstOperands,
68583 /* 195359 */ // GIR_Coverage, 13268,
68584 /* 195359 */ GIR_EraseRootFromParent_Done,
68585 /* 195360 */ // Label 5610: @195360
68586 /* 195360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5611*/ GIMT_Encode4(195378), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13265 //
68587 /* 195367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68588 /* 195371 */ // (abs:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPABSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
68589 /* 195371 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rr),
68590 /* 195376 */ GIR_RootConstrainSelectedInstOperands,
68591 /* 195377 */ // GIR_Coverage, 13265,
68592 /* 195377 */ GIR_Done,
68593 /* 195378 */ // Label 5611: @195378
68594 /* 195378 */ GIM_Reject,
68595 /* 195379 */ // Label 5609: @195379
68596 /* 195379 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5612*/ GIMT_Encode4(195485), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 21976 //
68597 /* 195386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
68598 /* 195390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68599 /* 195394 */ // (abs:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPABSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
68600 /* 195394 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68601 /* 195397 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68602 /* 195401 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68603 /* 195406 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68604 /* 195408 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68605 /* 195411 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68606 /* 195415 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68607 /* 195420 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68608 /* 195423 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68609 /* 195427 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
68610 /* 195430 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68611 /* 195435 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68612 /* 195440 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
68613 /* 195445 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68614 /* 195448 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
68615 /* 195452 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68616 /* 195457 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68617 /* 195460 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68618 /* 195462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68619 /* 195465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68620 /* 195467 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
68621 /* 195474 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
68622 /* 195479 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68623 /* 195484 */ // GIR_Coverage, 21976,
68624 /* 195484 */ GIR_EraseRootFromParent_Done,
68625 /* 195485 */ // Label 5612: @195485
68626 /* 195485 */ GIM_Reject,
68627 /* 195486 */ // Label 5608: @195486
68628 /* 195486 */ GIM_Reject,
68629 /* 195487 */ // Label 5560: @195487
68630 /* 195487 */ GIM_Try, /*On fail goto*//*Label 5613*/ GIMT_Encode4(195673),
68631 /* 195492 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
68632 /* 195495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68633 /* 195499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5614*/ GIMT_Encode4(195550), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13259 //
68634 /* 195506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68635 /* 195510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68636 /* 195514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68637 /* 195517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68638 /* 195521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68639 /* 195525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68640 /* 195527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68641 /* 195534 */ // (abs:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
68642 /* 195534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rm),
68643 /* 195537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68644 /* 195539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68645 /* 195543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68646 /* 195548 */ GIR_RootConstrainSelectedInstOperands,
68647 /* 195549 */ // GIR_Coverage, 13259,
68648 /* 195549 */ GIR_EraseRootFromParent_Done,
68649 /* 195550 */ // Label 5614: @195550
68650 /* 195550 */ GIM_Try, /*On fail goto*//*Label 5615*/ GIMT_Encode4(195672),
68651 /* 195555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68652 /* 195559 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5616*/ GIMT_Encode4(195573), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13256 //
68653 /* 195566 */ // (abs:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPABSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
68654 /* 195566 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rr),
68655 /* 195571 */ GIR_RootConstrainSelectedInstOperands,
68656 /* 195572 */ // GIR_Coverage, 13256,
68657 /* 195572 */ GIR_Done,
68658 /* 195573 */ // Label 5616: @195573
68659 /* 195573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5617*/ GIMT_Encode4(195671), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 21975 //
68660 /* 195580 */ // (abs:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPABSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
68661 /* 195580 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68662 /* 195583 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68663 /* 195587 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68664 /* 195592 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68665 /* 195594 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68666 /* 195597 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68667 /* 195601 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68668 /* 195606 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68669 /* 195609 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68670 /* 195613 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
68671 /* 195616 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68672 /* 195621 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68673 /* 195626 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68674 /* 195631 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68675 /* 195634 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
68676 /* 195638 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68677 /* 195643 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68678 /* 195646 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68679 /* 195648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68680 /* 195651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68681 /* 195653 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
68682 /* 195660 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
68683 /* 195665 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68684 /* 195670 */ // GIR_Coverage, 21975,
68685 /* 195670 */ GIR_EraseRootFromParent_Done,
68686 /* 195671 */ // Label 5617: @195671
68687 /* 195671 */ GIM_Reject,
68688 /* 195672 */ // Label 5615: @195672
68689 /* 195672 */ GIM_Reject,
68690 /* 195673 */ // Label 5613: @195673
68691 /* 195673 */ GIM_Reject,
68692 /* 195674 */ // Label 5561: @195674
68693 /* 195674 */ GIM_Try, /*On fail goto*//*Label 5618*/ GIMT_Encode4(195756),
68694 /* 195679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
68695 /* 195682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68696 /* 195686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5619*/ GIMT_Encode4(195737), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 13250 //
68697 /* 195693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68698 /* 195697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68699 /* 195701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68700 /* 195704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68701 /* 195708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68702 /* 195712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68703 /* 195714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68704 /* 195721 */ // (abs:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
68705 /* 195721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZrm),
68706 /* 195724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68707 /* 195726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68708 /* 195730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68709 /* 195735 */ GIR_RootConstrainSelectedInstOperands,
68710 /* 195736 */ // GIR_Coverage, 13250,
68711 /* 195736 */ GIR_EraseRootFromParent_Done,
68712 /* 195737 */ // Label 5619: @195737
68713 /* 195737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5620*/ GIMT_Encode4(195755), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 13247 //
68714 /* 195744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68715 /* 195748 */ // (abs:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPABSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
68716 /* 195748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
68717 /* 195753 */ GIR_RootConstrainSelectedInstOperands,
68718 /* 195754 */ // GIR_Coverage, 13247,
68719 /* 195754 */ GIR_Done,
68720 /* 195755 */ // Label 5620: @195755
68721 /* 195755 */ GIM_Reject,
68722 /* 195756 */ // Label 5618: @195756
68723 /* 195756 */ GIM_Reject,
68724 /* 195757 */ // Label 5562: @195757
68725 /* 195757 */ GIM_Reject,
68726 /* 195758 */ // Label 64: @195758
68727 /* 195758 */ GIM_Try, /*On fail goto*//*Label 5621*/ GIMT_Encode4(195773), // Rule ID 605 //
68728 /* 195763 */ // MIs[0] dst
68729 /* 195763 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/0,
68730 /* 195766 */ // (br (bb:{ *:[Other] }):$dst) => (JMP_1 (bb:{ *:[Other] }):$dst)
68731 /* 195766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::JMP_1),
68732 /* 195771 */ GIR_RootConstrainSelectedInstOperands,
68733 /* 195772 */ // GIR_Coverage, 605,
68734 /* 195772 */ GIR_Done,
68735 /* 195773 */ // Label 5621: @195773
68736 /* 195773 */ GIM_Reject,
68737 /* 195774 */ // Label 65: @195774
68738 /* 195774 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(24), /*)*//*default:*//*Label 5636*/ GIMT_Encode4(198635),
68739 /* 195785 */ /*GILLT_s1*//*Label 5622*/ GIMT_Encode4(195881), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
68740 /* 195813 */ /*GILLT_v2s1*//*Label 5623*/ GIMT_Encode4(196145),
68741 /* 195817 */ /*GILLT_v4s1*//*Label 5624*/ GIMT_Encode4(196367),
68742 /* 195821 */ /*GILLT_v8s1*//*Label 5625*/ GIMT_Encode4(196547),
68743 /* 195825 */ /*GILLT_v16s1*//*Label 5626*/ GIMT_Encode4(196685),
68744 /* 195829 */ /*GILLT_v32s1*//*Label 5627*/ GIMT_Encode4(196781), GIMT_Encode4(0),
68745 /* 195837 */ /*GILLT_v16s8*//*Label 5628*/ GIMT_Encode4(196822),
68746 /* 195841 */ /*GILLT_v32s8*//*Label 5629*/ GIMT_Encode4(197070), GIMT_Encode4(0),
68747 /* 195849 */ /*GILLT_v8s16*//*Label 5630*/ GIMT_Encode4(197120),
68748 /* 195853 */ /*GILLT_v16s16*//*Label 5631*/ GIMT_Encode4(197542), GIMT_Encode4(0),
68749 /* 195861 */ /*GILLT_v4s32*//*Label 5632*/ GIMT_Encode4(197625),
68750 /* 195865 */ /*GILLT_v8s32*//*Label 5633*/ GIMT_Encode4(198047), GIMT_Encode4(0),
68751 /* 195873 */ /*GILLT_v2s64*//*Label 5634*/ GIMT_Encode4(198130),
68752 /* 195877 */ /*GILLT_v4s64*//*Label 5635*/ GIMT_Encode4(198552),
68753 /* 195881 */ // Label 5622: @195881
68754 /* 195881 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(7), GIMT_Encode2(13), /*)*//*default:*//*Label 5643*/ GIMT_Encode4(196144),
68755 /* 195892 */ /*GILLT_v2s1*//*Label 5637*/ GIMT_Encode4(195916),
68756 /* 195896 */ /*GILLT_v4s1*//*Label 5638*/ GIMT_Encode4(195954),
68757 /* 195900 */ /*GILLT_v8s1*//*Label 5639*/ GIMT_Encode4(195992),
68758 /* 195904 */ /*GILLT_v16s1*//*Label 5640*/ GIMT_Encode4(196030),
68759 /* 195908 */ /*GILLT_v32s1*//*Label 5641*/ GIMT_Encode4(196068),
68760 /* 195912 */ /*GILLT_v64s1*//*Label 5642*/ GIMT_Encode4(196106),
68761 /* 195916 */ // Label 5637: @195916
68762 /* 195916 */ GIM_Try, /*On fail goto*//*Label 5644*/ GIMT_Encode4(195953), // Rule ID 19717 //
68763 /* 195921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68764 /* 195925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68765 /* 195929 */ // MIs[0] Operand 2
68766 /* 195929 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68767 /* 195940 */ // (extract_subvector:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, VK1:{ *:[i32] })
68768 /* 195940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68769 /* 195943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68770 /* 195945 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68771 /* 195947 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68772 /* 195952 */ // GIR_Coverage, 19717,
68773 /* 195952 */ GIR_EraseRootFromParent_Done,
68774 /* 195953 */ // Label 5644: @195953
68775 /* 195953 */ GIM_Reject,
68776 /* 195954 */ // Label 5638: @195954
68777 /* 195954 */ GIM_Try, /*On fail goto*//*Label 5645*/ GIMT_Encode4(195991), // Rule ID 19719 //
68778 /* 195959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68779 /* 195963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68780 /* 195967 */ // MIs[0] Operand 2
68781 /* 195967 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68782 /* 195978 */ // (extract_subvector:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, VK1:{ *:[i32] })
68783 /* 195978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68784 /* 195981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68785 /* 195983 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68786 /* 195985 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68787 /* 195990 */ // GIR_Coverage, 19719,
68788 /* 195990 */ GIR_EraseRootFromParent_Done,
68789 /* 195991 */ // Label 5645: @195991
68790 /* 195991 */ GIM_Reject,
68791 /* 195992 */ // Label 5639: @195992
68792 /* 195992 */ GIM_Try, /*On fail goto*//*Label 5646*/ GIMT_Encode4(196029), // Rule ID 19721 //
68793 /* 195997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68794 /* 196001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
68795 /* 196005 */ // MIs[0] Operand 2
68796 /* 196005 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68797 /* 196016 */ // (extract_subvector:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, VK1:{ *:[i32] })
68798 /* 196016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68799 /* 196019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68800 /* 196021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68801 /* 196023 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68802 /* 196028 */ // GIR_Coverage, 19721,
68803 /* 196028 */ GIR_EraseRootFromParent_Done,
68804 /* 196029 */ // Label 5646: @196029
68805 /* 196029 */ GIM_Reject,
68806 /* 196030 */ // Label 5640: @196030
68807 /* 196030 */ GIM_Try, /*On fail goto*//*Label 5647*/ GIMT_Encode4(196067), // Rule ID 19723 //
68808 /* 196035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68809 /* 196039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
68810 /* 196043 */ // MIs[0] Operand 2
68811 /* 196043 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68812 /* 196054 */ // (extract_subvector:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, VK1:{ *:[i32] })
68813 /* 196054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68814 /* 196057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68815 /* 196059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68816 /* 196061 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68817 /* 196066 */ // GIR_Coverage, 19723,
68818 /* 196066 */ GIR_EraseRootFromParent_Done,
68819 /* 196067 */ // Label 5647: @196067
68820 /* 196067 */ GIM_Reject,
68821 /* 196068 */ // Label 5641: @196068
68822 /* 196068 */ GIM_Try, /*On fail goto*//*Label 5648*/ GIMT_Encode4(196105), // Rule ID 19725 //
68823 /* 196073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68824 /* 196077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
68825 /* 196081 */ // MIs[0] Operand 2
68826 /* 196081 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68827 /* 196092 */ // (extract_subvector:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, VK1:{ *:[i32] })
68828 /* 196092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68829 /* 196095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68830 /* 196097 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68831 /* 196099 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68832 /* 196104 */ // GIR_Coverage, 19725,
68833 /* 196104 */ GIR_EraseRootFromParent_Done,
68834 /* 196105 */ // Label 5648: @196105
68835 /* 196105 */ GIM_Reject,
68836 /* 196106 */ // Label 5642: @196106
68837 /* 196106 */ GIM_Try, /*On fail goto*//*Label 5649*/ GIMT_Encode4(196143), // Rule ID 19727 //
68838 /* 196111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68839 /* 196115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
68840 /* 196119 */ // MIs[0] Operand 2
68841 /* 196119 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68842 /* 196130 */ // (extract_subvector:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, VK1:{ *:[i32] })
68843 /* 196130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68844 /* 196133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68845 /* 196135 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68846 /* 196137 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68847 /* 196142 */ // GIR_Coverage, 19727,
68848 /* 196142 */ GIR_EraseRootFromParent_Done,
68849 /* 196143 */ // Label 5649: @196143
68850 /* 196143 */ GIM_Reject,
68851 /* 196144 */ // Label 5643: @196144
68852 /* 196144 */ GIM_Reject,
68853 /* 196145 */ // Label 5623: @196145
68854 /* 196145 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(8), GIMT_Encode2(13), /*)*//*default:*//*Label 5655*/ GIMT_Encode4(196366),
68855 /* 196156 */ /*GILLT_v4s1*//*Label 5650*/ GIMT_Encode4(196176),
68856 /* 196160 */ /*GILLT_v8s1*//*Label 5651*/ GIMT_Encode4(196214),
68857 /* 196164 */ /*GILLT_v16s1*//*Label 5652*/ GIMT_Encode4(196252),
68858 /* 196168 */ /*GILLT_v32s1*//*Label 5653*/ GIMT_Encode4(196290),
68859 /* 196172 */ /*GILLT_v64s1*//*Label 5654*/ GIMT_Encode4(196328),
68860 /* 196176 */ // Label 5650: @196176
68861 /* 196176 */ GIM_Try, /*On fail goto*//*Label 5656*/ GIMT_Encode4(196213), // Rule ID 19729 //
68862 /* 196181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68863 /* 196185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68864 /* 196189 */ // MIs[0] Operand 2
68865 /* 196189 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68866 /* 196200 */ // (extract_subvector:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, VK2:{ *:[i32] })
68867 /* 196200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68868 /* 196203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68869 /* 196205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68870 /* 196207 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68871 /* 196212 */ // GIR_Coverage, 19729,
68872 /* 196212 */ GIR_EraseRootFromParent_Done,
68873 /* 196213 */ // Label 5656: @196213
68874 /* 196213 */ GIM_Reject,
68875 /* 196214 */ // Label 5651: @196214
68876 /* 196214 */ GIM_Try, /*On fail goto*//*Label 5657*/ GIMT_Encode4(196251), // Rule ID 19731 //
68877 /* 196219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68878 /* 196223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
68879 /* 196227 */ // MIs[0] Operand 2
68880 /* 196227 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68881 /* 196238 */ // (extract_subvector:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, VK2:{ *:[i32] })
68882 /* 196238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68883 /* 196241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68884 /* 196243 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68885 /* 196245 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68886 /* 196250 */ // GIR_Coverage, 19731,
68887 /* 196250 */ GIR_EraseRootFromParent_Done,
68888 /* 196251 */ // Label 5657: @196251
68889 /* 196251 */ GIM_Reject,
68890 /* 196252 */ // Label 5652: @196252
68891 /* 196252 */ GIM_Try, /*On fail goto*//*Label 5658*/ GIMT_Encode4(196289), // Rule ID 19733 //
68892 /* 196257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68893 /* 196261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
68894 /* 196265 */ // MIs[0] Operand 2
68895 /* 196265 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68896 /* 196276 */ // (extract_subvector:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, VK2:{ *:[i32] })
68897 /* 196276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68898 /* 196279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68899 /* 196281 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68900 /* 196283 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68901 /* 196288 */ // GIR_Coverage, 19733,
68902 /* 196288 */ GIR_EraseRootFromParent_Done,
68903 /* 196289 */ // Label 5658: @196289
68904 /* 196289 */ GIM_Reject,
68905 /* 196290 */ // Label 5653: @196290
68906 /* 196290 */ GIM_Try, /*On fail goto*//*Label 5659*/ GIMT_Encode4(196327), // Rule ID 19735 //
68907 /* 196295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68908 /* 196299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
68909 /* 196303 */ // MIs[0] Operand 2
68910 /* 196303 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68911 /* 196314 */ // (extract_subvector:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, VK2:{ *:[i32] })
68912 /* 196314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68913 /* 196317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68914 /* 196319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68915 /* 196321 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68916 /* 196326 */ // GIR_Coverage, 19735,
68917 /* 196326 */ GIR_EraseRootFromParent_Done,
68918 /* 196327 */ // Label 5659: @196327
68919 /* 196327 */ GIM_Reject,
68920 /* 196328 */ // Label 5654: @196328
68921 /* 196328 */ GIM_Try, /*On fail goto*//*Label 5660*/ GIMT_Encode4(196365), // Rule ID 19737 //
68922 /* 196333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68923 /* 196337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
68924 /* 196341 */ // MIs[0] Operand 2
68925 /* 196341 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68926 /* 196352 */ // (extract_subvector:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, VK2:{ *:[i32] })
68927 /* 196352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68928 /* 196355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68929 /* 196357 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68930 /* 196359 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68931 /* 196364 */ // GIR_Coverage, 19737,
68932 /* 196364 */ GIR_EraseRootFromParent_Done,
68933 /* 196365 */ // Label 5660: @196365
68934 /* 196365 */ GIM_Reject,
68935 /* 196366 */ // Label 5655: @196366
68936 /* 196366 */ GIM_Reject,
68937 /* 196367 */ // Label 5624: @196367
68938 /* 196367 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(9), GIMT_Encode2(13), /*)*//*default:*//*Label 5665*/ GIMT_Encode4(196546),
68939 /* 196378 */ /*GILLT_v8s1*//*Label 5661*/ GIMT_Encode4(196394),
68940 /* 196382 */ /*GILLT_v16s1*//*Label 5662*/ GIMT_Encode4(196432),
68941 /* 196386 */ /*GILLT_v32s1*//*Label 5663*/ GIMT_Encode4(196470),
68942 /* 196390 */ /*GILLT_v64s1*//*Label 5664*/ GIMT_Encode4(196508),
68943 /* 196394 */ // Label 5661: @196394
68944 /* 196394 */ GIM_Try, /*On fail goto*//*Label 5666*/ GIMT_Encode4(196431), // Rule ID 19739 //
68945 /* 196399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68946 /* 196403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
68947 /* 196407 */ // MIs[0] Operand 2
68948 /* 196407 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68949 /* 196418 */ // (extract_subvector:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, VK4:{ *:[i32] })
68950 /* 196418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68951 /* 196421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68952 /* 196423 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68953 /* 196425 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
68954 /* 196430 */ // GIR_Coverage, 19739,
68955 /* 196430 */ GIR_EraseRootFromParent_Done,
68956 /* 196431 */ // Label 5666: @196431
68957 /* 196431 */ GIM_Reject,
68958 /* 196432 */ // Label 5662: @196432
68959 /* 196432 */ GIM_Try, /*On fail goto*//*Label 5667*/ GIMT_Encode4(196469), // Rule ID 19741 //
68960 /* 196437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68961 /* 196441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
68962 /* 196445 */ // MIs[0] Operand 2
68963 /* 196445 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68964 /* 196456 */ // (extract_subvector:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, VK4:{ *:[i32] })
68965 /* 196456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68966 /* 196459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68967 /* 196461 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68968 /* 196463 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
68969 /* 196468 */ // GIR_Coverage, 19741,
68970 /* 196468 */ GIR_EraseRootFromParent_Done,
68971 /* 196469 */ // Label 5667: @196469
68972 /* 196469 */ GIM_Reject,
68973 /* 196470 */ // Label 5663: @196470
68974 /* 196470 */ GIM_Try, /*On fail goto*//*Label 5668*/ GIMT_Encode4(196507), // Rule ID 19743 //
68975 /* 196475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68976 /* 196479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
68977 /* 196483 */ // MIs[0] Operand 2
68978 /* 196483 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68979 /* 196494 */ // (extract_subvector:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, VK4:{ *:[i32] })
68980 /* 196494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68981 /* 196497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68982 /* 196499 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68983 /* 196501 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
68984 /* 196506 */ // GIR_Coverage, 19743,
68985 /* 196506 */ GIR_EraseRootFromParent_Done,
68986 /* 196507 */ // Label 5668: @196507
68987 /* 196507 */ GIM_Reject,
68988 /* 196508 */ // Label 5664: @196508
68989 /* 196508 */ GIM_Try, /*On fail goto*//*Label 5669*/ GIMT_Encode4(196545), // Rule ID 19745 //
68990 /* 196513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68991 /* 196517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
68992 /* 196521 */ // MIs[0] Operand 2
68993 /* 196521 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68994 /* 196532 */ // (extract_subvector:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, VK4:{ *:[i32] })
68995 /* 196532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68996 /* 196535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68997 /* 196537 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68998 /* 196539 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
68999 /* 196544 */ // GIR_Coverage, 19745,
69000 /* 196544 */ GIR_EraseRootFromParent_Done,
69001 /* 196545 */ // Label 5669: @196545
69002 /* 196545 */ GIM_Reject,
69003 /* 196546 */ // Label 5665: @196546
69004 /* 196546 */ GIM_Reject,
69005 /* 196547 */ // Label 5625: @196547
69006 /* 196547 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(10), GIMT_Encode2(13), /*)*//*default:*//*Label 5673*/ GIMT_Encode4(196684),
69007 /* 196558 */ /*GILLT_v16s1*//*Label 5670*/ GIMT_Encode4(196570),
69008 /* 196562 */ /*GILLT_v32s1*//*Label 5671*/ GIMT_Encode4(196608),
69009 /* 196566 */ /*GILLT_v64s1*//*Label 5672*/ GIMT_Encode4(196646),
69010 /* 196570 */ // Label 5670: @196570
69011 /* 196570 */ GIM_Try, /*On fail goto*//*Label 5674*/ GIMT_Encode4(196607), // Rule ID 19747 //
69012 /* 196575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
69013 /* 196579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
69014 /* 196583 */ // MIs[0] Operand 2
69015 /* 196583 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69016 /* 196594 */ // (extract_subvector:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, VK8:{ *:[i32] })
69017 /* 196594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69018 /* 196597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69019 /* 196599 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69020 /* 196601 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
69021 /* 196606 */ // GIR_Coverage, 19747,
69022 /* 196606 */ GIR_EraseRootFromParent_Done,
69023 /* 196607 */ // Label 5674: @196607
69024 /* 196607 */ GIM_Reject,
69025 /* 196608 */ // Label 5671: @196608
69026 /* 196608 */ GIM_Try, /*On fail goto*//*Label 5675*/ GIMT_Encode4(196645), // Rule ID 19749 //
69027 /* 196613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
69028 /* 196617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
69029 /* 196621 */ // MIs[0] Operand 2
69030 /* 196621 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69031 /* 196632 */ // (extract_subvector:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, VK8:{ *:[i32] })
69032 /* 196632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69033 /* 196635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69034 /* 196637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69035 /* 196639 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
69036 /* 196644 */ // GIR_Coverage, 19749,
69037 /* 196644 */ GIR_EraseRootFromParent_Done,
69038 /* 196645 */ // Label 5675: @196645
69039 /* 196645 */ GIM_Reject,
69040 /* 196646 */ // Label 5672: @196646
69041 /* 196646 */ GIM_Try, /*On fail goto*//*Label 5676*/ GIMT_Encode4(196683), // Rule ID 19751 //
69042 /* 196651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
69043 /* 196655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
69044 /* 196659 */ // MIs[0] Operand 2
69045 /* 196659 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69046 /* 196670 */ // (extract_subvector:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, VK8:{ *:[i32] })
69047 /* 196670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69048 /* 196673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69049 /* 196675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69050 /* 196677 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
69051 /* 196682 */ // GIR_Coverage, 19751,
69052 /* 196682 */ GIR_EraseRootFromParent_Done,
69053 /* 196683 */ // Label 5676: @196683
69054 /* 196683 */ GIM_Reject,
69055 /* 196684 */ // Label 5673: @196684
69056 /* 196684 */ GIM_Reject,
69057 /* 196685 */ // Label 5626: @196685
69058 /* 196685 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(11), GIMT_Encode2(13), /*)*//*default:*//*Label 5679*/ GIMT_Encode4(196780),
69059 /* 196696 */ /*GILLT_v32s1*//*Label 5677*/ GIMT_Encode4(196704),
69060 /* 196700 */ /*GILLT_v64s1*//*Label 5678*/ GIMT_Encode4(196742),
69061 /* 196704 */ // Label 5677: @196704
69062 /* 196704 */ GIM_Try, /*On fail goto*//*Label 5680*/ GIMT_Encode4(196741), // Rule ID 19753 //
69063 /* 196709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
69064 /* 196713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
69065 /* 196717 */ // MIs[0] Operand 2
69066 /* 196717 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69067 /* 196728 */ // (extract_subvector:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, VK16:{ *:[i32] })
69068 /* 196728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69069 /* 196731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69070 /* 196733 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69071 /* 196735 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
69072 /* 196740 */ // GIR_Coverage, 19753,
69073 /* 196740 */ GIR_EraseRootFromParent_Done,
69074 /* 196741 */ // Label 5680: @196741
69075 /* 196741 */ GIM_Reject,
69076 /* 196742 */ // Label 5678: @196742
69077 /* 196742 */ GIM_Try, /*On fail goto*//*Label 5681*/ GIMT_Encode4(196779), // Rule ID 19755 //
69078 /* 196747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
69079 /* 196751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
69080 /* 196755 */ // MIs[0] Operand 2
69081 /* 196755 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69082 /* 196766 */ // (extract_subvector:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, VK16:{ *:[i32] })
69083 /* 196766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69084 /* 196769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69085 /* 196771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69086 /* 196773 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
69087 /* 196778 */ // GIR_Coverage, 19755,
69088 /* 196778 */ GIR_EraseRootFromParent_Done,
69089 /* 196779 */ // Label 5681: @196779
69090 /* 196779 */ GIM_Reject,
69091 /* 196780 */ // Label 5679: @196780
69092 /* 196780 */ GIM_Reject,
69093 /* 196781 */ // Label 5627: @196781
69094 /* 196781 */ GIM_Try, /*On fail goto*//*Label 5682*/ GIMT_Encode4(196821), // Rule ID 19757 //
69095 /* 196786 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
69096 /* 196789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
69097 /* 196793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
69098 /* 196797 */ // MIs[0] Operand 2
69099 /* 196797 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69100 /* 196808 */ // (extract_subvector:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, VK32:{ *:[i32] })
69101 /* 196808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69102 /* 196811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69103 /* 196813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69104 /* 196815 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
69105 /* 196820 */ // GIR_Coverage, 19757,
69106 /* 196820 */ GIR_EraseRootFromParent_Done,
69107 /* 196821 */ // Label 5682: @196821
69108 /* 196821 */ GIM_Reject,
69109 /* 196822 */ // Label 5628: @196822
69110 /* 196822 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(14), GIMT_Encode2(16), /*)*//*default:*//*Label 5685*/ GIMT_Encode4(197069),
69111 /* 196833 */ /*GILLT_v32s8*//*Label 5683*/ GIMT_Encode4(196841),
69112 /* 196837 */ /*GILLT_v64s8*//*Label 5684*/ GIMT_Encode4(196888),
69113 /* 196841 */ // Label 5683: @196841
69114 /* 196841 */ GIM_Try, /*On fail goto*//*Label 5686*/ GIMT_Encode4(196887), // Rule ID 23269 //
69115 /* 196846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69116 /* 196850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69117 /* 196854 */ // MIs[0] Operand 2
69118 /* 196854 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69119 /* 196865 */ // (extract_subvector:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] })
69120 /* 196865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69121 /* 196868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69122 /* 196870 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69123 /* 196876 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69124 /* 196881 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69125 /* 196886 */ // GIR_Coverage, 23269,
69126 /* 196886 */ GIR_EraseRootFromParent_Done,
69127 /* 196887 */ // Label 5686: @196887
69128 /* 196887 */ GIM_Reject,
69129 /* 196888 */ // Label 5684: @196888
69130 /* 196888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5687*/ GIMT_Encode4(196955), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19159 //
69131 /* 196895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69132 /* 196899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69133 /* 196903 */ // MIs[0] Operand 2
69134 /* 196903 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
69135 /* 196914 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69136 /* 196914 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
69137 /* 196917 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69138 /* 196921 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69139 /* 196926 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69140 /* 196932 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69141 /* 196937 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69142 /* 196942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
69143 /* 196945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69144 /* 196947 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69145 /* 196950 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69146 /* 196953 */ GIR_RootConstrainSelectedInstOperands,
69147 /* 196954 */ // GIR_Coverage, 19159,
69148 /* 196954 */ GIR_EraseRootFromParent_Done,
69149 /* 196955 */ // Label 5687: @196955
69150 /* 196955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5688*/ GIMT_Encode4(197022), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19166 //
69151 /* 196962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69152 /* 196966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69153 /* 196970 */ // MIs[0] Operand 2
69154 /* 196970 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
69155 /* 196981 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69156 /* 196981 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
69157 /* 196984 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69158 /* 196988 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69159 /* 196993 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69160 /* 196999 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69161 /* 197004 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69162 /* 197009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
69163 /* 197012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69164 /* 197014 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69165 /* 197017 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69166 /* 197020 */ GIR_RootConstrainSelectedInstOperands,
69167 /* 197021 */ // GIR_Coverage, 19166,
69168 /* 197021 */ GIR_EraseRootFromParent_Done,
69169 /* 197022 */ // Label 5688: @197022
69170 /* 197022 */ GIM_Try, /*On fail goto*//*Label 5689*/ GIMT_Encode4(197068), // Rule ID 23290 //
69171 /* 197027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69172 /* 197031 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69173 /* 197035 */ // MIs[0] Operand 2
69174 /* 197035 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69175 /* 197046 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, sub_xmm:{ *:[i32] })
69176 /* 197046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69177 /* 197049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69178 /* 197051 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69179 /* 197057 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69180 /* 197062 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69181 /* 197067 */ // GIR_Coverage, 23290,
69182 /* 197067 */ GIR_EraseRootFromParent_Done,
69183 /* 197068 */ // Label 5689: @197068
69184 /* 197068 */ GIM_Reject,
69185 /* 197069 */ // Label 5685: @197069
69186 /* 197069 */ GIM_Reject,
69187 /* 197070 */ // Label 5629: @197070
69188 /* 197070 */ GIM_Try, /*On fail goto*//*Label 5690*/ GIMT_Encode4(197119), // Rule ID 23311 //
69189 /* 197075 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
69190 /* 197078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69191 /* 197082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69192 /* 197086 */ // MIs[0] Operand 2
69193 /* 197086 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69194 /* 197097 */ // (extract_subvector:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] })
69195 /* 197097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69196 /* 197100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69197 /* 197102 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69198 /* 197108 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69199 /* 197113 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69200 /* 197118 */ // GIR_Coverage, 23311,
69201 /* 197118 */ GIR_EraseRootFromParent_Done,
69202 /* 197119 */ // Label 5690: @197119
69203 /* 197119 */ GIM_Reject,
69204 /* 197120 */ // Label 5630: @197120
69205 /* 197120 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(19), /*)*//*default:*//*Label 5693*/ GIMT_Encode4(197541),
69206 /* 197131 */ /*GILLT_v16s16*//*Label 5691*/ GIMT_Encode4(197139),
69207 /* 197135 */ /*GILLT_v32s16*//*Label 5692*/ GIMT_Encode4(197219),
69208 /* 197139 */ // Label 5691: @197139
69209 /* 197139 */ GIM_Try, /*On fail goto*//*Label 5694*/ GIMT_Encode4(197218),
69210 /* 197144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69211 /* 197148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69212 /* 197152 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69213 /* 197163 */ GIM_Try, /*On fail goto*//*Label 5695*/ GIMT_Encode4(197190), // Rule ID 23266 //
69214 /* 197168 */ // (extract_subvector:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] })
69215 /* 197168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69216 /* 197171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69217 /* 197173 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69218 /* 197179 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69219 /* 197184 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69220 /* 197189 */ // GIR_Coverage, 23266,
69221 /* 197189 */ GIR_EraseRootFromParent_Done,
69222 /* 197190 */ // Label 5695: @197190
69223 /* 197190 */ GIM_Try, /*On fail goto*//*Label 5696*/ GIMT_Encode4(197217), // Rule ID 23272 //
69224 /* 197195 */ // (extract_subvector:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, sub_xmm:{ *:[i32] })
69225 /* 197195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69226 /* 197198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69227 /* 197200 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69228 /* 197206 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69229 /* 197211 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69230 /* 197216 */ // GIR_Coverage, 23272,
69231 /* 197216 */ GIR_EraseRootFromParent_Done,
69232 /* 197217 */ // Label 5696: @197217
69233 /* 197217 */ GIM_Reject,
69234 /* 197218 */ // Label 5694: @197218
69235 /* 197218 */ GIM_Reject,
69236 /* 197219 */ // Label 5692: @197219
69237 /* 197219 */ GIM_Try, /*On fail goto*//*Label 5697*/ GIMT_Encode4(197340),
69238 /* 197224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69239 /* 197228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69240 /* 197232 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
69241 /* 197243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5698*/ GIMT_Encode4(197291), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19157 //
69242 /* 197250 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69243 /* 197250 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
69244 /* 197253 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69245 /* 197257 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69246 /* 197262 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69247 /* 197268 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69248 /* 197273 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69249 /* 197278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
69250 /* 197281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69251 /* 197283 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69252 /* 197286 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69253 /* 197289 */ GIR_RootConstrainSelectedInstOperands,
69254 /* 197290 */ // GIR_Coverage, 19157,
69255 /* 197290 */ GIR_EraseRootFromParent_Done,
69256 /* 197291 */ // Label 5698: @197291
69257 /* 197291 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5699*/ GIMT_Encode4(197339), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19158 //
69258 /* 197298 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69259 /* 197298 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
69260 /* 197301 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69261 /* 197305 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69262 /* 197310 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69263 /* 197316 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69264 /* 197321 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69265 /* 197326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
69266 /* 197329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69267 /* 197331 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69268 /* 197334 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69269 /* 197337 */ GIR_RootConstrainSelectedInstOperands,
69270 /* 197338 */ // GIR_Coverage, 19158,
69271 /* 197338 */ GIR_EraseRootFromParent_Done,
69272 /* 197339 */ // Label 5699: @197339
69273 /* 197339 */ GIM_Reject,
69274 /* 197340 */ // Label 5697: @197340
69275 /* 197340 */ GIM_Try, /*On fail goto*//*Label 5700*/ GIMT_Encode4(197461),
69276 /* 197345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69277 /* 197349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69278 /* 197353 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
69279 /* 197364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5701*/ GIMT_Encode4(197412), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19164 //
69280 /* 197371 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69281 /* 197371 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
69282 /* 197374 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69283 /* 197378 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69284 /* 197383 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69285 /* 197389 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69286 /* 197394 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69287 /* 197399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
69288 /* 197402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69289 /* 197404 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69290 /* 197407 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69291 /* 197410 */ GIR_RootConstrainSelectedInstOperands,
69292 /* 197411 */ // GIR_Coverage, 19164,
69293 /* 197411 */ GIR_EraseRootFromParent_Done,
69294 /* 197412 */ // Label 5701: @197412
69295 /* 197412 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5702*/ GIMT_Encode4(197460), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19165 //
69296 /* 197419 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69297 /* 197419 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
69298 /* 197422 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69299 /* 197426 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69300 /* 197431 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69301 /* 197437 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69302 /* 197442 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69303 /* 197447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
69304 /* 197450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69305 /* 197452 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69306 /* 197455 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69307 /* 197458 */ GIR_RootConstrainSelectedInstOperands,
69308 /* 197459 */ // GIR_Coverage, 19165,
69309 /* 197459 */ GIR_EraseRootFromParent_Done,
69310 /* 197460 */ // Label 5702: @197460
69311 /* 197460 */ GIM_Reject,
69312 /* 197461 */ // Label 5700: @197461
69313 /* 197461 */ GIM_Try, /*On fail goto*//*Label 5703*/ GIMT_Encode4(197540),
69314 /* 197466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69315 /* 197470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69316 /* 197474 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69317 /* 197485 */ GIM_Try, /*On fail goto*//*Label 5704*/ GIMT_Encode4(197512), // Rule ID 23287 //
69318 /* 197490 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, sub_xmm:{ *:[i32] })
69319 /* 197490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69320 /* 197493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69321 /* 197495 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69322 /* 197501 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69323 /* 197506 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69324 /* 197511 */ // GIR_Coverage, 23287,
69325 /* 197511 */ GIR_EraseRootFromParent_Done,
69326 /* 197512 */ // Label 5704: @197512
69327 /* 197512 */ GIM_Try, /*On fail goto*//*Label 5705*/ GIMT_Encode4(197539), // Rule ID 23293 //
69328 /* 197517 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, sub_xmm:{ *:[i32] })
69329 /* 197517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69330 /* 197520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69331 /* 197522 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69332 /* 197528 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69333 /* 197533 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69334 /* 197538 */ // GIR_Coverage, 23293,
69335 /* 197538 */ GIR_EraseRootFromParent_Done,
69336 /* 197539 */ // Label 5705: @197539
69337 /* 197539 */ GIM_Reject,
69338 /* 197540 */ // Label 5703: @197540
69339 /* 197540 */ GIM_Reject,
69340 /* 197541 */ // Label 5693: @197541
69341 /* 197541 */ GIM_Reject,
69342 /* 197542 */ // Label 5631: @197542
69343 /* 197542 */ GIM_Try, /*On fail goto*//*Label 5706*/ GIMT_Encode4(197624),
69344 /* 197547 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
69345 /* 197550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69346 /* 197554 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69347 /* 197558 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69348 /* 197569 */ GIM_Try, /*On fail goto*//*Label 5707*/ GIMT_Encode4(197596), // Rule ID 23308 //
69349 /* 197574 */ // (extract_subvector:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] })
69350 /* 197574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69351 /* 197577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69352 /* 197579 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69353 /* 197585 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69354 /* 197590 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69355 /* 197595 */ // GIR_Coverage, 23308,
69356 /* 197595 */ GIR_EraseRootFromParent_Done,
69357 /* 197596 */ // Label 5707: @197596
69358 /* 197596 */ GIM_Try, /*On fail goto*//*Label 5708*/ GIMT_Encode4(197623), // Rule ID 23314 //
69359 /* 197601 */ // (extract_subvector:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] })
69360 /* 197601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69361 /* 197604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69362 /* 197606 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69363 /* 197612 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69364 /* 197617 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69365 /* 197622 */ // GIR_Coverage, 23314,
69366 /* 197622 */ GIR_EraseRootFromParent_Done,
69367 /* 197623 */ // Label 5708: @197623
69368 /* 197623 */ GIM_Reject,
69369 /* 197624 */ // Label 5706: @197624
69370 /* 197624 */ GIM_Reject,
69371 /* 197625 */ // Label 5632: @197625
69372 /* 197625 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(22), /*)*//*default:*//*Label 5711*/ GIMT_Encode4(198046),
69373 /* 197636 */ /*GILLT_v8s32*//*Label 5709*/ GIMT_Encode4(197644),
69374 /* 197640 */ /*GILLT_v16s32*//*Label 5710*/ GIMT_Encode4(197724),
69375 /* 197644 */ // Label 5709: @197644
69376 /* 197644 */ GIM_Try, /*On fail goto*//*Label 5712*/ GIMT_Encode4(197723),
69377 /* 197649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69378 /* 197653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69379 /* 197657 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69380 /* 197668 */ GIM_Try, /*On fail goto*//*Label 5713*/ GIMT_Encode4(197695), // Rule ID 23254 //
69381 /* 197673 */ // (extract_subvector:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] })
69382 /* 197673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69383 /* 197676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69384 /* 197678 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69385 /* 197684 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69386 /* 197689 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69387 /* 197694 */ // GIR_Coverage, 23254,
69388 /* 197694 */ GIR_EraseRootFromParent_Done,
69389 /* 197695 */ // Label 5713: @197695
69390 /* 197695 */ GIM_Try, /*On fail goto*//*Label 5714*/ GIMT_Encode4(197722), // Rule ID 23257 //
69391 /* 197700 */ // (extract_subvector:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] })
69392 /* 197700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69393 /* 197703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69394 /* 197705 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69395 /* 197711 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69396 /* 197716 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69397 /* 197721 */ // GIR_Coverage, 23257,
69398 /* 197721 */ GIR_EraseRootFromParent_Done,
69399 /* 197722 */ // Label 5714: @197722
69400 /* 197722 */ GIM_Reject,
69401 /* 197723 */ // Label 5712: @197723
69402 /* 197723 */ GIM_Reject,
69403 /* 197724 */ // Label 5710: @197724
69404 /* 197724 */ GIM_Try, /*On fail goto*//*Label 5715*/ GIMT_Encode4(197845),
69405 /* 197729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69406 /* 197733 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69407 /* 197737 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
69408 /* 197748 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5716*/ GIMT_Encode4(197796), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19155 //
69409 /* 197755 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69410 /* 197755 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
69411 /* 197758 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69412 /* 197762 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69413 /* 197767 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69414 /* 197773 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69415 /* 197778 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69416 /* 197783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
69417 /* 197786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69418 /* 197788 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69419 /* 197791 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69420 /* 197794 */ GIR_RootConstrainSelectedInstOperands,
69421 /* 197795 */ // GIR_Coverage, 19155,
69422 /* 197795 */ GIR_EraseRootFromParent_Done,
69423 /* 197796 */ // Label 5716: @197796
69424 /* 197796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5717*/ GIMT_Encode4(197844), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19156 //
69425 /* 197803 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69426 /* 197803 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
69427 /* 197806 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69428 /* 197810 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69429 /* 197815 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69430 /* 197821 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69431 /* 197826 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69432 /* 197831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
69433 /* 197834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69434 /* 197836 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69435 /* 197839 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69436 /* 197842 */ GIR_RootConstrainSelectedInstOperands,
69437 /* 197843 */ // GIR_Coverage, 19156,
69438 /* 197843 */ GIR_EraseRootFromParent_Done,
69439 /* 197844 */ // Label 5717: @197844
69440 /* 197844 */ GIM_Reject,
69441 /* 197845 */ // Label 5715: @197845
69442 /* 197845 */ GIM_Try, /*On fail goto*//*Label 5718*/ GIMT_Encode4(197966),
69443 /* 197850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69444 /* 197854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69445 /* 197858 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
69446 /* 197869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5719*/ GIMT_Encode4(197917), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19162 //
69447 /* 197876 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69448 /* 197876 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
69449 /* 197879 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69450 /* 197883 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69451 /* 197888 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69452 /* 197894 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69453 /* 197899 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69454 /* 197904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
69455 /* 197907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69456 /* 197909 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69457 /* 197912 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69458 /* 197915 */ GIR_RootConstrainSelectedInstOperands,
69459 /* 197916 */ // GIR_Coverage, 19162,
69460 /* 197916 */ GIR_EraseRootFromParent_Done,
69461 /* 197917 */ // Label 5719: @197917
69462 /* 197917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5720*/ GIMT_Encode4(197965), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19163 //
69463 /* 197924 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69464 /* 197924 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
69465 /* 197927 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69466 /* 197931 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69467 /* 197936 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69468 /* 197942 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69469 /* 197947 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69470 /* 197952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
69471 /* 197955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69472 /* 197957 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69473 /* 197960 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69474 /* 197963 */ GIR_RootConstrainSelectedInstOperands,
69475 /* 197964 */ // GIR_Coverage, 19163,
69476 /* 197964 */ GIR_EraseRootFromParent_Done,
69477 /* 197965 */ // Label 5720: @197965
69478 /* 197965 */ GIM_Reject,
69479 /* 197966 */ // Label 5718: @197966
69480 /* 197966 */ GIM_Try, /*On fail goto*//*Label 5721*/ GIMT_Encode4(198045),
69481 /* 197971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69482 /* 197975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69483 /* 197979 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69484 /* 197990 */ GIM_Try, /*On fail goto*//*Label 5722*/ GIMT_Encode4(198017), // Rule ID 23275 //
69485 /* 197995 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, sub_xmm:{ *:[i32] })
69486 /* 197995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69487 /* 197998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69488 /* 198000 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69489 /* 198006 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69490 /* 198011 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69491 /* 198016 */ // GIR_Coverage, 23275,
69492 /* 198016 */ GIR_EraseRootFromParent_Done,
69493 /* 198017 */ // Label 5722: @198017
69494 /* 198017 */ GIM_Try, /*On fail goto*//*Label 5723*/ GIMT_Encode4(198044), // Rule ID 23278 //
69495 /* 198022 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, sub_xmm:{ *:[i32] })
69496 /* 198022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69497 /* 198025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69498 /* 198027 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69499 /* 198033 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69500 /* 198038 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69501 /* 198043 */ // GIR_Coverage, 23278,
69502 /* 198043 */ GIR_EraseRootFromParent_Done,
69503 /* 198044 */ // Label 5723: @198044
69504 /* 198044 */ GIM_Reject,
69505 /* 198045 */ // Label 5721: @198045
69506 /* 198045 */ GIM_Reject,
69507 /* 198046 */ // Label 5711: @198046
69508 /* 198046 */ GIM_Reject,
69509 /* 198047 */ // Label 5633: @198047
69510 /* 198047 */ GIM_Try, /*On fail goto*//*Label 5724*/ GIMT_Encode4(198129),
69511 /* 198052 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
69512 /* 198055 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69513 /* 198059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69514 /* 198063 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69515 /* 198074 */ GIM_Try, /*On fail goto*//*Label 5725*/ GIMT_Encode4(198101), // Rule ID 23296 //
69516 /* 198079 */ // (extract_subvector:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] })
69517 /* 198079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69518 /* 198082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69519 /* 198084 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69520 /* 198090 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69521 /* 198095 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69522 /* 198100 */ // GIR_Coverage, 23296,
69523 /* 198100 */ GIR_EraseRootFromParent_Done,
69524 /* 198101 */ // Label 5725: @198101
69525 /* 198101 */ GIM_Try, /*On fail goto*//*Label 5726*/ GIMT_Encode4(198128), // Rule ID 23299 //
69526 /* 198106 */ // (extract_subvector:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] })
69527 /* 198106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69528 /* 198109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69529 /* 198111 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69530 /* 198117 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69531 /* 198122 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69532 /* 198127 */ // GIR_Coverage, 23299,
69533 /* 198127 */ GIR_EraseRootFromParent_Done,
69534 /* 198128 */ // Label 5726: @198128
69535 /* 198128 */ GIM_Reject,
69536 /* 198129 */ // Label 5724: @198129
69537 /* 198129 */ GIM_Reject,
69538 /* 198130 */ // Label 5634: @198130
69539 /* 198130 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(23), GIMT_Encode2(25), /*)*//*default:*//*Label 5729*/ GIMT_Encode4(198551),
69540 /* 198141 */ /*GILLT_v4s64*//*Label 5727*/ GIMT_Encode4(198149),
69541 /* 198145 */ /*GILLT_v8s64*//*Label 5728*/ GIMT_Encode4(198229),
69542 /* 198149 */ // Label 5727: @198149
69543 /* 198149 */ GIM_Try, /*On fail goto*//*Label 5730*/ GIMT_Encode4(198228),
69544 /* 198154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69545 /* 198158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69546 /* 198162 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69547 /* 198173 */ GIM_Try, /*On fail goto*//*Label 5731*/ GIMT_Encode4(198200), // Rule ID 23260 //
69548 /* 198178 */ // (extract_subvector:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] })
69549 /* 198178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69550 /* 198181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69551 /* 198183 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69552 /* 198189 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69553 /* 198194 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69554 /* 198199 */ // GIR_Coverage, 23260,
69555 /* 198199 */ GIR_EraseRootFromParent_Done,
69556 /* 198200 */ // Label 5731: @198200
69557 /* 198200 */ GIM_Try, /*On fail goto*//*Label 5732*/ GIMT_Encode4(198227), // Rule ID 23263 //
69558 /* 198205 */ // (extract_subvector:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] })
69559 /* 198205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69560 /* 198208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69561 /* 198210 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69562 /* 198216 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69563 /* 198221 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69564 /* 198226 */ // GIR_Coverage, 23263,
69565 /* 198226 */ GIR_EraseRootFromParent_Done,
69566 /* 198227 */ // Label 5732: @198227
69567 /* 198227 */ GIM_Reject,
69568 /* 198228 */ // Label 5730: @198228
69569 /* 198228 */ GIM_Reject,
69570 /* 198229 */ // Label 5728: @198229
69571 /* 198229 */ GIM_Try, /*On fail goto*//*Label 5733*/ GIMT_Encode4(198350),
69572 /* 198234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69573 /* 198238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69574 /* 198242 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
69575 /* 198253 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5734*/ GIMT_Encode4(198301), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19153 //
69576 /* 198260 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69577 /* 198260 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69578 /* 198263 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69579 /* 198267 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69580 /* 198272 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69581 /* 198278 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69582 /* 198283 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69583 /* 198288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
69584 /* 198291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69585 /* 198293 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69586 /* 198296 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69587 /* 198299 */ GIR_RootConstrainSelectedInstOperands,
69588 /* 198300 */ // GIR_Coverage, 19153,
69589 /* 198300 */ GIR_EraseRootFromParent_Done,
69590 /* 198301 */ // Label 5734: @198301
69591 /* 198301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5735*/ GIMT_Encode4(198349), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19154 //
69592 /* 198308 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69593 /* 198308 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69594 /* 198311 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69595 /* 198315 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69596 /* 198320 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69597 /* 198326 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69598 /* 198331 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69599 /* 198336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
69600 /* 198339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69601 /* 198341 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69602 /* 198344 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69603 /* 198347 */ GIR_RootConstrainSelectedInstOperands,
69604 /* 198348 */ // GIR_Coverage, 19154,
69605 /* 198348 */ GIR_EraseRootFromParent_Done,
69606 /* 198349 */ // Label 5735: @198349
69607 /* 198349 */ GIM_Reject,
69608 /* 198350 */ // Label 5733: @198350
69609 /* 198350 */ GIM_Try, /*On fail goto*//*Label 5736*/ GIMT_Encode4(198471),
69610 /* 198355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69611 /* 198359 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69612 /* 198363 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
69613 /* 198374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5737*/ GIMT_Encode4(198422), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19160 //
69614 /* 198381 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69615 /* 198381 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69616 /* 198384 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69617 /* 198388 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69618 /* 198393 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69619 /* 198399 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69620 /* 198404 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69621 /* 198409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
69622 /* 198412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69623 /* 198414 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69624 /* 198417 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69625 /* 198420 */ GIR_RootConstrainSelectedInstOperands,
69626 /* 198421 */ // GIR_Coverage, 19160,
69627 /* 198421 */ GIR_EraseRootFromParent_Done,
69628 /* 198422 */ // Label 5737: @198422
69629 /* 198422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5738*/ GIMT_Encode4(198470), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19161 //
69630 /* 198429 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69631 /* 198429 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69632 /* 198432 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69633 /* 198436 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69634 /* 198441 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69635 /* 198447 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69636 /* 198452 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69637 /* 198457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
69638 /* 198460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69639 /* 198462 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69640 /* 198465 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69641 /* 198468 */ GIR_RootConstrainSelectedInstOperands,
69642 /* 198469 */ // GIR_Coverage, 19161,
69643 /* 198469 */ GIR_EraseRootFromParent_Done,
69644 /* 198470 */ // Label 5738: @198470
69645 /* 198470 */ GIM_Reject,
69646 /* 198471 */ // Label 5736: @198471
69647 /* 198471 */ GIM_Try, /*On fail goto*//*Label 5739*/ GIMT_Encode4(198550),
69648 /* 198476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69649 /* 198480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69650 /* 198484 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69651 /* 198495 */ GIM_Try, /*On fail goto*//*Label 5740*/ GIMT_Encode4(198522), // Rule ID 23281 //
69652 /* 198500 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, sub_xmm:{ *:[i32] })
69653 /* 198500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69654 /* 198503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69655 /* 198505 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69656 /* 198511 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69657 /* 198516 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69658 /* 198521 */ // GIR_Coverage, 23281,
69659 /* 198521 */ GIR_EraseRootFromParent_Done,
69660 /* 198522 */ // Label 5740: @198522
69661 /* 198522 */ GIM_Try, /*On fail goto*//*Label 5741*/ GIMT_Encode4(198549), // Rule ID 23284 //
69662 /* 198527 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, sub_xmm:{ *:[i32] })
69663 /* 198527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69664 /* 198530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69665 /* 198532 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69666 /* 198538 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69667 /* 198543 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69668 /* 198548 */ // GIR_Coverage, 23284,
69669 /* 198548 */ GIR_EraseRootFromParent_Done,
69670 /* 198549 */ // Label 5741: @198549
69671 /* 198549 */ GIM_Reject,
69672 /* 198550 */ // Label 5739: @198550
69673 /* 198550 */ GIM_Reject,
69674 /* 198551 */ // Label 5729: @198551
69675 /* 198551 */ GIM_Reject,
69676 /* 198552 */ // Label 5635: @198552
69677 /* 198552 */ GIM_Try, /*On fail goto*//*Label 5742*/ GIMT_Encode4(198634),
69678 /* 198557 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69679 /* 198560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69680 /* 198564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69681 /* 198568 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69682 /* 198579 */ GIM_Try, /*On fail goto*//*Label 5743*/ GIMT_Encode4(198606), // Rule ID 23302 //
69683 /* 198584 */ // (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] })
69684 /* 198584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69685 /* 198587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69686 /* 198589 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69687 /* 198595 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69688 /* 198600 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69689 /* 198605 */ // GIR_Coverage, 23302,
69690 /* 198605 */ GIR_EraseRootFromParent_Done,
69691 /* 198606 */ // Label 5743: @198606
69692 /* 198606 */ GIM_Try, /*On fail goto*//*Label 5744*/ GIMT_Encode4(198633), // Rule ID 23305 //
69693 /* 198611 */ // (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] })
69694 /* 198611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69695 /* 198614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69696 /* 198616 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69697 /* 198622 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69698 /* 198627 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69699 /* 198632 */ // GIR_Coverage, 23305,
69700 /* 198632 */ GIR_EraseRootFromParent_Done,
69701 /* 198633 */ // Label 5744: @198633
69702 /* 198633 */ GIM_Reject,
69703 /* 198634 */ // Label 5742: @198634
69704 /* 198634 */ GIM_Reject,
69705 /* 198635 */ // Label 5636: @198635
69706 /* 198635 */ GIM_Reject,
69707 /* 198636 */ // Label 66: @198636
69708 /* 198636 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5757*/ GIMT_Encode4(200555),
69709 /* 198647 */ /*GILLT_v16s8*//*Label 5745*/ GIMT_Encode4(198695),
69710 /* 198651 */ /*GILLT_v32s8*//*Label 5746*/ GIMT_Encode4(198807),
69711 /* 198655 */ /*GILLT_v64s8*//*Label 5747*/ GIMT_Encode4(198919),
69712 /* 198659 */ /*GILLT_v8s16*//*Label 5748*/ GIMT_Encode4(199031),
69713 /* 198663 */ /*GILLT_v16s16*//*Label 5749*/ GIMT_Encode4(199143),
69714 /* 198667 */ /*GILLT_v32s16*//*Label 5750*/ GIMT_Encode4(199255),
69715 /* 198671 */ /*GILLT_v4s32*//*Label 5751*/ GIMT_Encode4(199367),
69716 /* 198675 */ /*GILLT_v8s32*//*Label 5752*/ GIMT_Encode4(199565),
69717 /* 198679 */ /*GILLT_v16s32*//*Label 5753*/ GIMT_Encode4(199763),
69718 /* 198683 */ /*GILLT_v2s64*//*Label 5754*/ GIMT_Encode4(199961),
69719 /* 198687 */ /*GILLT_v4s64*//*Label 5755*/ GIMT_Encode4(200159),
69720 /* 198691 */ /*GILLT_v8s64*//*Label 5756*/ GIMT_Encode4(200357),
69721 /* 198695 */ // Label 5745: @198695
69722 /* 198695 */ GIM_Try, /*On fail goto*//*Label 5758*/ GIMT_Encode4(198806),
69723 /* 198700 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
69724 /* 198703 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
69725 /* 198706 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
69726 /* 198709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69727 /* 198713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69728 /* 198717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
69729 /* 198721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5759*/ GIMT_Encode4(198753), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22238 //
69730 /* 198728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69731 /* 198732 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69732 /* 198738 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69733 /* 198740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69734 /* 198742 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i8] }) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
69735 /* 198742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
69736 /* 198745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69737 /* 198747 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69738 /* 198749 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69739 /* 198751 */ GIR_RootConstrainSelectedInstOperands,
69740 /* 198752 */ // GIR_Coverage, 22238,
69741 /* 198752 */ GIR_EraseRootFromParent_Done,
69742 /* 198753 */ // Label 5759: @198753
69743 /* 198753 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5760*/ GIMT_Encode4(198781), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22237 //
69744 /* 198760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69745 /* 198764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69746 /* 198768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69747 /* 198770 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i8] })) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
69748 /* 198770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
69749 /* 198773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69750 /* 198775 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69751 /* 198777 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69752 /* 198779 */ GIR_RootConstrainSelectedInstOperands,
69753 /* 198780 */ // GIR_Coverage, 22237,
69754 /* 198780 */ GIR_EraseRootFromParent_Done,
69755 /* 198781 */ // Label 5760: @198781
69756 /* 198781 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5761*/ GIMT_Encode4(198805), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22239 //
69757 /* 198788 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69758 /* 198792 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$passthru) => (VPCOMPRESSBZ128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
69759 /* 198792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrk),
69760 /* 198795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69761 /* 198797 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69762 /* 198799 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69763 /* 198801 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69764 /* 198803 */ GIR_RootConstrainSelectedInstOperands,
69765 /* 198804 */ // GIR_Coverage, 22239,
69766 /* 198804 */ GIR_EraseRootFromParent_Done,
69767 /* 198805 */ // Label 5761: @198805
69768 /* 198805 */ GIM_Reject,
69769 /* 198806 */ // Label 5758: @198806
69770 /* 198806 */ GIM_Reject,
69771 /* 198807 */ // Label 5746: @198807
69772 /* 198807 */ GIM_Try, /*On fail goto*//*Label 5762*/ GIMT_Encode4(198918),
69773 /* 198812 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
69774 /* 198815 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
69775 /* 198818 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
69776 /* 198821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69777 /* 198825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69778 /* 198829 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
69779 /* 198833 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5763*/ GIMT_Encode4(198865), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22232 //
69780 /* 198840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69781 /* 198844 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69782 /* 198850 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69783 /* 198852 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69784 /* 198854 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i8] }) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
69785 /* 198854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
69786 /* 198857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69787 /* 198859 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69788 /* 198861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69789 /* 198863 */ GIR_RootConstrainSelectedInstOperands,
69790 /* 198864 */ // GIR_Coverage, 22232,
69791 /* 198864 */ GIR_EraseRootFromParent_Done,
69792 /* 198865 */ // Label 5763: @198865
69793 /* 198865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5764*/ GIMT_Encode4(198893), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22231 //
69794 /* 198872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69795 /* 198876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69796 /* 198880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69797 /* 198882 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i8] })) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
69798 /* 198882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
69799 /* 198885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69800 /* 198887 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69801 /* 198889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69802 /* 198891 */ GIR_RootConstrainSelectedInstOperands,
69803 /* 198892 */ // GIR_Coverage, 22231,
69804 /* 198892 */ GIR_EraseRootFromParent_Done,
69805 /* 198893 */ // Label 5764: @198893
69806 /* 198893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5765*/ GIMT_Encode4(198917), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22233 //
69807 /* 198900 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69808 /* 198904 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$passthru) => (VPCOMPRESSBZ256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
69809 /* 198904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrk),
69810 /* 198907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69811 /* 198909 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69812 /* 198911 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69813 /* 198913 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69814 /* 198915 */ GIR_RootConstrainSelectedInstOperands,
69815 /* 198916 */ // GIR_Coverage, 22233,
69816 /* 198916 */ GIR_EraseRootFromParent_Done,
69817 /* 198917 */ // Label 5765: @198917
69818 /* 198917 */ GIM_Reject,
69819 /* 198918 */ // Label 5762: @198918
69820 /* 198918 */ GIM_Reject,
69821 /* 198919 */ // Label 5747: @198919
69822 /* 198919 */ GIM_Try, /*On fail goto*//*Label 5766*/ GIMT_Encode4(199030),
69823 /* 198924 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
69824 /* 198927 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
69825 /* 198930 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
69826 /* 198933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69827 /* 198937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69828 /* 198941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
69829 /* 198945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5767*/ GIMT_Encode4(198977), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22226 //
69830 /* 198952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69831 /* 198956 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69832 /* 198962 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69833 /* 198964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69834 /* 198966 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, immAllZerosV:{ *:[v64i8] }) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
69835 /* 198966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
69836 /* 198969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69837 /* 198971 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69838 /* 198973 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69839 /* 198975 */ GIR_RootConstrainSelectedInstOperands,
69840 /* 198976 */ // GIR_Coverage, 22226,
69841 /* 198976 */ GIR_EraseRootFromParent_Done,
69842 /* 198977 */ // Label 5767: @198977
69843 /* 198977 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5768*/ GIMT_Encode4(199005), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22225 //
69844 /* 198984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69845 /* 198988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69846 /* 198992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69847 /* 198994 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, (undef:{ *:[v64i8] })) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
69848 /* 198994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
69849 /* 198997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69850 /* 198999 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69851 /* 199001 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69852 /* 199003 */ GIR_RootConstrainSelectedInstOperands,
69853 /* 199004 */ // GIR_Coverage, 22225,
69854 /* 199004 */ GIR_EraseRootFromParent_Done,
69855 /* 199005 */ // Label 5768: @199005
69856 /* 199005 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5769*/ GIMT_Encode4(199029), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22227 //
69857 /* 199012 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69858 /* 199016 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$passthru) => (VPCOMPRESSBZrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$passthru, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
69859 /* 199016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrk),
69860 /* 199019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69861 /* 199021 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69862 /* 199023 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69863 /* 199025 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69864 /* 199027 */ GIR_RootConstrainSelectedInstOperands,
69865 /* 199028 */ // GIR_Coverage, 22227,
69866 /* 199028 */ GIR_EraseRootFromParent_Done,
69867 /* 199029 */ // Label 5769: @199029
69868 /* 199029 */ GIM_Reject,
69869 /* 199030 */ // Label 5766: @199030
69870 /* 199030 */ GIM_Reject,
69871 /* 199031 */ // Label 5748: @199031
69872 /* 199031 */ GIM_Try, /*On fail goto*//*Label 5770*/ GIMT_Encode4(199142),
69873 /* 199036 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
69874 /* 199039 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
69875 /* 199042 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
69876 /* 199045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69877 /* 199049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69878 /* 199053 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
69879 /* 199057 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5771*/ GIMT_Encode4(199089), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22256 //
69880 /* 199064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69881 /* 199068 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69882 /* 199074 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69883 /* 199076 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69884 /* 199078 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i16] }) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
69885 /* 199078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
69886 /* 199081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69887 /* 199083 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69888 /* 199085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69889 /* 199087 */ GIR_RootConstrainSelectedInstOperands,
69890 /* 199088 */ // GIR_Coverage, 22256,
69891 /* 199088 */ GIR_EraseRootFromParent_Done,
69892 /* 199089 */ // Label 5771: @199089
69893 /* 199089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5772*/ GIMT_Encode4(199117), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22255 //
69894 /* 199096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69895 /* 199100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69896 /* 199104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69897 /* 199106 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i16] })) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
69898 /* 199106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
69899 /* 199109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69900 /* 199111 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69901 /* 199113 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69902 /* 199115 */ GIR_RootConstrainSelectedInstOperands,
69903 /* 199116 */ // GIR_Coverage, 22255,
69904 /* 199116 */ GIR_EraseRootFromParent_Done,
69905 /* 199117 */ // Label 5772: @199117
69906 /* 199117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5773*/ GIMT_Encode4(199141), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22257 //
69907 /* 199124 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69908 /* 199128 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$passthru) => (VPCOMPRESSWZ128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
69909 /* 199128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrk),
69910 /* 199131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69911 /* 199133 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69912 /* 199135 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69913 /* 199137 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69914 /* 199139 */ GIR_RootConstrainSelectedInstOperands,
69915 /* 199140 */ // GIR_Coverage, 22257,
69916 /* 199140 */ GIR_EraseRootFromParent_Done,
69917 /* 199141 */ // Label 5773: @199141
69918 /* 199141 */ GIM_Reject,
69919 /* 199142 */ // Label 5770: @199142
69920 /* 199142 */ GIM_Reject,
69921 /* 199143 */ // Label 5749: @199143
69922 /* 199143 */ GIM_Try, /*On fail goto*//*Label 5774*/ GIMT_Encode4(199254),
69923 /* 199148 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
69924 /* 199151 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
69925 /* 199154 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
69926 /* 199157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69927 /* 199161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69928 /* 199165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
69929 /* 199169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5775*/ GIMT_Encode4(199201), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22250 //
69930 /* 199176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69931 /* 199180 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69932 /* 199186 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69933 /* 199188 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69934 /* 199190 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i16] }) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
69935 /* 199190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
69936 /* 199193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69937 /* 199195 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69938 /* 199197 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69939 /* 199199 */ GIR_RootConstrainSelectedInstOperands,
69940 /* 199200 */ // GIR_Coverage, 22250,
69941 /* 199200 */ GIR_EraseRootFromParent_Done,
69942 /* 199201 */ // Label 5775: @199201
69943 /* 199201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5776*/ GIMT_Encode4(199229), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22249 //
69944 /* 199208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69945 /* 199212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69946 /* 199216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69947 /* 199218 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i16] })) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
69948 /* 199218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
69949 /* 199221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69950 /* 199223 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69951 /* 199225 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69952 /* 199227 */ GIR_RootConstrainSelectedInstOperands,
69953 /* 199228 */ // GIR_Coverage, 22249,
69954 /* 199228 */ GIR_EraseRootFromParent_Done,
69955 /* 199229 */ // Label 5776: @199229
69956 /* 199229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5777*/ GIMT_Encode4(199253), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22251 //
69957 /* 199236 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69958 /* 199240 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$passthru) => (VPCOMPRESSWZ256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
69959 /* 199240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrk),
69960 /* 199243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69961 /* 199245 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69962 /* 199247 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69963 /* 199249 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69964 /* 199251 */ GIR_RootConstrainSelectedInstOperands,
69965 /* 199252 */ // GIR_Coverage, 22251,
69966 /* 199252 */ GIR_EraseRootFromParent_Done,
69967 /* 199253 */ // Label 5777: @199253
69968 /* 199253 */ GIM_Reject,
69969 /* 199254 */ // Label 5774: @199254
69970 /* 199254 */ GIM_Reject,
69971 /* 199255 */ // Label 5750: @199255
69972 /* 199255 */ GIM_Try, /*On fail goto*//*Label 5778*/ GIMT_Encode4(199366),
69973 /* 199260 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
69974 /* 199263 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
69975 /* 199266 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
69976 /* 199269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69977 /* 199273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69978 /* 199277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
69979 /* 199281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5779*/ GIMT_Encode4(199313), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22244 //
69980 /* 199288 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69981 /* 199292 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69982 /* 199298 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69983 /* 199300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69984 /* 199302 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i16] }) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
69985 /* 199302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
69986 /* 199305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69987 /* 199307 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69988 /* 199309 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69989 /* 199311 */ GIR_RootConstrainSelectedInstOperands,
69990 /* 199312 */ // GIR_Coverage, 22244,
69991 /* 199312 */ GIR_EraseRootFromParent_Done,
69992 /* 199313 */ // Label 5779: @199313
69993 /* 199313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5780*/ GIMT_Encode4(199341), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22243 //
69994 /* 199320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69995 /* 199324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69996 /* 199328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69997 /* 199330 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i16] })) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
69998 /* 199330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
69999 /* 199333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70000 /* 199335 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70001 /* 199337 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70002 /* 199339 */ GIR_RootConstrainSelectedInstOperands,
70003 /* 199340 */ // GIR_Coverage, 22243,
70004 /* 199340 */ GIR_EraseRootFromParent_Done,
70005 /* 199341 */ // Label 5780: @199341
70006 /* 199341 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5781*/ GIMT_Encode4(199365), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22245 //
70007 /* 199348 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70008 /* 199352 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$passthru) => (VPCOMPRESSWZrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
70009 /* 199352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrk),
70010 /* 199355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70011 /* 199357 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70012 /* 199359 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70013 /* 199361 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70014 /* 199363 */ GIR_RootConstrainSelectedInstOperands,
70015 /* 199364 */ // GIR_Coverage, 22245,
70016 /* 199364 */ GIR_EraseRootFromParent_Done,
70017 /* 199365 */ // Label 5781: @199365
70018 /* 199365 */ GIM_Reject,
70019 /* 199366 */ // Label 5778: @199366
70020 /* 199366 */ GIM_Reject,
70021 /* 199367 */ // Label 5751: @199367
70022 /* 199367 */ GIM_Try, /*On fail goto*//*Label 5782*/ GIMT_Encode4(199564),
70023 /* 199372 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
70024 /* 199375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
70025 /* 199378 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
70026 /* 199381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70027 /* 199385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70028 /* 199389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
70029 /* 199393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5783*/ GIMT_Encode4(199425), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21830 //
70030 /* 199400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70031 /* 199404 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70032 /* 199410 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70033 /* 199412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70034 /* 199414 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i32] }) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
70035 /* 199414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
70036 /* 199417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70037 /* 199419 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70038 /* 199421 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70039 /* 199423 */ GIR_RootConstrainSelectedInstOperands,
70040 /* 199424 */ // GIR_Coverage, 21830,
70041 /* 199424 */ GIR_EraseRootFromParent_Done,
70042 /* 199425 */ // Label 5783: @199425
70043 /* 199425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5784*/ GIMT_Encode4(199457), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21866 //
70044 /* 199432 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70045 /* 199436 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70046 /* 199442 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70047 /* 199444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70048 /* 199446 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f32] }) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
70049 /* 199446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
70050 /* 199449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70051 /* 199451 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70052 /* 199453 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70053 /* 199455 */ GIR_RootConstrainSelectedInstOperands,
70054 /* 199456 */ // GIR_Coverage, 21866,
70055 /* 199456 */ GIR_EraseRootFromParent_Done,
70056 /* 199457 */ // Label 5784: @199457
70057 /* 199457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5785*/ GIMT_Encode4(199485), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21829 //
70058 /* 199464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70059 /* 199468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70060 /* 199472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70061 /* 199474 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i32] })) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
70062 /* 199474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
70063 /* 199477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70064 /* 199479 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70065 /* 199481 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70066 /* 199483 */ GIR_RootConstrainSelectedInstOperands,
70067 /* 199484 */ // GIR_Coverage, 21829,
70068 /* 199484 */ GIR_EraseRootFromParent_Done,
70069 /* 199485 */ // Label 5785: @199485
70070 /* 199485 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5786*/ GIMT_Encode4(199513), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21865 //
70071 /* 199492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70072 /* 199496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70073 /* 199500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70074 /* 199502 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f32] })) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
70075 /* 199502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
70076 /* 199505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70077 /* 199507 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70078 /* 199509 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70079 /* 199511 */ GIR_RootConstrainSelectedInstOperands,
70080 /* 199512 */ // GIR_Coverage, 21865,
70081 /* 199512 */ GIR_EraseRootFromParent_Done,
70082 /* 199513 */ // Label 5786: @199513
70083 /* 199513 */ GIM_Try, /*On fail goto*//*Label 5787*/ GIMT_Encode4(199563),
70084 /* 199518 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70085 /* 199522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5788*/ GIMT_Encode4(199542), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21831 //
70086 /* 199529 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$passthru) => (VPCOMPRESSDZ128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
70087 /* 199529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrk),
70088 /* 199532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70089 /* 199534 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70090 /* 199536 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70091 /* 199538 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70092 /* 199540 */ GIR_RootConstrainSelectedInstOperands,
70093 /* 199541 */ // GIR_Coverage, 21831,
70094 /* 199541 */ GIR_EraseRootFromParent_Done,
70095 /* 199542 */ // Label 5788: @199542
70096 /* 199542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5789*/ GIMT_Encode4(199562), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21867 //
70097 /* 199549 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$passthru) => (VCOMPRESSPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
70098 /* 199549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrk),
70099 /* 199552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70100 /* 199554 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70101 /* 199556 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70102 /* 199558 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70103 /* 199560 */ GIR_RootConstrainSelectedInstOperands,
70104 /* 199561 */ // GIR_Coverage, 21867,
70105 /* 199561 */ GIR_EraseRootFromParent_Done,
70106 /* 199562 */ // Label 5789: @199562
70107 /* 199562 */ GIM_Reject,
70108 /* 199563 */ // Label 5787: @199563
70109 /* 199563 */ GIM_Reject,
70110 /* 199564 */ // Label 5782: @199564
70111 /* 199564 */ GIM_Reject,
70112 /* 199565 */ // Label 5752: @199565
70113 /* 199565 */ GIM_Try, /*On fail goto*//*Label 5790*/ GIMT_Encode4(199762),
70114 /* 199570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70115 /* 199573 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
70116 /* 199576 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
70117 /* 199579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70118 /* 199583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70119 /* 199587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
70120 /* 199591 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5791*/ GIMT_Encode4(199623), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21824 //
70121 /* 199598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70122 /* 199602 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70123 /* 199608 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70124 /* 199610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70125 /* 199612 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i32] }) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
70126 /* 199612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
70127 /* 199615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70128 /* 199617 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70129 /* 199619 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70130 /* 199621 */ GIR_RootConstrainSelectedInstOperands,
70131 /* 199622 */ // GIR_Coverage, 21824,
70132 /* 199622 */ GIR_EraseRootFromParent_Done,
70133 /* 199623 */ // Label 5791: @199623
70134 /* 199623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5792*/ GIMT_Encode4(199655), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21860 //
70135 /* 199630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70136 /* 199634 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70137 /* 199640 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70138 /* 199642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70139 /* 199644 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f32] }) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
70140 /* 199644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
70141 /* 199647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70142 /* 199649 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70143 /* 199651 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70144 /* 199653 */ GIR_RootConstrainSelectedInstOperands,
70145 /* 199654 */ // GIR_Coverage, 21860,
70146 /* 199654 */ GIR_EraseRootFromParent_Done,
70147 /* 199655 */ // Label 5792: @199655
70148 /* 199655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5793*/ GIMT_Encode4(199683), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21823 //
70149 /* 199662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70150 /* 199666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70151 /* 199670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70152 /* 199672 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i32] })) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
70153 /* 199672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
70154 /* 199675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70155 /* 199677 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70156 /* 199679 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70157 /* 199681 */ GIR_RootConstrainSelectedInstOperands,
70158 /* 199682 */ // GIR_Coverage, 21823,
70159 /* 199682 */ GIR_EraseRootFromParent_Done,
70160 /* 199683 */ // Label 5793: @199683
70161 /* 199683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5794*/ GIMT_Encode4(199711), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21859 //
70162 /* 199690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70163 /* 199694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70164 /* 199698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70165 /* 199700 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f32] })) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
70166 /* 199700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
70167 /* 199703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70168 /* 199705 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70169 /* 199707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70170 /* 199709 */ GIR_RootConstrainSelectedInstOperands,
70171 /* 199710 */ // GIR_Coverage, 21859,
70172 /* 199710 */ GIR_EraseRootFromParent_Done,
70173 /* 199711 */ // Label 5794: @199711
70174 /* 199711 */ GIM_Try, /*On fail goto*//*Label 5795*/ GIMT_Encode4(199761),
70175 /* 199716 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70176 /* 199720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5796*/ GIMT_Encode4(199740), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21825 //
70177 /* 199727 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$passthru) => (VPCOMPRESSDZ256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
70178 /* 199727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrk),
70179 /* 199730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70180 /* 199732 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70181 /* 199734 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70182 /* 199736 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70183 /* 199738 */ GIR_RootConstrainSelectedInstOperands,
70184 /* 199739 */ // GIR_Coverage, 21825,
70185 /* 199739 */ GIR_EraseRootFromParent_Done,
70186 /* 199740 */ // Label 5796: @199740
70187 /* 199740 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5797*/ GIMT_Encode4(199760), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21861 //
70188 /* 199747 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$passthru) => (VCOMPRESSPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
70189 /* 199747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrk),
70190 /* 199750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70191 /* 199752 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70192 /* 199754 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70193 /* 199756 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70194 /* 199758 */ GIR_RootConstrainSelectedInstOperands,
70195 /* 199759 */ // GIR_Coverage, 21861,
70196 /* 199759 */ GIR_EraseRootFromParent_Done,
70197 /* 199760 */ // Label 5797: @199760
70198 /* 199760 */ GIM_Reject,
70199 /* 199761 */ // Label 5795: @199761
70200 /* 199761 */ GIM_Reject,
70201 /* 199762 */ // Label 5790: @199762
70202 /* 199762 */ GIM_Reject,
70203 /* 199763 */ // Label 5753: @199763
70204 /* 199763 */ GIM_Try, /*On fail goto*//*Label 5798*/ GIMT_Encode4(199960),
70205 /* 199768 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70206 /* 199771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
70207 /* 199774 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
70208 /* 199777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70209 /* 199781 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70210 /* 199785 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
70211 /* 199789 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5799*/ GIMT_Encode4(199821), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21818 //
70212 /* 199796 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70213 /* 199800 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70214 /* 199806 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70215 /* 199808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70216 /* 199810 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
70217 /* 199810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
70218 /* 199813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70219 /* 199815 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70220 /* 199817 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70221 /* 199819 */ GIR_RootConstrainSelectedInstOperands,
70222 /* 199820 */ // GIR_Coverage, 21818,
70223 /* 199820 */ GIR_EraseRootFromParent_Done,
70224 /* 199821 */ // Label 5799: @199821
70225 /* 199821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5800*/ GIMT_Encode4(199853), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21854 //
70226 /* 199828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70227 /* 199832 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70228 /* 199838 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70229 /* 199840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70230 /* 199842 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16f32] }) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
70231 /* 199842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
70232 /* 199845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70233 /* 199847 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70234 /* 199849 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70235 /* 199851 */ GIR_RootConstrainSelectedInstOperands,
70236 /* 199852 */ // GIR_Coverage, 21854,
70237 /* 199852 */ GIR_EraseRootFromParent_Done,
70238 /* 199853 */ // Label 5800: @199853
70239 /* 199853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5801*/ GIMT_Encode4(199881), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21817 //
70240 /* 199860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70241 /* 199864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70242 /* 199868 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70243 /* 199870 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i32] })) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
70244 /* 199870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
70245 /* 199873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70246 /* 199875 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70247 /* 199877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70248 /* 199879 */ GIR_RootConstrainSelectedInstOperands,
70249 /* 199880 */ // GIR_Coverage, 21817,
70250 /* 199880 */ GIR_EraseRootFromParent_Done,
70251 /* 199881 */ // Label 5801: @199881
70252 /* 199881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5802*/ GIMT_Encode4(199909), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21853 //
70253 /* 199888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70254 /* 199892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70255 /* 199896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70256 /* 199898 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16f32] })) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
70257 /* 199898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
70258 /* 199901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70259 /* 199903 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70260 /* 199905 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70261 /* 199907 */ GIR_RootConstrainSelectedInstOperands,
70262 /* 199908 */ // GIR_Coverage, 21853,
70263 /* 199908 */ GIR_EraseRootFromParent_Done,
70264 /* 199909 */ // Label 5802: @199909
70265 /* 199909 */ GIM_Try, /*On fail goto*//*Label 5803*/ GIMT_Encode4(199959),
70266 /* 199914 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70267 /* 199918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5804*/ GIMT_Encode4(199938), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21819 //
70268 /* 199925 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$passthru) => (VPCOMPRESSDZrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
70269 /* 199925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrk),
70270 /* 199928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70271 /* 199930 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70272 /* 199932 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70273 /* 199934 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70274 /* 199936 */ GIR_RootConstrainSelectedInstOperands,
70275 /* 199937 */ // GIR_Coverage, 21819,
70276 /* 199937 */ GIR_EraseRootFromParent_Done,
70277 /* 199938 */ // Label 5804: @199938
70278 /* 199938 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5805*/ GIMT_Encode4(199958), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21855 //
70279 /* 199945 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$passthru) => (VCOMPRESSPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
70280 /* 199945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrk),
70281 /* 199948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70282 /* 199950 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70283 /* 199952 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70284 /* 199954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70285 /* 199956 */ GIR_RootConstrainSelectedInstOperands,
70286 /* 199957 */ // GIR_Coverage, 21855,
70287 /* 199957 */ GIR_EraseRootFromParent_Done,
70288 /* 199958 */ // Label 5805: @199958
70289 /* 199958 */ GIM_Reject,
70290 /* 199959 */ // Label 5803: @199959
70291 /* 199959 */ GIM_Reject,
70292 /* 199960 */ // Label 5798: @199960
70293 /* 199960 */ GIM_Reject,
70294 /* 199961 */ // Label 5754: @199961
70295 /* 199961 */ GIM_Try, /*On fail goto*//*Label 5806*/ GIMT_Encode4(200158),
70296 /* 199966 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
70297 /* 199969 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
70298 /* 199972 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
70299 /* 199975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70300 /* 199979 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70301 /* 199983 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
70302 /* 199987 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5807*/ GIMT_Encode4(200019), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21848 //
70303 /* 199994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70304 /* 199998 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70305 /* 200004 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70306 /* 200006 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70307 /* 200008 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2i64] }) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
70308 /* 200008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
70309 /* 200011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70310 /* 200013 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70311 /* 200015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70312 /* 200017 */ GIR_RootConstrainSelectedInstOperands,
70313 /* 200018 */ // GIR_Coverage, 21848,
70314 /* 200018 */ GIR_EraseRootFromParent_Done,
70315 /* 200019 */ // Label 5807: @200019
70316 /* 200019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5808*/ GIMT_Encode4(200051), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21884 //
70317 /* 200026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70318 /* 200030 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70319 /* 200036 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70320 /* 200038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70321 /* 200040 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2f64] }) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
70322 /* 200040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
70323 /* 200043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70324 /* 200045 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70325 /* 200047 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70326 /* 200049 */ GIR_RootConstrainSelectedInstOperands,
70327 /* 200050 */ // GIR_Coverage, 21884,
70328 /* 200050 */ GIR_EraseRootFromParent_Done,
70329 /* 200051 */ // Label 5808: @200051
70330 /* 200051 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5809*/ GIMT_Encode4(200079), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21847 //
70331 /* 200058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70332 /* 200062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70333 /* 200066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70334 /* 200068 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2i64] })) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
70335 /* 200068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
70336 /* 200071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70337 /* 200073 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70338 /* 200075 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70339 /* 200077 */ GIR_RootConstrainSelectedInstOperands,
70340 /* 200078 */ // GIR_Coverage, 21847,
70341 /* 200078 */ GIR_EraseRootFromParent_Done,
70342 /* 200079 */ // Label 5809: @200079
70343 /* 200079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5810*/ GIMT_Encode4(200107), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21883 //
70344 /* 200086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70345 /* 200090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70346 /* 200094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70347 /* 200096 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2f64] })) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
70348 /* 200096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
70349 /* 200099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70350 /* 200101 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70351 /* 200103 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70352 /* 200105 */ GIR_RootConstrainSelectedInstOperands,
70353 /* 200106 */ // GIR_Coverage, 21883,
70354 /* 200106 */ GIR_EraseRootFromParent_Done,
70355 /* 200107 */ // Label 5810: @200107
70356 /* 200107 */ GIM_Try, /*On fail goto*//*Label 5811*/ GIMT_Encode4(200157),
70357 /* 200112 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70358 /* 200116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5812*/ GIMT_Encode4(200136), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21849 //
70359 /* 200123 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$passthru) => (VPCOMPRESSQZ128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
70360 /* 200123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrk),
70361 /* 200126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70362 /* 200128 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70363 /* 200130 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70364 /* 200132 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70365 /* 200134 */ GIR_RootConstrainSelectedInstOperands,
70366 /* 200135 */ // GIR_Coverage, 21849,
70367 /* 200135 */ GIR_EraseRootFromParent_Done,
70368 /* 200136 */ // Label 5812: @200136
70369 /* 200136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5813*/ GIMT_Encode4(200156), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21885 //
70370 /* 200143 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$passthru) => (VCOMPRESSPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
70371 /* 200143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrk),
70372 /* 200146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70373 /* 200148 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70374 /* 200150 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70375 /* 200152 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70376 /* 200154 */ GIR_RootConstrainSelectedInstOperands,
70377 /* 200155 */ // GIR_Coverage, 21885,
70378 /* 200155 */ GIR_EraseRootFromParent_Done,
70379 /* 200156 */ // Label 5813: @200156
70380 /* 200156 */ GIM_Reject,
70381 /* 200157 */ // Label 5811: @200157
70382 /* 200157 */ GIM_Reject,
70383 /* 200158 */ // Label 5806: @200158
70384 /* 200158 */ GIM_Reject,
70385 /* 200159 */ // Label 5755: @200159
70386 /* 200159 */ GIM_Try, /*On fail goto*//*Label 5814*/ GIMT_Encode4(200356),
70387 /* 200164 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
70388 /* 200167 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
70389 /* 200170 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
70390 /* 200173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70391 /* 200177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70392 /* 200181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
70393 /* 200185 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5815*/ GIMT_Encode4(200217), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21842 //
70394 /* 200192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70395 /* 200196 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70396 /* 200202 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70397 /* 200204 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70398 /* 200206 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i64] }) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
70399 /* 200206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
70400 /* 200209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70401 /* 200211 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70402 /* 200213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70403 /* 200215 */ GIR_RootConstrainSelectedInstOperands,
70404 /* 200216 */ // GIR_Coverage, 21842,
70405 /* 200216 */ GIR_EraseRootFromParent_Done,
70406 /* 200217 */ // Label 5815: @200217
70407 /* 200217 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5816*/ GIMT_Encode4(200249), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21878 //
70408 /* 200224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70409 /* 200228 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70410 /* 200234 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70411 /* 200236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70412 /* 200238 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f64] }) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
70413 /* 200238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
70414 /* 200241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70415 /* 200243 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70416 /* 200245 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70417 /* 200247 */ GIR_RootConstrainSelectedInstOperands,
70418 /* 200248 */ // GIR_Coverage, 21878,
70419 /* 200248 */ GIR_EraseRootFromParent_Done,
70420 /* 200249 */ // Label 5816: @200249
70421 /* 200249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5817*/ GIMT_Encode4(200277), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21841 //
70422 /* 200256 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70423 /* 200260 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70424 /* 200264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70425 /* 200266 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i64] })) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
70426 /* 200266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
70427 /* 200269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70428 /* 200271 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70429 /* 200273 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70430 /* 200275 */ GIR_RootConstrainSelectedInstOperands,
70431 /* 200276 */ // GIR_Coverage, 21841,
70432 /* 200276 */ GIR_EraseRootFromParent_Done,
70433 /* 200277 */ // Label 5817: @200277
70434 /* 200277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5818*/ GIMT_Encode4(200305), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21877 //
70435 /* 200284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70436 /* 200288 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70437 /* 200292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70438 /* 200294 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f64] })) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
70439 /* 200294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
70440 /* 200297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70441 /* 200299 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70442 /* 200301 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70443 /* 200303 */ GIR_RootConstrainSelectedInstOperands,
70444 /* 200304 */ // GIR_Coverage, 21877,
70445 /* 200304 */ GIR_EraseRootFromParent_Done,
70446 /* 200305 */ // Label 5818: @200305
70447 /* 200305 */ GIM_Try, /*On fail goto*//*Label 5819*/ GIMT_Encode4(200355),
70448 /* 200310 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70449 /* 200314 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5820*/ GIMT_Encode4(200334), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21843 //
70450 /* 200321 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$passthru) => (VPCOMPRESSQZ256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
70451 /* 200321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrk),
70452 /* 200324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70453 /* 200326 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70454 /* 200328 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70455 /* 200330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70456 /* 200332 */ GIR_RootConstrainSelectedInstOperands,
70457 /* 200333 */ // GIR_Coverage, 21843,
70458 /* 200333 */ GIR_EraseRootFromParent_Done,
70459 /* 200334 */ // Label 5820: @200334
70460 /* 200334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5821*/ GIMT_Encode4(200354), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21879 //
70461 /* 200341 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$passthru) => (VCOMPRESSPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
70462 /* 200341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrk),
70463 /* 200344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70464 /* 200346 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70465 /* 200348 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70466 /* 200350 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70467 /* 200352 */ GIR_RootConstrainSelectedInstOperands,
70468 /* 200353 */ // GIR_Coverage, 21879,
70469 /* 200353 */ GIR_EraseRootFromParent_Done,
70470 /* 200354 */ // Label 5821: @200354
70471 /* 200354 */ GIM_Reject,
70472 /* 200355 */ // Label 5819: @200355
70473 /* 200355 */ GIM_Reject,
70474 /* 200356 */ // Label 5814: @200356
70475 /* 200356 */ GIM_Reject,
70476 /* 200357 */ // Label 5756: @200357
70477 /* 200357 */ GIM_Try, /*On fail goto*//*Label 5822*/ GIMT_Encode4(200554),
70478 /* 200362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70479 /* 200365 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
70480 /* 200368 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
70481 /* 200371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70482 /* 200375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70483 /* 200379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
70484 /* 200383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5823*/ GIMT_Encode4(200415), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21836 //
70485 /* 200390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70486 /* 200394 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70487 /* 200400 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70488 /* 200402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70489 /* 200404 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i64] }) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
70490 /* 200404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
70491 /* 200407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70492 /* 200409 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70493 /* 200411 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70494 /* 200413 */ GIR_RootConstrainSelectedInstOperands,
70495 /* 200414 */ // GIR_Coverage, 21836,
70496 /* 200414 */ GIR_EraseRootFromParent_Done,
70497 /* 200415 */ // Label 5823: @200415
70498 /* 200415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5824*/ GIMT_Encode4(200447), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21872 //
70499 /* 200422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70500 /* 200426 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70501 /* 200432 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70502 /* 200434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70503 /* 200436 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f64] }) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
70504 /* 200436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
70505 /* 200439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70506 /* 200441 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70507 /* 200443 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70508 /* 200445 */ GIR_RootConstrainSelectedInstOperands,
70509 /* 200446 */ // GIR_Coverage, 21872,
70510 /* 200446 */ GIR_EraseRootFromParent_Done,
70511 /* 200447 */ // Label 5824: @200447
70512 /* 200447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5825*/ GIMT_Encode4(200475), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21835 //
70513 /* 200454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70514 /* 200458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70515 /* 200462 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70516 /* 200464 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i64] })) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
70517 /* 200464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
70518 /* 200467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70519 /* 200469 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70520 /* 200471 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70521 /* 200473 */ GIR_RootConstrainSelectedInstOperands,
70522 /* 200474 */ // GIR_Coverage, 21835,
70523 /* 200474 */ GIR_EraseRootFromParent_Done,
70524 /* 200475 */ // Label 5825: @200475
70525 /* 200475 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5826*/ GIMT_Encode4(200503), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21871 //
70526 /* 200482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70527 /* 200486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70528 /* 200490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70529 /* 200492 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f64] })) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
70530 /* 200492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
70531 /* 200495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70532 /* 200497 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70533 /* 200499 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70534 /* 200501 */ GIR_RootConstrainSelectedInstOperands,
70535 /* 200502 */ // GIR_Coverage, 21871,
70536 /* 200502 */ GIR_EraseRootFromParent_Done,
70537 /* 200503 */ // Label 5826: @200503
70538 /* 200503 */ GIM_Try, /*On fail goto*//*Label 5827*/ GIMT_Encode4(200553),
70539 /* 200508 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70540 /* 200512 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5828*/ GIMT_Encode4(200532), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21837 //
70541 /* 200519 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$passthru) => (VPCOMPRESSQZrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
70542 /* 200519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrk),
70543 /* 200522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70544 /* 200524 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70545 /* 200526 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70546 /* 200528 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70547 /* 200530 */ GIR_RootConstrainSelectedInstOperands,
70548 /* 200531 */ // GIR_Coverage, 21837,
70549 /* 200531 */ GIR_EraseRootFromParent_Done,
70550 /* 200532 */ // Label 5828: @200532
70551 /* 200532 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5829*/ GIMT_Encode4(200552), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21873 //
70552 /* 200539 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$passthru) => (VCOMPRESSPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
70553 /* 200539 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrk),
70554 /* 200542 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70555 /* 200544 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70556 /* 200546 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70557 /* 200548 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70558 /* 200550 */ GIR_RootConstrainSelectedInstOperands,
70559 /* 200551 */ // GIR_Coverage, 21873,
70560 /* 200551 */ GIR_EraseRootFromParent_Done,
70561 /* 200552 */ // Label 5829: @200552
70562 /* 200552 */ GIM_Reject,
70563 /* 200553 */ // Label 5827: @200553
70564 /* 200553 */ GIM_Reject,
70565 /* 200554 */ // Label 5822: @200554
70566 /* 200554 */ GIM_Reject,
70567 /* 200555 */ // Label 5757: @200555
70568 /* 200555 */ GIM_Reject,
70569 /* 200556 */ // Label 67: @200556
70570 /* 200556 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 5833*/ GIMT_Encode4(200855),
70571 /* 200567 */ /*GILLT_s16*//*Label 5830*/ GIMT_Encode4(200579),
70572 /* 200571 */ /*GILLT_s32*//*Label 5831*/ GIMT_Encode4(200671),
70573 /* 200575 */ /*GILLT_s64*//*Label 5832*/ GIMT_Encode4(200763),
70574 /* 200579 */ // Label 5830: @200579
70575 /* 200579 */ GIM_Try, /*On fail goto*//*Label 5834*/ GIMT_Encode4(200670),
70576 /* 200584 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
70577 /* 200587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70578 /* 200591 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5835*/ GIMT_Encode4(200645), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 77 //
70579 /* 200598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70580 /* 200602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70581 /* 200606 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70582 /* 200609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70583 /* 200613 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
70584 /* 200617 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70585 /* 200619 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70586 /* 200626 */ // (cttz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (TZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70587 /* 200626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT16rm),
70588 /* 200629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70589 /* 200631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70590 /* 200635 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70591 /* 200638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70592 /* 200643 */ GIR_RootConstrainSelectedInstOperands,
70593 /* 200644 */ // GIR_Coverage, 77,
70594 /* 200644 */ GIR_EraseRootFromParent_Done,
70595 /* 200645 */ // Label 5835: @200645
70596 /* 200645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5836*/ GIMT_Encode4(200669), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 76 //
70597 /* 200652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70598 /* 200656 */ // (cttz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (TZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
70599 /* 200656 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT16rr),
70600 /* 200661 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70601 /* 200667 */ GIR_RootConstrainSelectedInstOperands,
70602 /* 200668 */ // GIR_Coverage, 76,
70603 /* 200668 */ GIR_Done,
70604 /* 200669 */ // Label 5836: @200669
70605 /* 200669 */ GIM_Reject,
70606 /* 200670 */ // Label 5834: @200670
70607 /* 200670 */ GIM_Reject,
70608 /* 200671 */ // Label 5831: @200671
70609 /* 200671 */ GIM_Try, /*On fail goto*//*Label 5837*/ GIMT_Encode4(200762),
70610 /* 200676 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
70611 /* 200679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70612 /* 200683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5838*/ GIMT_Encode4(200737), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 79 //
70613 /* 200690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70614 /* 200694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70615 /* 200698 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70616 /* 200701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70617 /* 200705 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
70618 /* 200709 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70619 /* 200711 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70620 /* 200718 */ // (cttz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (TZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70621 /* 200718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT32rm),
70622 /* 200721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70623 /* 200723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70624 /* 200727 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70625 /* 200730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70626 /* 200735 */ GIR_RootConstrainSelectedInstOperands,
70627 /* 200736 */ // GIR_Coverage, 79,
70628 /* 200736 */ GIR_EraseRootFromParent_Done,
70629 /* 200737 */ // Label 5838: @200737
70630 /* 200737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5839*/ GIMT_Encode4(200761), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 78 //
70631 /* 200744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70632 /* 200748 */ // (cttz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (TZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
70633 /* 200748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT32rr),
70634 /* 200753 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70635 /* 200759 */ GIR_RootConstrainSelectedInstOperands,
70636 /* 200760 */ // GIR_Coverage, 78,
70637 /* 200760 */ GIR_Done,
70638 /* 200761 */ // Label 5839: @200761
70639 /* 200761 */ GIM_Reject,
70640 /* 200762 */ // Label 5837: @200762
70641 /* 200762 */ GIM_Reject,
70642 /* 200763 */ // Label 5832: @200763
70643 /* 200763 */ GIM_Try, /*On fail goto*//*Label 5840*/ GIMT_Encode4(200854),
70644 /* 200768 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
70645 /* 200771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70646 /* 200775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5841*/ GIMT_Encode4(200829), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 81 //
70647 /* 200782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70648 /* 200786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70649 /* 200790 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70650 /* 200793 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70651 /* 200797 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70652 /* 200801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70653 /* 200803 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70654 /* 200810 */ // (cttz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (TZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70655 /* 200810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT64rm),
70656 /* 200813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70657 /* 200815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70658 /* 200819 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70659 /* 200822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70660 /* 200827 */ GIR_RootConstrainSelectedInstOperands,
70661 /* 200828 */ // GIR_Coverage, 81,
70662 /* 200828 */ GIR_EraseRootFromParent_Done,
70663 /* 200829 */ // Label 5841: @200829
70664 /* 200829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5842*/ GIMT_Encode4(200853), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 80 //
70665 /* 200836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70666 /* 200840 */ // (cttz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (TZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
70667 /* 200840 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT64rr),
70668 /* 200845 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70669 /* 200851 */ GIR_RootConstrainSelectedInstOperands,
70670 /* 200852 */ // GIR_Coverage, 80,
70671 /* 200852 */ GIR_Done,
70672 /* 200853 */ // Label 5842: @200853
70673 /* 200853 */ GIM_Reject,
70674 /* 200854 */ // Label 5840: @200854
70675 /* 200854 */ GIM_Reject,
70676 /* 200855 */ // Label 5833: @200855
70677 /* 200855 */ GIM_Reject,
70678 /* 200856 */ // Label 68: @200856
70679 /* 200856 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 5846*/ GIMT_Encode4(201242),
70680 /* 200867 */ /*GILLT_s16*//*Label 5843*/ GIMT_Encode4(200879),
70681 /* 200871 */ /*GILLT_s32*//*Label 5844*/ GIMT_Encode4(201000),
70682 /* 200875 */ /*GILLT_s64*//*Label 5845*/ GIMT_Encode4(201121),
70683 /* 200879 */ // Label 5843: @200879
70684 /* 200879 */ GIM_Try, /*On fail goto*//*Label 5847*/ GIMT_Encode4(200999),
70685 /* 200884 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
70686 /* 200887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70687 /* 200891 */ GIM_Try, /*On fail goto*//*Label 5848*/ GIMT_Encode4(200960), // Rule ID 23238 //
70688 /* 200896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70689 /* 200900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70690 /* 200904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70691 /* 200907 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70692 /* 200911 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
70693 /* 200915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70694 /* 200917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70695 /* 200924 */ // (cttz_zero_poison:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (BSF16rm:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), addr:{ *:[iPTR] }:$src)
70696 /* 200924 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
70697 /* 200927 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70698 /* 200931 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70699 /* 200936 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70700 /* 200938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rm),
70701 /* 200941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70702 /* 200943 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70703 /* 200946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70704 /* 200950 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70705 /* 200953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70706 /* 200958 */ GIR_RootConstrainSelectedInstOperands,
70707 /* 200959 */ // GIR_Coverage, 23238,
70708 /* 200959 */ GIR_EraseRootFromParent_Done,
70709 /* 200960 */ // Label 5848: @200960
70710 /* 200960 */ GIM_Try, /*On fail goto*//*Label 5849*/ GIMT_Encode4(200998), // Rule ID 23235 //
70711 /* 200965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70712 /* 200969 */ // (cttz_zero_poison:{ *:[i16] } GR16:{ *:[i16] }:$src) => (BSF16rr:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), GR16:{ *:[i16] }:$src)
70713 /* 200969 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
70714 /* 200972 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70715 /* 200976 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70716 /* 200981 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70717 /* 200983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rr),
70718 /* 200986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70719 /* 200988 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70720 /* 200991 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70721 /* 200993 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70722 /* 200996 */ GIR_RootConstrainSelectedInstOperands,
70723 /* 200997 */ // GIR_Coverage, 23235,
70724 /* 200997 */ GIR_EraseRootFromParent_Done,
70725 /* 200998 */ // Label 5849: @200998
70726 /* 200998 */ GIM_Reject,
70727 /* 200999 */ // Label 5847: @200999
70728 /* 200999 */ GIM_Reject,
70729 /* 201000 */ // Label 5844: @201000
70730 /* 201000 */ GIM_Try, /*On fail goto*//*Label 5850*/ GIMT_Encode4(201120),
70731 /* 201005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
70732 /* 201008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70733 /* 201012 */ GIM_Try, /*On fail goto*//*Label 5851*/ GIMT_Encode4(201081), // Rule ID 23239 //
70734 /* 201017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70735 /* 201021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70736 /* 201025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70737 /* 201028 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70738 /* 201032 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
70739 /* 201036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70740 /* 201038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70741 /* 201045 */ // (cttz_zero_poison:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (BSF32rm:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), addr:{ *:[iPTR] }:$src)
70742 /* 201045 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
70743 /* 201048 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70744 /* 201052 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70745 /* 201057 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70746 /* 201059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rm),
70747 /* 201062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70748 /* 201064 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70749 /* 201067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70750 /* 201071 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70751 /* 201074 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70752 /* 201079 */ GIR_RootConstrainSelectedInstOperands,
70753 /* 201080 */ // GIR_Coverage, 23239,
70754 /* 201080 */ GIR_EraseRootFromParent_Done,
70755 /* 201081 */ // Label 5851: @201081
70756 /* 201081 */ GIM_Try, /*On fail goto*//*Label 5852*/ GIMT_Encode4(201119), // Rule ID 23236 //
70757 /* 201086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70758 /* 201090 */ // (cttz_zero_poison:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSF32rr:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR32:{ *:[i32] }:$src)
70759 /* 201090 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
70760 /* 201093 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70761 /* 201097 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70762 /* 201102 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70763 /* 201104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rr),
70764 /* 201107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70765 /* 201109 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70766 /* 201112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70767 /* 201114 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70768 /* 201117 */ GIR_RootConstrainSelectedInstOperands,
70769 /* 201118 */ // GIR_Coverage, 23236,
70770 /* 201118 */ GIR_EraseRootFromParent_Done,
70771 /* 201119 */ // Label 5852: @201119
70772 /* 201119 */ GIM_Reject,
70773 /* 201120 */ // Label 5850: @201120
70774 /* 201120 */ GIM_Reject,
70775 /* 201121 */ // Label 5845: @201121
70776 /* 201121 */ GIM_Try, /*On fail goto*//*Label 5853*/ GIMT_Encode4(201241),
70777 /* 201126 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
70778 /* 201129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70779 /* 201133 */ GIM_Try, /*On fail goto*//*Label 5854*/ GIMT_Encode4(201202), // Rule ID 23240 //
70780 /* 201138 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70781 /* 201142 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70782 /* 201146 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70783 /* 201149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70784 /* 201153 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70785 /* 201157 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70786 /* 201159 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70787 /* 201166 */ // (cttz_zero_poison:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (BSF64rm:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), addr:{ *:[iPTR] }:$src)
70788 /* 201166 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
70789 /* 201169 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70790 /* 201173 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70791 /* 201178 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70792 /* 201180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rm),
70793 /* 201183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70794 /* 201185 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70795 /* 201188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70796 /* 201192 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70797 /* 201195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70798 /* 201200 */ GIR_RootConstrainSelectedInstOperands,
70799 /* 201201 */ // GIR_Coverage, 23240,
70800 /* 201201 */ GIR_EraseRootFromParent_Done,
70801 /* 201202 */ // Label 5854: @201202
70802 /* 201202 */ GIM_Try, /*On fail goto*//*Label 5855*/ GIMT_Encode4(201240), // Rule ID 23237 //
70803 /* 201207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70804 /* 201211 */ // (cttz_zero_poison:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSF64rr:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), GR64:{ *:[i64] }:$src)
70805 /* 201211 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
70806 /* 201214 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70807 /* 201218 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70808 /* 201223 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70809 /* 201225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rr),
70810 /* 201228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70811 /* 201230 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70812 /* 201233 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70813 /* 201235 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70814 /* 201238 */ GIR_RootConstrainSelectedInstOperands,
70815 /* 201239 */ // GIR_Coverage, 23237,
70816 /* 201239 */ GIR_EraseRootFromParent_Done,
70817 /* 201240 */ // Label 5855: @201240
70818 /* 201240 */ GIM_Reject,
70819 /* 201241 */ // Label 5853: @201241
70820 /* 201241 */ GIM_Reject,
70821 /* 201242 */ // Label 5846: @201242
70822 /* 201242 */ GIM_Reject,
70823 /* 201243 */ // Label 69: @201243
70824 /* 201243 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 5865*/ GIMT_Encode4(202552),
70825 /* 201254 */ /*GILLT_s16*//*Label 5856*/ GIMT_Encode4(201346),
70826 /* 201258 */ /*GILLT_s32*//*Label 5857*/ GIMT_Encode4(201438),
70827 /* 201262 */ /*GILLT_s64*//*Label 5858*/ GIMT_Encode4(201530), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
70828 /* 201322 */ /*GILLT_v4s32*//*Label 5859*/ GIMT_Encode4(201622),
70829 /* 201326 */ /*GILLT_v8s32*//*Label 5860*/ GIMT_Encode4(201817),
70830 /* 201330 */ /*GILLT_v16s32*//*Label 5861*/ GIMT_Encode4(202004),
70831 /* 201334 */ /*GILLT_v2s64*//*Label 5862*/ GIMT_Encode4(202087),
70832 /* 201338 */ /*GILLT_v4s64*//*Label 5863*/ GIMT_Encode4(202282),
70833 /* 201342 */ /*GILLT_v8s64*//*Label 5864*/ GIMT_Encode4(202469),
70834 /* 201346 */ // Label 5856: @201346
70835 /* 201346 */ GIM_Try, /*On fail goto*//*Label 5866*/ GIMT_Encode4(201437),
70836 /* 201351 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
70837 /* 201354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70838 /* 201358 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5867*/ GIMT_Encode4(201412), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 71 //
70839 /* 201365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70840 /* 201369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70841 /* 201373 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70842 /* 201376 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70843 /* 201380 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
70844 /* 201384 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70845 /* 201386 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70846 /* 201393 */ // (ctlz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (LZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70847 /* 201393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT16rm),
70848 /* 201396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70849 /* 201398 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70850 /* 201402 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70851 /* 201405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70852 /* 201410 */ GIR_RootConstrainSelectedInstOperands,
70853 /* 201411 */ // GIR_Coverage, 71,
70854 /* 201411 */ GIR_EraseRootFromParent_Done,
70855 /* 201412 */ // Label 5867: @201412
70856 /* 201412 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5868*/ GIMT_Encode4(201436), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 70 //
70857 /* 201419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70858 /* 201423 */ // (ctlz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (LZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
70859 /* 201423 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT16rr),
70860 /* 201428 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70861 /* 201434 */ GIR_RootConstrainSelectedInstOperands,
70862 /* 201435 */ // GIR_Coverage, 70,
70863 /* 201435 */ GIR_Done,
70864 /* 201436 */ // Label 5868: @201436
70865 /* 201436 */ GIM_Reject,
70866 /* 201437 */ // Label 5866: @201437
70867 /* 201437 */ GIM_Reject,
70868 /* 201438 */ // Label 5857: @201438
70869 /* 201438 */ GIM_Try, /*On fail goto*//*Label 5869*/ GIMT_Encode4(201529),
70870 /* 201443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
70871 /* 201446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70872 /* 201450 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5870*/ GIMT_Encode4(201504), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 73 //
70873 /* 201457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70874 /* 201461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70875 /* 201465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70876 /* 201468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70877 /* 201472 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
70878 /* 201476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70879 /* 201478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70880 /* 201485 */ // (ctlz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (LZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70881 /* 201485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT32rm),
70882 /* 201488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70883 /* 201490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70884 /* 201494 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70885 /* 201497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70886 /* 201502 */ GIR_RootConstrainSelectedInstOperands,
70887 /* 201503 */ // GIR_Coverage, 73,
70888 /* 201503 */ GIR_EraseRootFromParent_Done,
70889 /* 201504 */ // Label 5870: @201504
70890 /* 201504 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5871*/ GIMT_Encode4(201528), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 72 //
70891 /* 201511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70892 /* 201515 */ // (ctlz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (LZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
70893 /* 201515 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT32rr),
70894 /* 201520 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70895 /* 201526 */ GIR_RootConstrainSelectedInstOperands,
70896 /* 201527 */ // GIR_Coverage, 72,
70897 /* 201527 */ GIR_Done,
70898 /* 201528 */ // Label 5871: @201528
70899 /* 201528 */ GIM_Reject,
70900 /* 201529 */ // Label 5869: @201529
70901 /* 201529 */ GIM_Reject,
70902 /* 201530 */ // Label 5858: @201530
70903 /* 201530 */ GIM_Try, /*On fail goto*//*Label 5872*/ GIMT_Encode4(201621),
70904 /* 201535 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
70905 /* 201538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70906 /* 201542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5873*/ GIMT_Encode4(201596), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 75 //
70907 /* 201549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70908 /* 201553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70909 /* 201557 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70910 /* 201560 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70911 /* 201564 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70912 /* 201568 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70913 /* 201570 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70914 /* 201577 */ // (ctlz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (LZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70915 /* 201577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT64rm),
70916 /* 201580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70917 /* 201582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70918 /* 201586 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70919 /* 201589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70920 /* 201594 */ GIR_RootConstrainSelectedInstOperands,
70921 /* 201595 */ // GIR_Coverage, 75,
70922 /* 201595 */ GIR_EraseRootFromParent_Done,
70923 /* 201596 */ // Label 5873: @201596
70924 /* 201596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5874*/ GIMT_Encode4(201620), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 74 //
70925 /* 201603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70926 /* 201607 */ // (ctlz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (LZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
70927 /* 201607 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT64rr),
70928 /* 201612 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70929 /* 201618 */ GIR_RootConstrainSelectedInstOperands,
70930 /* 201619 */ // GIR_Coverage, 74,
70931 /* 201619 */ GIR_Done,
70932 /* 201620 */ // Label 5874: @201620
70933 /* 201620 */ GIM_Reject,
70934 /* 201621 */ // Label 5872: @201621
70935 /* 201621 */ GIM_Reject,
70936 /* 201622 */ // Label 5859: @201622
70937 /* 201622 */ GIM_Try, /*On fail goto*//*Label 5875*/ GIMT_Encode4(201816),
70938 /* 201627 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
70939 /* 201630 */ GIM_Try, /*On fail goto*//*Label 5876*/ GIMT_Encode4(201709),
70940 /* 201635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70941 /* 201639 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5877*/ GIMT_Encode4(201690), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13439 //
70942 /* 201646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70943 /* 201650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70944 /* 201654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70945 /* 201657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70946 /* 201661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70947 /* 201665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70948 /* 201667 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70949 /* 201674 */ // (ctlz:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
70950 /* 201674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rm),
70951 /* 201677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70952 /* 201679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70953 /* 201683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70954 /* 201688 */ GIR_RootConstrainSelectedInstOperands,
70955 /* 201689 */ // GIR_Coverage, 13439,
70956 /* 201689 */ GIR_EraseRootFromParent_Done,
70957 /* 201690 */ // Label 5877: @201690
70958 /* 201690 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5878*/ GIMT_Encode4(201708), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13436 //
70959 /* 201697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70960 /* 201701 */ // (ctlz:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPLZCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
70961 /* 201701 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rr),
70962 /* 201706 */ GIR_RootConstrainSelectedInstOperands,
70963 /* 201707 */ // GIR_Coverage, 13436,
70964 /* 201707 */ GIR_Done,
70965 /* 201708 */ // Label 5878: @201708
70966 /* 201708 */ GIM_Reject,
70967 /* 201709 */ // Label 5876: @201709
70968 /* 201709 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5879*/ GIMT_Encode4(201815), GIMT_Encode2(GIFBS_HasCDI_NoVLX), // Rule ID 21980 //
70969 /* 201716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70970 /* 201720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70971 /* 201724 */ // (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] })
70972 /* 201724 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
70973 /* 201727 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70974 /* 201731 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70975 /* 201736 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
70976 /* 201738 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
70977 /* 201741 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
70978 /* 201745 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70979 /* 201750 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
70980 /* 201753 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
70981 /* 201757 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
70982 /* 201760 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
70983 /* 201765 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70984 /* 201770 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
70985 /* 201775 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
70986 /* 201778 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
70987 /* 201782 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70988 /* 201787 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
70989 /* 201790 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70990 /* 201792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70991 /* 201795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70992 /* 201797 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
70993 /* 201804 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70994 /* 201809 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70995 /* 201814 */ // GIR_Coverage, 21980,
70996 /* 201814 */ GIR_EraseRootFromParent_Done,
70997 /* 201815 */ // Label 5879: @201815
70998 /* 201815 */ GIM_Reject,
70999 /* 201816 */ // Label 5875: @201816
71000 /* 201816 */ GIM_Reject,
71001 /* 201817 */ // Label 5860: @201817
71002 /* 201817 */ GIM_Try, /*On fail goto*//*Label 5880*/ GIMT_Encode4(202003),
71003 /* 201822 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
71004 /* 201825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71005 /* 201829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5881*/ GIMT_Encode4(201880), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13430 //
71006 /* 201836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71007 /* 201840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71008 /* 201844 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71009 /* 201847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71010 /* 201851 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71011 /* 201855 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71012 /* 201857 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71013 /* 201864 */ // (ctlz:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
71014 /* 201864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rm),
71015 /* 201867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71016 /* 201869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71017 /* 201873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71018 /* 201878 */ GIR_RootConstrainSelectedInstOperands,
71019 /* 201879 */ // GIR_Coverage, 13430,
71020 /* 201879 */ GIR_EraseRootFromParent_Done,
71021 /* 201880 */ // Label 5881: @201880
71022 /* 201880 */ GIM_Try, /*On fail goto*//*Label 5882*/ GIMT_Encode4(202002),
71023 /* 201885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71024 /* 201889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5883*/ GIMT_Encode4(201903), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13427 //
71025 /* 201896 */ // (ctlz:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPLZCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
71026 /* 201896 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rr),
71027 /* 201901 */ GIR_RootConstrainSelectedInstOperands,
71028 /* 201902 */ // GIR_Coverage, 13427,
71029 /* 201902 */ GIR_Done,
71030 /* 201903 */ // Label 5883: @201903
71031 /* 201903 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5884*/ GIMT_Encode4(202001), GIMT_Encode2(GIFBS_HasCDI_NoVLX), // Rule ID 21979 //
71032 /* 201910 */ // (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] })
71033 /* 201910 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
71034 /* 201913 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71035 /* 201917 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71036 /* 201922 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71037 /* 201924 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
71038 /* 201927 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71039 /* 201931 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71040 /* 201936 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71041 /* 201939 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71042 /* 201943 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71043 /* 201946 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71044 /* 201951 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71045 /* 201956 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71046 /* 201961 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71047 /* 201964 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
71048 /* 201968 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71049 /* 201973 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71050 /* 201976 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71051 /* 201978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71052 /* 201981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71053 /* 201983 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71054 /* 201990 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71055 /* 201995 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71056 /* 202000 */ // GIR_Coverage, 21979,
71057 /* 202000 */ GIR_EraseRootFromParent_Done,
71058 /* 202001 */ // Label 5884: @202001
71059 /* 202001 */ GIM_Reject,
71060 /* 202002 */ // Label 5882: @202002
71061 /* 202002 */ GIM_Reject,
71062 /* 202003 */ // Label 5880: @202003
71063 /* 202003 */ GIM_Reject,
71064 /* 202004 */ // Label 5861: @202004
71065 /* 202004 */ GIM_Try, /*On fail goto*//*Label 5885*/ GIMT_Encode4(202086),
71066 /* 202009 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71067 /* 202012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71068 /* 202016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5886*/ GIMT_Encode4(202067), GIMT_Encode2(GIFBS_HasCDI), // Rule ID 13421 //
71069 /* 202023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71070 /* 202027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71071 /* 202031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71072 /* 202034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71073 /* 202038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71074 /* 202042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71075 /* 202044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71076 /* 202051 */ // (ctlz:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
71077 /* 202051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrm),
71078 /* 202054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71079 /* 202056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71080 /* 202060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71081 /* 202065 */ GIR_RootConstrainSelectedInstOperands,
71082 /* 202066 */ // GIR_Coverage, 13421,
71083 /* 202066 */ GIR_EraseRootFromParent_Done,
71084 /* 202067 */ // Label 5886: @202067
71085 /* 202067 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5887*/ GIMT_Encode4(202085), GIMT_Encode2(GIFBS_HasCDI), // Rule ID 13418 //
71086 /* 202074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71087 /* 202078 */ // (ctlz:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPLZCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
71088 /* 202078 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
71089 /* 202083 */ GIR_RootConstrainSelectedInstOperands,
71090 /* 202084 */ // GIR_Coverage, 13418,
71091 /* 202084 */ GIR_Done,
71092 /* 202085 */ // Label 5887: @202085
71093 /* 202085 */ GIM_Reject,
71094 /* 202086 */ // Label 5885: @202086
71095 /* 202086 */ GIM_Reject,
71096 /* 202087 */ // Label 5862: @202087
71097 /* 202087 */ GIM_Try, /*On fail goto*//*Label 5888*/ GIMT_Encode4(202281),
71098 /* 202092 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
71099 /* 202095 */ GIM_Try, /*On fail goto*//*Label 5889*/ GIMT_Encode4(202174),
71100 /* 202100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71101 /* 202104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5890*/ GIMT_Encode4(202155), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13412 //
71102 /* 202111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71103 /* 202115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71104 /* 202119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71105 /* 202122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71106 /* 202126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71107 /* 202130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71108 /* 202132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71109 /* 202139 */ // (ctlz:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
71110 /* 202139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rm),
71111 /* 202142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71112 /* 202144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71113 /* 202148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71114 /* 202153 */ GIR_RootConstrainSelectedInstOperands,
71115 /* 202154 */ // GIR_Coverage, 13412,
71116 /* 202154 */ GIR_EraseRootFromParent_Done,
71117 /* 202155 */ // Label 5890: @202155
71118 /* 202155 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5891*/ GIMT_Encode4(202173), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13409 //
71119 /* 202162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71120 /* 202166 */ // (ctlz:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPLZCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
71121 /* 202166 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rr),
71122 /* 202171 */ GIR_RootConstrainSelectedInstOperands,
71123 /* 202172 */ // GIR_Coverage, 13409,
71124 /* 202172 */ GIR_Done,
71125 /* 202173 */ // Label 5891: @202173
71126 /* 202173 */ GIM_Reject,
71127 /* 202174 */ // Label 5889: @202174
71128 /* 202174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5892*/ GIMT_Encode4(202280), GIMT_Encode2(GIFBS_HasCDI_NoVLX), // Rule ID 21978 //
71129 /* 202181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71130 /* 202185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71131 /* 202189 */ // (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] })
71132 /* 202189 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
71133 /* 202192 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71134 /* 202196 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71135 /* 202201 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71136 /* 202203 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
71137 /* 202206 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71138 /* 202210 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71139 /* 202215 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71140 /* 202218 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71141 /* 202222 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71142 /* 202225 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71143 /* 202230 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71144 /* 202235 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71145 /* 202240 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71146 /* 202243 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
71147 /* 202247 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71148 /* 202252 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71149 /* 202255 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71150 /* 202257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71151 /* 202260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71152 /* 202262 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71153 /* 202269 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71154 /* 202274 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71155 /* 202279 */ // GIR_Coverage, 21978,
71156 /* 202279 */ GIR_EraseRootFromParent_Done,
71157 /* 202280 */ // Label 5892: @202280
71158 /* 202280 */ GIM_Reject,
71159 /* 202281 */ // Label 5888: @202281
71160 /* 202281 */ GIM_Reject,
71161 /* 202282 */ // Label 5863: @202282
71162 /* 202282 */ GIM_Try, /*On fail goto*//*Label 5893*/ GIMT_Encode4(202468),
71163 /* 202287 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
71164 /* 202290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71165 /* 202294 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5894*/ GIMT_Encode4(202345), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13403 //
71166 /* 202301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71167 /* 202305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71168 /* 202309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71169 /* 202312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71170 /* 202316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71171 /* 202320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71172 /* 202322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71173 /* 202329 */ // (ctlz:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
71174 /* 202329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rm),
71175 /* 202332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71176 /* 202334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71177 /* 202338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71178 /* 202343 */ GIR_RootConstrainSelectedInstOperands,
71179 /* 202344 */ // GIR_Coverage, 13403,
71180 /* 202344 */ GIR_EraseRootFromParent_Done,
71181 /* 202345 */ // Label 5894: @202345
71182 /* 202345 */ GIM_Try, /*On fail goto*//*Label 5895*/ GIMT_Encode4(202467),
71183 /* 202350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71184 /* 202354 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5896*/ GIMT_Encode4(202368), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13400 //
71185 /* 202361 */ // (ctlz:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPLZCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
71186 /* 202361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rr),
71187 /* 202366 */ GIR_RootConstrainSelectedInstOperands,
71188 /* 202367 */ // GIR_Coverage, 13400,
71189 /* 202367 */ GIR_Done,
71190 /* 202368 */ // Label 5896: @202368
71191 /* 202368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5897*/ GIMT_Encode4(202466), GIMT_Encode2(GIFBS_HasCDI_NoVLX), // Rule ID 21977 //
71192 /* 202375 */ // (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] })
71193 /* 202375 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
71194 /* 202378 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71195 /* 202382 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71196 /* 202387 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71197 /* 202389 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
71198 /* 202392 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71199 /* 202396 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71200 /* 202401 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71201 /* 202404 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71202 /* 202408 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71203 /* 202411 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71204 /* 202416 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71205 /* 202421 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71206 /* 202426 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71207 /* 202429 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
71208 /* 202433 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71209 /* 202438 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71210 /* 202441 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71211 /* 202443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71212 /* 202446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71213 /* 202448 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71214 /* 202455 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71215 /* 202460 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71216 /* 202465 */ // GIR_Coverage, 21977,
71217 /* 202465 */ GIR_EraseRootFromParent_Done,
71218 /* 202466 */ // Label 5897: @202466
71219 /* 202466 */ GIM_Reject,
71220 /* 202467 */ // Label 5895: @202467
71221 /* 202467 */ GIM_Reject,
71222 /* 202468 */ // Label 5893: @202468
71223 /* 202468 */ GIM_Reject,
71224 /* 202469 */ // Label 5864: @202469
71225 /* 202469 */ GIM_Try, /*On fail goto*//*Label 5898*/ GIMT_Encode4(202551),
71226 /* 202474 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71227 /* 202477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71228 /* 202481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5899*/ GIMT_Encode4(202532), GIMT_Encode2(GIFBS_HasCDI), // Rule ID 13394 //
71229 /* 202488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71230 /* 202492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71231 /* 202496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71232 /* 202499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71233 /* 202503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71234 /* 202507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71235 /* 202509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71236 /* 202516 */ // (ctlz:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
71237 /* 202516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrm),
71238 /* 202519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71239 /* 202521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71240 /* 202525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71241 /* 202530 */ GIR_RootConstrainSelectedInstOperands,
71242 /* 202531 */ // GIR_Coverage, 13394,
71243 /* 202531 */ GIR_EraseRootFromParent_Done,
71244 /* 202532 */ // Label 5899: @202532
71245 /* 202532 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5900*/ GIMT_Encode4(202550), GIMT_Encode2(GIFBS_HasCDI), // Rule ID 13391 //
71246 /* 202539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71247 /* 202543 */ // (ctlz:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPLZCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
71248 /* 202543 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
71249 /* 202548 */ GIR_RootConstrainSelectedInstOperands,
71250 /* 202549 */ // GIR_Coverage, 13391,
71251 /* 202549 */ GIR_Done,
71252 /* 202550 */ // Label 5900: @202550
71253 /* 202550 */ GIM_Reject,
71254 /* 202551 */ // Label 5898: @202551
71255 /* 202551 */ GIM_Reject,
71256 /* 202552 */ // Label 5865: @202552
71257 /* 202552 */ GIM_Reject,
71258 /* 202553 */ // Label 70: @202553
71259 /* 202553 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 5916*/ GIMT_Encode4(204792),
71260 /* 202564 */ /*GILLT_s16*//*Label 5901*/ GIMT_Encode4(202656),
71261 /* 202568 */ /*GILLT_s32*//*Label 5902*/ GIMT_Encode4(202748),
71262 /* 202572 */ /*GILLT_s64*//*Label 5903*/ GIMT_Encode4(202840), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
71263 /* 202608 */ /*GILLT_v16s8*//*Label 5904*/ GIMT_Encode4(202932),
71264 /* 202612 */ /*GILLT_v32s8*//*Label 5905*/ GIMT_Encode4(203127),
71265 /* 202616 */ /*GILLT_v64s8*//*Label 5906*/ GIMT_Encode4(203314),
71266 /* 202620 */ /*GILLT_v8s16*//*Label 5907*/ GIMT_Encode4(203397),
71267 /* 202624 */ /*GILLT_v16s16*//*Label 5908*/ GIMT_Encode4(203592),
71268 /* 202628 */ /*GILLT_v32s16*//*Label 5909*/ GIMT_Encode4(203779),
71269 /* 202632 */ /*GILLT_v4s32*//*Label 5910*/ GIMT_Encode4(203862),
71270 /* 202636 */ /*GILLT_v8s32*//*Label 5911*/ GIMT_Encode4(204057),
71271 /* 202640 */ /*GILLT_v16s32*//*Label 5912*/ GIMT_Encode4(204244),
71272 /* 202644 */ /*GILLT_v2s64*//*Label 5913*/ GIMT_Encode4(204327),
71273 /* 202648 */ /*GILLT_v4s64*//*Label 5914*/ GIMT_Encode4(204522),
71274 /* 202652 */ /*GILLT_v8s64*//*Label 5915*/ GIMT_Encode4(204709),
71275 /* 202656 */ // Label 5901: @202656
71276 /* 202656 */ GIM_Try, /*On fail goto*//*Label 5917*/ GIMT_Encode4(202747),
71277 /* 202661 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
71278 /* 202664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71279 /* 202668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5918*/ GIMT_Encode4(202722), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3164 //
71280 /* 202675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71281 /* 202679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71282 /* 202683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71283 /* 202686 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71284 /* 202690 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
71285 /* 202694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71286 /* 202696 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71287 /* 202703 */ // (ctpop:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (POPCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71288 /* 202703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT16rm),
71289 /* 202706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71290 /* 202708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71291 /* 202712 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71292 /* 202715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71293 /* 202720 */ GIR_RootConstrainSelectedInstOperands,
71294 /* 202721 */ // GIR_Coverage, 3164,
71295 /* 202721 */ GIR_EraseRootFromParent_Done,
71296 /* 202722 */ // Label 5918: @202722
71297 /* 202722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5919*/ GIMT_Encode4(202746), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3163 //
71298 /* 202729 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71299 /* 202733 */ // (ctpop:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (POPCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
71300 /* 202733 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT16rr),
71301 /* 202738 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71302 /* 202744 */ GIR_RootConstrainSelectedInstOperands,
71303 /* 202745 */ // GIR_Coverage, 3163,
71304 /* 202745 */ GIR_Done,
71305 /* 202746 */ // Label 5919: @202746
71306 /* 202746 */ GIM_Reject,
71307 /* 202747 */ // Label 5917: @202747
71308 /* 202747 */ GIM_Reject,
71309 /* 202748 */ // Label 5902: @202748
71310 /* 202748 */ GIM_Try, /*On fail goto*//*Label 5920*/ GIMT_Encode4(202839),
71311 /* 202753 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
71312 /* 202756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71313 /* 202760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5921*/ GIMT_Encode4(202814), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3166 //
71314 /* 202767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71315 /* 202771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71316 /* 202775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71317 /* 202778 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71318 /* 202782 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
71319 /* 202786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71320 /* 202788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71321 /* 202795 */ // (ctpop:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (POPCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71322 /* 202795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT32rm),
71323 /* 202798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71324 /* 202800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71325 /* 202804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71326 /* 202807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71327 /* 202812 */ GIR_RootConstrainSelectedInstOperands,
71328 /* 202813 */ // GIR_Coverage, 3166,
71329 /* 202813 */ GIR_EraseRootFromParent_Done,
71330 /* 202814 */ // Label 5921: @202814
71331 /* 202814 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5922*/ GIMT_Encode4(202838), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3165 //
71332 /* 202821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71333 /* 202825 */ // (ctpop:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (POPCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
71334 /* 202825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT32rr),
71335 /* 202830 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71336 /* 202836 */ GIR_RootConstrainSelectedInstOperands,
71337 /* 202837 */ // GIR_Coverage, 3165,
71338 /* 202837 */ GIR_Done,
71339 /* 202838 */ // Label 5922: @202838
71340 /* 202838 */ GIM_Reject,
71341 /* 202839 */ // Label 5920: @202839
71342 /* 202839 */ GIM_Reject,
71343 /* 202840 */ // Label 5903: @202840
71344 /* 202840 */ GIM_Try, /*On fail goto*//*Label 5923*/ GIMT_Encode4(202931),
71345 /* 202845 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
71346 /* 202848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71347 /* 202852 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5924*/ GIMT_Encode4(202906), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3168 //
71348 /* 202859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71349 /* 202863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71350 /* 202867 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71351 /* 202870 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71352 /* 202874 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71353 /* 202878 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71354 /* 202880 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71355 /* 202887 */ // (ctpop:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (POPCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71356 /* 202887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT64rm),
71357 /* 202890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71358 /* 202892 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71359 /* 202896 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71360 /* 202899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71361 /* 202904 */ GIR_RootConstrainSelectedInstOperands,
71362 /* 202905 */ // GIR_Coverage, 3168,
71363 /* 202905 */ GIR_EraseRootFromParent_Done,
71364 /* 202906 */ // Label 5924: @202906
71365 /* 202906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5925*/ GIMT_Encode4(202930), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3167 //
71366 /* 202913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71367 /* 202917 */ // (ctpop:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (POPCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
71368 /* 202917 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT64rr),
71369 /* 202922 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71370 /* 202928 */ GIR_RootConstrainSelectedInstOperands,
71371 /* 202929 */ // GIR_Coverage, 3167,
71372 /* 202929 */ GIR_Done,
71373 /* 202930 */ // Label 5925: @202930
71374 /* 202930 */ GIM_Reject,
71375 /* 202931 */ // Label 5923: @202931
71376 /* 202931 */ GIM_Reject,
71377 /* 202932 */ // Label 5904: @202932
71378 /* 202932 */ GIM_Try, /*On fail goto*//*Label 5926*/ GIMT_Encode4(203126),
71379 /* 202937 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
71380 /* 202940 */ GIM_Try, /*On fail goto*//*Label 5927*/ GIMT_Encode4(203019),
71381 /* 202945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71382 /* 202949 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5928*/ GIMT_Encode4(203000), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14504 //
71383 /* 202956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71384 /* 202960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71385 /* 202964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71386 /* 202967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71387 /* 202971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71388 /* 202975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71389 /* 202977 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71390 /* 202984 */ // (ctpop:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
71391 /* 202984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rm),
71392 /* 202987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71393 /* 202989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71394 /* 202993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71395 /* 202998 */ GIR_RootConstrainSelectedInstOperands,
71396 /* 202999 */ // GIR_Coverage, 14504,
71397 /* 202999 */ GIR_EraseRootFromParent_Done,
71398 /* 203000 */ // Label 5928: @203000
71399 /* 203000 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5929*/ GIMT_Encode4(203018), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14501 //
71400 /* 203007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71401 /* 203011 */ // (ctpop:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPOPCNTBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
71402 /* 203011 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rr),
71403 /* 203016 */ GIR_RootConstrainSelectedInstOperands,
71404 /* 203017 */ // GIR_Coverage, 14501,
71405 /* 203017 */ GIR_Done,
71406 /* 203018 */ // Label 5929: @203018
71407 /* 203018 */ GIM_Reject,
71408 /* 203019 */ // Label 5927: @203019
71409 /* 203019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5930*/ GIMT_Encode4(203125), GIMT_Encode2(GIFBS_HasBITALG_NoVLX), // Rule ID 22339 //
71410 /* 203026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71411 /* 203030 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71412 /* 203034 */ // (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] })
71413 /* 203034 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
71414 /* 203037 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71415 /* 203041 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71416 /* 203046 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71417 /* 203048 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
71418 /* 203051 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71419 /* 203055 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71420 /* 203060 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71421 /* 203063 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71422 /* 203067 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71423 /* 203070 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71424 /* 203075 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71425 /* 203080 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71426 /* 203085 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71427 /* 203088 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
71428 /* 203092 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71429 /* 203097 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71430 /* 203100 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71431 /* 203102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71432 /* 203105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71433 /* 203107 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71434 /* 203114 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71435 /* 203119 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71436 /* 203124 */ // GIR_Coverage, 22339,
71437 /* 203124 */ GIR_EraseRootFromParent_Done,
71438 /* 203125 */ // Label 5930: @203125
71439 /* 203125 */ GIM_Reject,
71440 /* 203126 */ // Label 5926: @203126
71441 /* 203126 */ GIM_Reject,
71442 /* 203127 */ // Label 5905: @203127
71443 /* 203127 */ GIM_Try, /*On fail goto*//*Label 5931*/ GIMT_Encode4(203313),
71444 /* 203132 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
71445 /* 203135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71446 /* 203139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5932*/ GIMT_Encode4(203190), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14498 //
71447 /* 203146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71448 /* 203150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71449 /* 203154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71450 /* 203157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71451 /* 203161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71452 /* 203165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71453 /* 203167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71454 /* 203174 */ // (ctpop:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
71455 /* 203174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rm),
71456 /* 203177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71457 /* 203179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71458 /* 203183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71459 /* 203188 */ GIR_RootConstrainSelectedInstOperands,
71460 /* 203189 */ // GIR_Coverage, 14498,
71461 /* 203189 */ GIR_EraseRootFromParent_Done,
71462 /* 203190 */ // Label 5932: @203190
71463 /* 203190 */ GIM_Try, /*On fail goto*//*Label 5933*/ GIMT_Encode4(203312),
71464 /* 203195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71465 /* 203199 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5934*/ GIMT_Encode4(203213), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14495 //
71466 /* 203206 */ // (ctpop:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPOPCNTBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
71467 /* 203206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rr),
71468 /* 203211 */ GIR_RootConstrainSelectedInstOperands,
71469 /* 203212 */ // GIR_Coverage, 14495,
71470 /* 203212 */ GIR_Done,
71471 /* 203213 */ // Label 5934: @203213
71472 /* 203213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5935*/ GIMT_Encode4(203311), GIMT_Encode2(GIFBS_HasBITALG_NoVLX), // Rule ID 22338 //
71473 /* 203220 */ // (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] })
71474 /* 203220 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
71475 /* 203223 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71476 /* 203227 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71477 /* 203232 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71478 /* 203234 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
71479 /* 203237 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71480 /* 203241 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71481 /* 203246 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71482 /* 203249 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71483 /* 203253 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71484 /* 203256 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71485 /* 203261 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71486 /* 203266 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71487 /* 203271 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71488 /* 203274 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
71489 /* 203278 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71490 /* 203283 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71491 /* 203286 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71492 /* 203288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71493 /* 203291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71494 /* 203293 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71495 /* 203300 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71496 /* 203305 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71497 /* 203310 */ // GIR_Coverage, 22338,
71498 /* 203310 */ GIR_EraseRootFromParent_Done,
71499 /* 203311 */ // Label 5935: @203311
71500 /* 203311 */ GIM_Reject,
71501 /* 203312 */ // Label 5933: @203312
71502 /* 203312 */ GIM_Reject,
71503 /* 203313 */ // Label 5931: @203313
71504 /* 203313 */ GIM_Reject,
71505 /* 203314 */ // Label 5906: @203314
71506 /* 203314 */ GIM_Try, /*On fail goto*//*Label 5936*/ GIMT_Encode4(203396),
71507 /* 203319 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71508 /* 203322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71509 /* 203326 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5937*/ GIMT_Encode4(203377), GIMT_Encode2(GIFBS_HasBITALG), // Rule ID 14492 //
71510 /* 203333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71511 /* 203337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71512 /* 203341 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71513 /* 203344 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71514 /* 203348 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71515 /* 203352 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71516 /* 203354 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71517 /* 203361 */ // (ctpop:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
71518 /* 203361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrm),
71519 /* 203364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71520 /* 203366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71521 /* 203370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71522 /* 203375 */ GIR_RootConstrainSelectedInstOperands,
71523 /* 203376 */ // GIR_Coverage, 14492,
71524 /* 203376 */ GIR_EraseRootFromParent_Done,
71525 /* 203377 */ // Label 5937: @203377
71526 /* 203377 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5938*/ GIMT_Encode4(203395), GIMT_Encode2(GIFBS_HasBITALG), // Rule ID 14489 //
71527 /* 203384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71528 /* 203388 */ // (ctpop:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPOPCNTBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
71529 /* 203388 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
71530 /* 203393 */ GIR_RootConstrainSelectedInstOperands,
71531 /* 203394 */ // GIR_Coverage, 14489,
71532 /* 203394 */ GIR_Done,
71533 /* 203395 */ // Label 5938: @203395
71534 /* 203395 */ GIM_Reject,
71535 /* 203396 */ // Label 5936: @203396
71536 /* 203396 */ GIM_Reject,
71537 /* 203397 */ // Label 5907: @203397
71538 /* 203397 */ GIM_Try, /*On fail goto*//*Label 5939*/ GIMT_Encode4(203591),
71539 /* 203402 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
71540 /* 203405 */ GIM_Try, /*On fail goto*//*Label 5940*/ GIMT_Encode4(203484),
71541 /* 203410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71542 /* 203414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5941*/ GIMT_Encode4(203465), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14522 //
71543 /* 203421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71544 /* 203425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71545 /* 203429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71546 /* 203432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71547 /* 203436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71548 /* 203440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71549 /* 203442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71550 /* 203449 */ // (ctpop:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
71551 /* 203449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rm),
71552 /* 203452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71553 /* 203454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71554 /* 203458 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71555 /* 203463 */ GIR_RootConstrainSelectedInstOperands,
71556 /* 203464 */ // GIR_Coverage, 14522,
71557 /* 203464 */ GIR_EraseRootFromParent_Done,
71558 /* 203465 */ // Label 5941: @203465
71559 /* 203465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5942*/ GIMT_Encode4(203483), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14519 //
71560 /* 203472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71561 /* 203476 */ // (ctpop:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPOPCNTWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
71562 /* 203476 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rr),
71563 /* 203481 */ GIR_RootConstrainSelectedInstOperands,
71564 /* 203482 */ // GIR_Coverage, 14519,
71565 /* 203482 */ GIR_Done,
71566 /* 203483 */ // Label 5942: @203483
71567 /* 203483 */ GIM_Reject,
71568 /* 203484 */ // Label 5940: @203484
71569 /* 203484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5943*/ GIMT_Encode4(203590), GIMT_Encode2(GIFBS_HasBITALG_NoVLX), // Rule ID 22341 //
71570 /* 203491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71571 /* 203495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71572 /* 203499 */ // (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] })
71573 /* 203499 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
71574 /* 203502 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71575 /* 203506 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71576 /* 203511 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71577 /* 203513 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
71578 /* 203516 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71579 /* 203520 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71580 /* 203525 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71581 /* 203528 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71582 /* 203532 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71583 /* 203535 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71584 /* 203540 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71585 /* 203545 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71586 /* 203550 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71587 /* 203553 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
71588 /* 203557 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71589 /* 203562 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71590 /* 203565 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71591 /* 203567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71592 /* 203570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71593 /* 203572 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71594 /* 203579 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71595 /* 203584 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71596 /* 203589 */ // GIR_Coverage, 22341,
71597 /* 203589 */ GIR_EraseRootFromParent_Done,
71598 /* 203590 */ // Label 5943: @203590
71599 /* 203590 */ GIM_Reject,
71600 /* 203591 */ // Label 5939: @203591
71601 /* 203591 */ GIM_Reject,
71602 /* 203592 */ // Label 5908: @203592
71603 /* 203592 */ GIM_Try, /*On fail goto*//*Label 5944*/ GIMT_Encode4(203778),
71604 /* 203597 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
71605 /* 203600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71606 /* 203604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5945*/ GIMT_Encode4(203655), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14516 //
71607 /* 203611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71608 /* 203615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71609 /* 203619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71610 /* 203622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71611 /* 203626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71612 /* 203630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71613 /* 203632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71614 /* 203639 */ // (ctpop:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
71615 /* 203639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rm),
71616 /* 203642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71617 /* 203644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71618 /* 203648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71619 /* 203653 */ GIR_RootConstrainSelectedInstOperands,
71620 /* 203654 */ // GIR_Coverage, 14516,
71621 /* 203654 */ GIR_EraseRootFromParent_Done,
71622 /* 203655 */ // Label 5945: @203655
71623 /* 203655 */ GIM_Try, /*On fail goto*//*Label 5946*/ GIMT_Encode4(203777),
71624 /* 203660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71625 /* 203664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5947*/ GIMT_Encode4(203678), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14513 //
71626 /* 203671 */ // (ctpop:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPOPCNTWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
71627 /* 203671 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rr),
71628 /* 203676 */ GIR_RootConstrainSelectedInstOperands,
71629 /* 203677 */ // GIR_Coverage, 14513,
71630 /* 203677 */ GIR_Done,
71631 /* 203678 */ // Label 5947: @203678
71632 /* 203678 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5948*/ GIMT_Encode4(203776), GIMT_Encode2(GIFBS_HasBITALG_NoVLX), // Rule ID 22340 //
71633 /* 203685 */ // (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] })
71634 /* 203685 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
71635 /* 203688 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71636 /* 203692 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71637 /* 203697 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71638 /* 203699 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
71639 /* 203702 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71640 /* 203706 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71641 /* 203711 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71642 /* 203714 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71643 /* 203718 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71644 /* 203721 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71645 /* 203726 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71646 /* 203731 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71647 /* 203736 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71648 /* 203739 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
71649 /* 203743 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71650 /* 203748 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71651 /* 203751 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71652 /* 203753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71653 /* 203756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71654 /* 203758 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71655 /* 203765 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71656 /* 203770 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71657 /* 203775 */ // GIR_Coverage, 22340,
71658 /* 203775 */ GIR_EraseRootFromParent_Done,
71659 /* 203776 */ // Label 5948: @203776
71660 /* 203776 */ GIM_Reject,
71661 /* 203777 */ // Label 5946: @203777
71662 /* 203777 */ GIM_Reject,
71663 /* 203778 */ // Label 5944: @203778
71664 /* 203778 */ GIM_Reject,
71665 /* 203779 */ // Label 5909: @203779
71666 /* 203779 */ GIM_Try, /*On fail goto*//*Label 5949*/ GIMT_Encode4(203861),
71667 /* 203784 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71668 /* 203787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71669 /* 203791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5950*/ GIMT_Encode4(203842), GIMT_Encode2(GIFBS_HasBITALG), // Rule ID 14510 //
71670 /* 203798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71671 /* 203802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71672 /* 203806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71673 /* 203809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71674 /* 203813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71675 /* 203817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71676 /* 203819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71677 /* 203826 */ // (ctpop:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
71678 /* 203826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrm),
71679 /* 203829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71680 /* 203831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71681 /* 203835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71682 /* 203840 */ GIR_RootConstrainSelectedInstOperands,
71683 /* 203841 */ // GIR_Coverage, 14510,
71684 /* 203841 */ GIR_EraseRootFromParent_Done,
71685 /* 203842 */ // Label 5950: @203842
71686 /* 203842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5951*/ GIMT_Encode4(203860), GIMT_Encode2(GIFBS_HasBITALG), // Rule ID 14507 //
71687 /* 203849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71688 /* 203853 */ // (ctpop:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPOPCNTWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
71689 /* 203853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
71690 /* 203858 */ GIR_RootConstrainSelectedInstOperands,
71691 /* 203859 */ // GIR_Coverage, 14507,
71692 /* 203859 */ GIR_Done,
71693 /* 203860 */ // Label 5951: @203860
71694 /* 203860 */ GIM_Reject,
71695 /* 203861 */ // Label 5949: @203861
71696 /* 203861 */ GIM_Reject,
71697 /* 203862 */ // Label 5910: @203862
71698 /* 203862 */ GIM_Try, /*On fail goto*//*Label 5952*/ GIMT_Encode4(204056),
71699 /* 203867 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
71700 /* 203870 */ GIM_Try, /*On fail goto*//*Label 5953*/ GIMT_Encode4(203949),
71701 /* 203875 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71702 /* 203879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5954*/ GIMT_Encode4(203930), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13493 //
71703 /* 203886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71704 /* 203890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71705 /* 203894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71706 /* 203897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71707 /* 203901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71708 /* 203905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71709 /* 203907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71710 /* 203914 */ // (ctpop:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
71711 /* 203914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rm),
71712 /* 203917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71713 /* 203919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71714 /* 203923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71715 /* 203928 */ GIR_RootConstrainSelectedInstOperands,
71716 /* 203929 */ // GIR_Coverage, 13493,
71717 /* 203929 */ GIR_EraseRootFromParent_Done,
71718 /* 203930 */ // Label 5954: @203930
71719 /* 203930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5955*/ GIMT_Encode4(203948), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13490 //
71720 /* 203937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71721 /* 203941 */ // (ctpop:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPOPCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
71722 /* 203941 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rr),
71723 /* 203946 */ GIR_RootConstrainSelectedInstOperands,
71724 /* 203947 */ // GIR_Coverage, 13490,
71725 /* 203947 */ GIR_Done,
71726 /* 203948 */ // Label 5955: @203948
71727 /* 203948 */ GIM_Reject,
71728 /* 203949 */ // Label 5953: @203949
71729 /* 203949 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5956*/ GIMT_Encode4(204055), GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX), // Rule ID 21984 //
71730 /* 203956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71731 /* 203960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71732 /* 203964 */ // (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] })
71733 /* 203964 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
71734 /* 203967 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71735 /* 203971 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71736 /* 203976 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71737 /* 203978 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
71738 /* 203981 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71739 /* 203985 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71740 /* 203990 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71741 /* 203993 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71742 /* 203997 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71743 /* 204000 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71744 /* 204005 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71745 /* 204010 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71746 /* 204015 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71747 /* 204018 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
71748 /* 204022 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71749 /* 204027 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71750 /* 204030 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71751 /* 204032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71752 /* 204035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71753 /* 204037 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71754 /* 204044 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71755 /* 204049 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71756 /* 204054 */ // GIR_Coverage, 21984,
71757 /* 204054 */ GIR_EraseRootFromParent_Done,
71758 /* 204055 */ // Label 5956: @204055
71759 /* 204055 */ GIM_Reject,
71760 /* 204056 */ // Label 5952: @204056
71761 /* 204056 */ GIM_Reject,
71762 /* 204057 */ // Label 5911: @204057
71763 /* 204057 */ GIM_Try, /*On fail goto*//*Label 5957*/ GIMT_Encode4(204243),
71764 /* 204062 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
71765 /* 204065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71766 /* 204069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5958*/ GIMT_Encode4(204120), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13484 //
71767 /* 204076 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71768 /* 204080 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71769 /* 204084 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71770 /* 204087 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71771 /* 204091 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71772 /* 204095 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71773 /* 204097 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71774 /* 204104 */ // (ctpop:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
71775 /* 204104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rm),
71776 /* 204107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71777 /* 204109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71778 /* 204113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71779 /* 204118 */ GIR_RootConstrainSelectedInstOperands,
71780 /* 204119 */ // GIR_Coverage, 13484,
71781 /* 204119 */ GIR_EraseRootFromParent_Done,
71782 /* 204120 */ // Label 5958: @204120
71783 /* 204120 */ GIM_Try, /*On fail goto*//*Label 5959*/ GIMT_Encode4(204242),
71784 /* 204125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71785 /* 204129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5960*/ GIMT_Encode4(204143), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13481 //
71786 /* 204136 */ // (ctpop:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPOPCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
71787 /* 204136 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rr),
71788 /* 204141 */ GIR_RootConstrainSelectedInstOperands,
71789 /* 204142 */ // GIR_Coverage, 13481,
71790 /* 204142 */ GIR_Done,
71791 /* 204143 */ // Label 5960: @204143
71792 /* 204143 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5961*/ GIMT_Encode4(204241), GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX), // Rule ID 21983 //
71793 /* 204150 */ // (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] })
71794 /* 204150 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
71795 /* 204153 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71796 /* 204157 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71797 /* 204162 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71798 /* 204164 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
71799 /* 204167 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71800 /* 204171 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71801 /* 204176 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71802 /* 204179 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71803 /* 204183 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71804 /* 204186 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71805 /* 204191 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71806 /* 204196 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71807 /* 204201 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71808 /* 204204 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
71809 /* 204208 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71810 /* 204213 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71811 /* 204216 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71812 /* 204218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71813 /* 204221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71814 /* 204223 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71815 /* 204230 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71816 /* 204235 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71817 /* 204240 */ // GIR_Coverage, 21983,
71818 /* 204240 */ GIR_EraseRootFromParent_Done,
71819 /* 204241 */ // Label 5961: @204241
71820 /* 204241 */ GIM_Reject,
71821 /* 204242 */ // Label 5959: @204242
71822 /* 204242 */ GIM_Reject,
71823 /* 204243 */ // Label 5957: @204243
71824 /* 204243 */ GIM_Reject,
71825 /* 204244 */ // Label 5912: @204244
71826 /* 204244 */ GIM_Try, /*On fail goto*//*Label 5962*/ GIMT_Encode4(204326),
71827 /* 204249 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71828 /* 204252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71829 /* 204256 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5963*/ GIMT_Encode4(204307), GIMT_Encode2(GIFBS_HasVPOPCNTDQ), // Rule ID 13475 //
71830 /* 204263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71831 /* 204267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71832 /* 204271 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71833 /* 204274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71834 /* 204278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71835 /* 204282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71836 /* 204284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71837 /* 204291 */ // (ctpop:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
71838 /* 204291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrm),
71839 /* 204294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71840 /* 204296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71841 /* 204300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71842 /* 204305 */ GIR_RootConstrainSelectedInstOperands,
71843 /* 204306 */ // GIR_Coverage, 13475,
71844 /* 204306 */ GIR_EraseRootFromParent_Done,
71845 /* 204307 */ // Label 5963: @204307
71846 /* 204307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5964*/ GIMT_Encode4(204325), GIMT_Encode2(GIFBS_HasVPOPCNTDQ), // Rule ID 13472 //
71847 /* 204314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71848 /* 204318 */ // (ctpop:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPOPCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
71849 /* 204318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
71850 /* 204323 */ GIR_RootConstrainSelectedInstOperands,
71851 /* 204324 */ // GIR_Coverage, 13472,
71852 /* 204324 */ GIR_Done,
71853 /* 204325 */ // Label 5964: @204325
71854 /* 204325 */ GIM_Reject,
71855 /* 204326 */ // Label 5962: @204326
71856 /* 204326 */ GIM_Reject,
71857 /* 204327 */ // Label 5913: @204327
71858 /* 204327 */ GIM_Try, /*On fail goto*//*Label 5965*/ GIMT_Encode4(204521),
71859 /* 204332 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
71860 /* 204335 */ GIM_Try, /*On fail goto*//*Label 5966*/ GIMT_Encode4(204414),
71861 /* 204340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71862 /* 204344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5967*/ GIMT_Encode4(204395), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13466 //
71863 /* 204351 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71864 /* 204355 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71865 /* 204359 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71866 /* 204362 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71867 /* 204366 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71868 /* 204370 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71869 /* 204372 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71870 /* 204379 */ // (ctpop:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
71871 /* 204379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rm),
71872 /* 204382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71873 /* 204384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71874 /* 204388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71875 /* 204393 */ GIR_RootConstrainSelectedInstOperands,
71876 /* 204394 */ // GIR_Coverage, 13466,
71877 /* 204394 */ GIR_EraseRootFromParent_Done,
71878 /* 204395 */ // Label 5967: @204395
71879 /* 204395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5968*/ GIMT_Encode4(204413), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13463 //
71880 /* 204402 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71881 /* 204406 */ // (ctpop:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPOPCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
71882 /* 204406 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rr),
71883 /* 204411 */ GIR_RootConstrainSelectedInstOperands,
71884 /* 204412 */ // GIR_Coverage, 13463,
71885 /* 204412 */ GIR_Done,
71886 /* 204413 */ // Label 5968: @204413
71887 /* 204413 */ GIM_Reject,
71888 /* 204414 */ // Label 5966: @204414
71889 /* 204414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5969*/ GIMT_Encode4(204520), GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX), // Rule ID 21982 //
71890 /* 204421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71891 /* 204425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71892 /* 204429 */ // (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] })
71893 /* 204429 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
71894 /* 204432 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71895 /* 204436 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71896 /* 204441 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71897 /* 204443 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
71898 /* 204446 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71899 /* 204450 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71900 /* 204455 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71901 /* 204458 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71902 /* 204462 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71903 /* 204465 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71904 /* 204470 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71905 /* 204475 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71906 /* 204480 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71907 /* 204483 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
71908 /* 204487 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71909 /* 204492 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71910 /* 204495 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71911 /* 204497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71912 /* 204500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71913 /* 204502 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71914 /* 204509 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71915 /* 204514 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71916 /* 204519 */ // GIR_Coverage, 21982,
71917 /* 204519 */ GIR_EraseRootFromParent_Done,
71918 /* 204520 */ // Label 5969: @204520
71919 /* 204520 */ GIM_Reject,
71920 /* 204521 */ // Label 5965: @204521
71921 /* 204521 */ GIM_Reject,
71922 /* 204522 */ // Label 5914: @204522
71923 /* 204522 */ GIM_Try, /*On fail goto*//*Label 5970*/ GIMT_Encode4(204708),
71924 /* 204527 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
71925 /* 204530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71926 /* 204534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5971*/ GIMT_Encode4(204585), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13457 //
71927 /* 204541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71928 /* 204545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71929 /* 204549 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71930 /* 204552 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71931 /* 204556 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71932 /* 204560 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71933 /* 204562 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71934 /* 204569 */ // (ctpop:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
71935 /* 204569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rm),
71936 /* 204572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71937 /* 204574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71938 /* 204578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71939 /* 204583 */ GIR_RootConstrainSelectedInstOperands,
71940 /* 204584 */ // GIR_Coverage, 13457,
71941 /* 204584 */ GIR_EraseRootFromParent_Done,
71942 /* 204585 */ // Label 5971: @204585
71943 /* 204585 */ GIM_Try, /*On fail goto*//*Label 5972*/ GIMT_Encode4(204707),
71944 /* 204590 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71945 /* 204594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5973*/ GIMT_Encode4(204608), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13454 //
71946 /* 204601 */ // (ctpop:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPOPCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
71947 /* 204601 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rr),
71948 /* 204606 */ GIR_RootConstrainSelectedInstOperands,
71949 /* 204607 */ // GIR_Coverage, 13454,
71950 /* 204607 */ GIR_Done,
71951 /* 204608 */ // Label 5973: @204608
71952 /* 204608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5974*/ GIMT_Encode4(204706), GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX), // Rule ID 21981 //
71953 /* 204615 */ // (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] })
71954 /* 204615 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
71955 /* 204618 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71956 /* 204622 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71957 /* 204627 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71958 /* 204629 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
71959 /* 204632 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71960 /* 204636 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71961 /* 204641 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71962 /* 204644 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71963 /* 204648 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71964 /* 204651 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71965 /* 204656 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71966 /* 204661 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71967 /* 204666 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71968 /* 204669 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
71969 /* 204673 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71970 /* 204678 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71971 /* 204681 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71972 /* 204683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71973 /* 204686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71974 /* 204688 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71975 /* 204695 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71976 /* 204700 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71977 /* 204705 */ // GIR_Coverage, 21981,
71978 /* 204705 */ GIR_EraseRootFromParent_Done,
71979 /* 204706 */ // Label 5974: @204706
71980 /* 204706 */ GIM_Reject,
71981 /* 204707 */ // Label 5972: @204707
71982 /* 204707 */ GIM_Reject,
71983 /* 204708 */ // Label 5970: @204708
71984 /* 204708 */ GIM_Reject,
71985 /* 204709 */ // Label 5915: @204709
71986 /* 204709 */ GIM_Try, /*On fail goto*//*Label 5975*/ GIMT_Encode4(204791),
71987 /* 204714 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71988 /* 204717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71989 /* 204721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5976*/ GIMT_Encode4(204772), GIMT_Encode2(GIFBS_HasVPOPCNTDQ), // Rule ID 13448 //
71990 /* 204728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71991 /* 204732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71992 /* 204736 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71993 /* 204739 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71994 /* 204743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71995 /* 204747 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71996 /* 204749 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71997 /* 204756 */ // (ctpop:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
71998 /* 204756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrm),
71999 /* 204759 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72000 /* 204761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72001 /* 204765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72002 /* 204770 */ GIR_RootConstrainSelectedInstOperands,
72003 /* 204771 */ // GIR_Coverage, 13448,
72004 /* 204771 */ GIR_EraseRootFromParent_Done,
72005 /* 204772 */ // Label 5976: @204772
72006 /* 204772 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5977*/ GIMT_Encode4(204790), GIMT_Encode2(GIFBS_HasVPOPCNTDQ), // Rule ID 13445 //
72007 /* 204779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72008 /* 204783 */ // (ctpop:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPOPCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
72009 /* 204783 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
72010 /* 204788 */ GIR_RootConstrainSelectedInstOperands,
72011 /* 204789 */ // GIR_Coverage, 13445,
72012 /* 204789 */ GIR_Done,
72013 /* 204790 */ // Label 5977: @204790
72014 /* 204790 */ GIM_Reject,
72015 /* 204791 */ // Label 5975: @204791
72016 /* 204791 */ GIM_Reject,
72017 /* 204792 */ // Label 5916: @204792
72018 /* 204792 */ GIM_Reject,
72019 /* 204793 */ // Label 71: @204793
72020 /* 204793 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 5981*/ GIMT_Encode4(205286),
72021 /* 204804 */ /*GILLT_s16*//*Label 5978*/ GIMT_Encode4(204816),
72022 /* 204808 */ /*GILLT_s32*//*Label 5979*/ GIMT_Encode4(204978),
72023 /* 204812 */ /*GILLT_s64*//*Label 5980*/ GIMT_Encode4(205132),
72024 /* 204816 */ // Label 5978: @204816
72025 /* 204816 */ GIM_Try, /*On fail goto*//*Label 5982*/ GIMT_Encode4(204977),
72026 /* 204821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72027 /* 204824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72028 /* 204828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5983*/ GIMT_Encode4(204879), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 49 //
72029 /* 204835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72030 /* 204839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72031 /* 204843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72032 /* 204846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72033 /* 204850 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72034 /* 204854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72035 /* 204856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72036 /* 204863 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
72037 /* 204863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm),
72038 /* 204866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72039 /* 204868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72040 /* 204872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72041 /* 204877 */ GIR_RootConstrainSelectedInstOperands,
72042 /* 204878 */ // GIR_Coverage, 49,
72043 /* 204878 */ GIR_EraseRootFromParent_Done,
72044 /* 204879 */ // Label 5983: @204879
72045 /* 204879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5984*/ GIMT_Encode4(204930), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 55 //
72046 /* 204886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72047 /* 204890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72048 /* 204894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72049 /* 204897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72050 /* 204901 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72051 /* 204905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72052 /* 204907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72053 /* 204914 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
72054 /* 204914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm_EVEX),
72055 /* 204917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72056 /* 204919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72057 /* 204923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72058 /* 204928 */ GIR_RootConstrainSelectedInstOperands,
72059 /* 204929 */ // GIR_Coverage, 55,
72060 /* 204929 */ GIR_EraseRootFromParent_Done,
72061 /* 204930 */ // Label 5984: @204930
72062 /* 204930 */ GIM_Try, /*On fail goto*//*Label 5985*/ GIMT_Encode4(204976),
72063 /* 204935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72064 /* 204939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5986*/ GIMT_Encode4(204953), GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode), // Rule ID 61 //
72065 /* 204946 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (MOVBE16rr:{ *:[i16] } GR16:{ *:[i16] }:$src1)
72066 /* 204946 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE16rr),
72067 /* 204951 */ GIR_RootConstrainSelectedInstOperands,
72068 /* 204952 */ // GIR_Coverage, 61,
72069 /* 204952 */ GIR_Done,
72070 /* 204953 */ // Label 5986: @204953
72071 /* 204953 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5987*/ GIMT_Encode4(204975), GIMT_Encode2(GIFBS_HasMOVBE), // Rule ID 23241 //
72072 /* 204960 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src, 8:{ *:[i8] })
72073 /* 204960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
72074 /* 204963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72075 /* 204965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72076 /* 204967 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/8,
72077 /* 204970 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72078 /* 204973 */ GIR_RootConstrainSelectedInstOperands,
72079 /* 204974 */ // GIR_Coverage, 23241,
72080 /* 204974 */ GIR_EraseRootFromParent_Done,
72081 /* 204975 */ // Label 5987: @204975
72082 /* 204975 */ GIM_Reject,
72083 /* 204976 */ // Label 5985: @204976
72084 /* 204976 */ GIM_Reject,
72085 /* 204977 */ // Label 5982: @204977
72086 /* 204977 */ GIM_Reject,
72087 /* 204978 */ // Label 5979: @204978
72088 /* 204978 */ GIM_Try, /*On fail goto*//*Label 5988*/ GIMT_Encode4(205131),
72089 /* 204983 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72090 /* 204986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72091 /* 204990 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5989*/ GIMT_Encode4(205041), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 51 //
72092 /* 204997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72093 /* 205001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72094 /* 205005 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72095 /* 205008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72096 /* 205012 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72097 /* 205016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72098 /* 205018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72099 /* 205025 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72100 /* 205025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm),
72101 /* 205028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72102 /* 205030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72103 /* 205034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72104 /* 205039 */ GIR_RootConstrainSelectedInstOperands,
72105 /* 205040 */ // GIR_Coverage, 51,
72106 /* 205040 */ GIR_EraseRootFromParent_Done,
72107 /* 205041 */ // Label 5989: @205041
72108 /* 205041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5990*/ GIMT_Encode4(205092), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 57 //
72109 /* 205048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72110 /* 205052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72111 /* 205056 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72112 /* 205059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72113 /* 205063 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72114 /* 205067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72115 /* 205069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72116 /* 205076 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72117 /* 205076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm_EVEX),
72118 /* 205079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72119 /* 205081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72120 /* 205085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72121 /* 205090 */ GIR_RootConstrainSelectedInstOperands,
72122 /* 205091 */ // GIR_Coverage, 57,
72123 /* 205091 */ GIR_EraseRootFromParent_Done,
72124 /* 205092 */ // Label 5990: @205092
72125 /* 205092 */ GIM_Try, /*On fail goto*//*Label 5991*/ GIMT_Encode4(205130),
72126 /* 205097 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72127 /* 205101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5992*/ GIMT_Encode4(205115), GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE), // Rule ID 5 //
72128 /* 205108 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSWAP32r:{ *:[i32] } GR32:{ *:[i32] }:$src)
72129 /* 205108 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP32r),
72130 /* 205113 */ GIR_RootConstrainSelectedInstOperands,
72131 /* 205114 */ // GIR_Coverage, 5,
72132 /* 205114 */ GIR_Done,
72133 /* 205115 */ // Label 5992: @205115
72134 /* 205115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5993*/ GIMT_Encode4(205129), GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode), // Rule ID 62 //
72135 /* 205122 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (MOVBE32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1)
72136 /* 205122 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE32rr),
72137 /* 205127 */ GIR_RootConstrainSelectedInstOperands,
72138 /* 205128 */ // GIR_Coverage, 62,
72139 /* 205128 */ GIR_Done,
72140 /* 205129 */ // Label 5993: @205129
72141 /* 205129 */ GIM_Reject,
72142 /* 205130 */ // Label 5991: @205130
72143 /* 205130 */ GIM_Reject,
72144 /* 205131 */ // Label 5988: @205131
72145 /* 205131 */ GIM_Reject,
72146 /* 205132 */ // Label 5980: @205132
72147 /* 205132 */ GIM_Try, /*On fail goto*//*Label 5994*/ GIMT_Encode4(205285),
72148 /* 205137 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72149 /* 205140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72150 /* 205144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5995*/ GIMT_Encode4(205195), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 53 //
72151 /* 205151 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72152 /* 205155 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72153 /* 205159 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72154 /* 205162 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72155 /* 205166 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72156 /* 205170 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72157 /* 205172 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72158 /* 205179 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
72159 /* 205179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm),
72160 /* 205182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72161 /* 205184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72162 /* 205188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72163 /* 205193 */ GIR_RootConstrainSelectedInstOperands,
72164 /* 205194 */ // GIR_Coverage, 53,
72165 /* 205194 */ GIR_EraseRootFromParent_Done,
72166 /* 205195 */ // Label 5995: @205195
72167 /* 205195 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5996*/ GIMT_Encode4(205246), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 59 //
72168 /* 205202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72169 /* 205206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72170 /* 205210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72171 /* 205213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72172 /* 205217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72173 /* 205221 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72174 /* 205223 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72175 /* 205230 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
72176 /* 205230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm_EVEX),
72177 /* 205233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72178 /* 205235 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72179 /* 205239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72180 /* 205244 */ GIR_RootConstrainSelectedInstOperands,
72181 /* 205245 */ // GIR_Coverage, 59,
72182 /* 205245 */ GIR_EraseRootFromParent_Done,
72183 /* 205246 */ // Label 5996: @205246
72184 /* 205246 */ GIM_Try, /*On fail goto*//*Label 5997*/ GIMT_Encode4(205284),
72185 /* 205251 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72186 /* 205255 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5998*/ GIMT_Encode4(205269), GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE), // Rule ID 6 //
72187 /* 205262 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSWAP64r:{ *:[i64] } GR64:{ *:[i64] }:$src)
72188 /* 205262 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP64r),
72189 /* 205267 */ GIR_RootConstrainSelectedInstOperands,
72190 /* 205268 */ // GIR_Coverage, 6,
72191 /* 205268 */ GIR_Done,
72192 /* 205269 */ // Label 5998: @205269
72193 /* 205269 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5999*/ GIMT_Encode4(205283), GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode), // Rule ID 63 //
72194 /* 205276 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (MOVBE64rr:{ *:[i64] } GR64:{ *:[i64] }:$src1)
72195 /* 205276 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE64rr),
72196 /* 205281 */ GIR_RootConstrainSelectedInstOperands,
72197 /* 205282 */ // GIR_Coverage, 63,
72198 /* 205282 */ GIR_Done,
72199 /* 205283 */ // Label 5999: @205283
72200 /* 205283 */ GIM_Reject,
72201 /* 205284 */ // Label 5997: @205284
72202 /* 205284 */ GIM_Reject,
72203 /* 205285 */ // Label 5994: @205285
72204 /* 205285 */ GIM_Reject,
72205 /* 205286 */ // Label 5981: @205286
72206 /* 205286 */ GIM_Reject,
72207 /* 205287 */ // Label 72: @205287
72208 /* 205287 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(16), /*)*//*default:*//*Label 6003*/ GIMT_Encode4(205775),
72209 /* 205298 */ /*GILLT_v16s8*//*Label 6000*/ GIMT_Encode4(205310),
72210 /* 205302 */ /*GILLT_v32s8*//*Label 6001*/ GIMT_Encode4(205505),
72211 /* 205306 */ /*GILLT_v64s8*//*Label 6002*/ GIMT_Encode4(205692),
72212 /* 205310 */ // Label 6000: @205310
72213 /* 205310 */ GIM_Try, /*On fail goto*//*Label 6004*/ GIMT_Encode4(205504),
72214 /* 205315 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
72215 /* 205318 */ GIM_Try, /*On fail goto*//*Label 6005*/ GIMT_Encode4(205397),
72216 /* 205323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72217 /* 205327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6006*/ GIMT_Encode4(205378), GIMT_Encode2(GIFBS_HasBMM_HasVLX), // Rule ID 15414 //
72218 /* 205334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72219 /* 205338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72220 /* 205342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72221 /* 205345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72222 /* 205349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72223 /* 205353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72224 /* 205355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72225 /* 205362 */ // (bitreverse:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPBITREVBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
72226 /* 205362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZ128rm),
72227 /* 205365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72228 /* 205367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72229 /* 205371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72230 /* 205376 */ GIR_RootConstrainSelectedInstOperands,
72231 /* 205377 */ // GIR_Coverage, 15414,
72232 /* 205377 */ GIR_EraseRootFromParent_Done,
72233 /* 205378 */ // Label 6006: @205378
72234 /* 205378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6007*/ GIMT_Encode4(205396), GIMT_Encode2(GIFBS_HasBMM_HasVLX), // Rule ID 15411 //
72235 /* 205385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72236 /* 205389 */ // (bitreverse:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPBITREVBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
72237 /* 205389 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZ128rr),
72238 /* 205394 */ GIR_RootConstrainSelectedInstOperands,
72239 /* 205395 */ // GIR_Coverage, 15411,
72240 /* 205395 */ GIR_Done,
72241 /* 205396 */ // Label 6007: @205396
72242 /* 205396 */ GIM_Reject,
72243 /* 205397 */ // Label 6005: @205397
72244 /* 205397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6008*/ GIMT_Encode4(205503), GIMT_Encode2(GIFBS_HasBMM_NoVLX), // Rule ID 22459 //
72245 /* 205404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72246 /* 205408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72247 /* 205412 */ // (bitreverse:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (EXTRACT_SUBREG:{ *:[v16i8] } (VPBITREVBZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR128X:{ *:[v16i8] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
72248 /* 205412 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
72249 /* 205415 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72250 /* 205419 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72251 /* 205424 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72252 /* 205426 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
72253 /* 205429 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72254 /* 205433 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72255 /* 205438 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72256 /* 205441 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72257 /* 205445 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72258 /* 205448 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72259 /* 205453 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72260 /* 205458 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72261 /* 205463 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72262 /* 205466 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZrr),
72263 /* 205470 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72264 /* 205475 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72265 /* 205478 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72266 /* 205480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72267 /* 205483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72268 /* 205485 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72269 /* 205492 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72270 /* 205497 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72271 /* 205502 */ // GIR_Coverage, 22459,
72272 /* 205502 */ GIR_EraseRootFromParent_Done,
72273 /* 205503 */ // Label 6008: @205503
72274 /* 205503 */ GIM_Reject,
72275 /* 205504 */ // Label 6004: @205504
72276 /* 205504 */ GIM_Reject,
72277 /* 205505 */ // Label 6001: @205505
72278 /* 205505 */ GIM_Try, /*On fail goto*//*Label 6009*/ GIMT_Encode4(205691),
72279 /* 205510 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
72280 /* 205513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72281 /* 205517 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6010*/ GIMT_Encode4(205568), GIMT_Encode2(GIFBS_HasBMM_HasVLX), // Rule ID 15408 //
72282 /* 205524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72283 /* 205528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72284 /* 205532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72285 /* 205535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72286 /* 205539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72287 /* 205543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72288 /* 205545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72289 /* 205552 */ // (bitreverse:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPBITREVBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
72290 /* 205552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZ256rm),
72291 /* 205555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72292 /* 205557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72293 /* 205561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72294 /* 205566 */ GIR_RootConstrainSelectedInstOperands,
72295 /* 205567 */ // GIR_Coverage, 15408,
72296 /* 205567 */ GIR_EraseRootFromParent_Done,
72297 /* 205568 */ // Label 6010: @205568
72298 /* 205568 */ GIM_Try, /*On fail goto*//*Label 6011*/ GIMT_Encode4(205690),
72299 /* 205573 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72300 /* 205577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6012*/ GIMT_Encode4(205591), GIMT_Encode2(GIFBS_HasBMM_HasVLX), // Rule ID 15405 //
72301 /* 205584 */ // (bitreverse:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPBITREVBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
72302 /* 205584 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZ256rr),
72303 /* 205589 */ GIR_RootConstrainSelectedInstOperands,
72304 /* 205590 */ // GIR_Coverage, 15405,
72305 /* 205590 */ GIR_Done,
72306 /* 205591 */ // Label 6012: @205591
72307 /* 205591 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6013*/ GIMT_Encode4(205689), GIMT_Encode2(GIFBS_HasBMM_NoVLX), // Rule ID 22458 //
72308 /* 205598 */ // (bitreverse:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (EXTRACT_SUBREG:{ *:[v32i8] } (VPBITREVBZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR256X:{ *:[v32i8] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
72309 /* 205598 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
72310 /* 205601 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72311 /* 205605 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72312 /* 205610 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72313 /* 205612 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
72314 /* 205615 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72315 /* 205619 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72316 /* 205624 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72317 /* 205627 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72318 /* 205631 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72319 /* 205634 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72320 /* 205639 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72321 /* 205644 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72322 /* 205649 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72323 /* 205652 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZrr),
72324 /* 205656 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72325 /* 205661 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72326 /* 205664 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72327 /* 205666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72328 /* 205669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72329 /* 205671 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72330 /* 205678 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72331 /* 205683 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72332 /* 205688 */ // GIR_Coverage, 22458,
72333 /* 205688 */ GIR_EraseRootFromParent_Done,
72334 /* 205689 */ // Label 6013: @205689
72335 /* 205689 */ GIM_Reject,
72336 /* 205690 */ // Label 6011: @205690
72337 /* 205690 */ GIM_Reject,
72338 /* 205691 */ // Label 6009: @205691
72339 /* 205691 */ GIM_Reject,
72340 /* 205692 */ // Label 6002: @205692
72341 /* 205692 */ GIM_Try, /*On fail goto*//*Label 6014*/ GIMT_Encode4(205774),
72342 /* 205697 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
72343 /* 205700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72344 /* 205704 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6015*/ GIMT_Encode4(205755), GIMT_Encode2(GIFBS_HasBMM), // Rule ID 15402 //
72345 /* 205711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72346 /* 205715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72347 /* 205719 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72348 /* 205722 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72349 /* 205726 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72350 /* 205730 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72351 /* 205732 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72352 /* 205739 */ // (bitreverse:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPBITREVBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
72353 /* 205739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZrm),
72354 /* 205742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72355 /* 205744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72356 /* 205748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72357 /* 205753 */ GIR_RootConstrainSelectedInstOperands,
72358 /* 205754 */ // GIR_Coverage, 15402,
72359 /* 205754 */ GIR_EraseRootFromParent_Done,
72360 /* 205755 */ // Label 6015: @205755
72361 /* 205755 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6016*/ GIMT_Encode4(205773), GIMT_Encode2(GIFBS_HasBMM), // Rule ID 15399 //
72362 /* 205762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72363 /* 205766 */ // (bitreverse:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPBITREVBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
72364 /* 205766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZrr),
72365 /* 205771 */ GIR_RootConstrainSelectedInstOperands,
72366 /* 205772 */ // GIR_Coverage, 15399,
72367 /* 205772 */ GIR_Done,
72368 /* 205773 */ // Label 6016: @205773
72369 /* 205773 */ GIM_Reject,
72370 /* 205774 */ // Label 6014: @205774
72371 /* 205774 */ GIM_Reject,
72372 /* 205775 */ // Label 6003: @205775
72373 /* 205775 */ GIM_Reject,
72374 /* 205776 */ // Label 73: @205776
72375 /* 205776 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6030*/ GIMT_Encode4(207903),
72376 /* 205787 */ /*GILLT_s16*//*Label 6017*/ GIMT_Encode4(205879),
72377 /* 205791 */ /*GILLT_s32*//*Label 6018*/ GIMT_Encode4(205998),
72378 /* 205795 */ /*GILLT_s64*//*Label 6019*/ GIMT_Encode4(206347),
72379 /* 205799 */ /*GILLT_s80*//*Label 6020*/ GIMT_Encode4(206696), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
72380 /* 205843 */ /*GILLT_v8s16*//*Label 6021*/ GIMT_Encode4(206732),
72381 /* 205847 */ /*GILLT_v16s16*//*Label 6022*/ GIMT_Encode4(206819),
72382 /* 205851 */ /*GILLT_v32s16*//*Label 6023*/ GIMT_Encode4(206906),
72383 /* 205855 */ /*GILLT_v4s32*//*Label 6024*/ GIMT_Encode4(206993),
72384 /* 205859 */ /*GILLT_v8s32*//*Label 6025*/ GIMT_Encode4(207189),
72385 /* 205863 */ /*GILLT_v16s32*//*Label 6026*/ GIMT_Encode4(207361),
72386 /* 205867 */ /*GILLT_v2s64*//*Label 6027*/ GIMT_Encode4(207448),
72387 /* 205871 */ /*GILLT_v4s64*//*Label 6028*/ GIMT_Encode4(207644),
72388 /* 205875 */ /*GILLT_v8s64*//*Label 6029*/ GIMT_Encode4(207816),
72389 /* 205879 */ // Label 6017: @205879
72390 /* 205879 */ GIM_Try, /*On fail goto*//*Label 6031*/ GIMT_Encode4(205997),
72391 /* 205884 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72392 /* 205887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72393 /* 205891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6032*/ GIMT_Encode4(205959), GIMT_Encode2(GIFBS_HasFP16_OptForSize), // Rule ID 21573 //
72394 /* 205898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72395 /* 205902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72396 /* 205906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72397 /* 205909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72398 /* 205913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72399 /* 205917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72400 /* 205919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72401 /* 205926 */ // (fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
72402 /* 205926 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
72403 /* 205929 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72404 /* 205933 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72405 /* 205938 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72406 /* 205940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
72407 /* 205943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72408 /* 205945 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72409 /* 205948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72410 /* 205952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72411 /* 205957 */ GIR_RootConstrainSelectedInstOperands,
72412 /* 205958 */ // GIR_Coverage, 21573,
72413 /* 205958 */ GIR_EraseRootFromParent_Done,
72414 /* 205959 */ // Label 6032: @205959
72415 /* 205959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6033*/ GIMT_Encode4(205996), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21571 //
72416 /* 205966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72417 /* 205970 */ // (fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
72418 /* 205970 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
72419 /* 205973 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72420 /* 205977 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72421 /* 205982 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72422 /* 205984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
72423 /* 205987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72424 /* 205989 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72425 /* 205992 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72426 /* 205994 */ GIR_RootConstrainSelectedInstOperands,
72427 /* 205995 */ // GIR_Coverage, 21571,
72428 /* 205995 */ GIR_EraseRootFromParent_Done,
72429 /* 205996 */ // Label 6033: @205996
72430 /* 205996 */ GIM_Reject,
72431 /* 205997 */ // Label 6031: @205997
72432 /* 205997 */ GIM_Reject,
72433 /* 205998 */ // Label 6018: @205998
72434 /* 205998 */ GIM_Try, /*On fail goto*//*Label 6034*/ GIMT_Encode4(206346),
72435 /* 206003 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72436 /* 206006 */ GIM_Try, /*On fail goto*//*Label 6035*/ GIMT_Encode4(206135),
72437 /* 206011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
72438 /* 206015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6036*/ GIMT_Encode4(206066), GIMT_Encode2(GIFBS_OptForSize_UseSSE1), // Rule ID 2430 //
72439 /* 206022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72440 /* 206026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72441 /* 206030 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72442 /* 206033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72443 /* 206037 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72444 /* 206041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72445 /* 206043 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72446 /* 206050 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
72447 /* 206050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
72448 /* 206053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72449 /* 206055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72450 /* 206059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72451 /* 206064 */ GIR_RootConstrainSelectedInstOperands,
72452 /* 206065 */ // GIR_Coverage, 2430,
72453 /* 206065 */ GIR_EraseRootFromParent_Done,
72454 /* 206066 */ // Label 6036: @206066
72455 /* 206066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6037*/ GIMT_Encode4(206134), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18370 //
72456 /* 206073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72457 /* 206077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72458 /* 206081 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72459 /* 206084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72460 /* 206088 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72461 /* 206092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72462 /* 206094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72463 /* 206101 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
72464 /* 206101 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72465 /* 206104 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72466 /* 206108 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72467 /* 206113 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72468 /* 206115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
72469 /* 206118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72470 /* 206120 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72471 /* 206123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72472 /* 206127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72473 /* 206132 */ GIR_RootConstrainSelectedInstOperands,
72474 /* 206133 */ // GIR_Coverage, 18370,
72475 /* 206133 */ GIR_EraseRootFromParent_Done,
72476 /* 206134 */ // Label 6037: @206134
72477 /* 206134 */ GIM_Reject,
72478 /* 206135 */ // Label 6035: @206135
72479 /* 206135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6038*/ GIMT_Encode4(206207), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21577 //
72480 /* 206142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
72481 /* 206146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72482 /* 206150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72483 /* 206154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72484 /* 206157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72485 /* 206161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72486 /* 206165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72487 /* 206167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72488 /* 206174 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
72489 /* 206174 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72490 /* 206177 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72491 /* 206181 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72492 /* 206186 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72493 /* 206188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
72494 /* 206191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72495 /* 206193 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72496 /* 206196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72497 /* 206200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72498 /* 206205 */ GIR_RootConstrainSelectedInstOperands,
72499 /* 206206 */ // GIR_Coverage, 21577,
72500 /* 206206 */ GIR_EraseRootFromParent_Done,
72501 /* 206207 */ // Label 6038: @206207
72502 /* 206207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6039*/ GIMT_Encode4(206239), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1025 //
72503 /* 206214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
72504 /* 206218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
72505 /* 206222 */ // (fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
72506 /* 206222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
72507 /* 206227 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72508 /* 206233 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
72509 /* 206237 */ GIR_RootConstrainSelectedInstOperands,
72510 /* 206238 */ // GIR_Coverage, 1025,
72511 /* 206238 */ GIR_Done,
72512 /* 206239 */ // Label 6039: @206239
72513 /* 206239 */ GIM_Try, /*On fail goto*//*Label 6040*/ GIMT_Encode4(206304),
72514 /* 206244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
72515 /* 206248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
72516 /* 206252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6041*/ GIMT_Encode4(206270), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2428 //
72517 /* 206259 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
72518 /* 206259 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
72519 /* 206264 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72520 /* 206268 */ GIR_RootConstrainSelectedInstOperands,
72521 /* 206269 */ // GIR_Coverage, 2428,
72522 /* 206269 */ GIR_Done,
72523 /* 206270 */ // Label 6041: @206270
72524 /* 206270 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6042*/ GIMT_Encode4(206303), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18368 //
72525 /* 206277 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
72526 /* 206277 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72527 /* 206280 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72528 /* 206284 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72529 /* 206289 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72530 /* 206291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
72531 /* 206294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72532 /* 206296 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72533 /* 206299 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72534 /* 206301 */ GIR_RootConstrainSelectedInstOperands,
72535 /* 206302 */ // GIR_Coverage, 18368,
72536 /* 206302 */ GIR_EraseRootFromParent_Done,
72537 /* 206303 */ // Label 6042: @206303
72538 /* 206303 */ GIM_Reject,
72539 /* 206304 */ // Label 6040: @206304
72540 /* 206304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6043*/ GIMT_Encode4(206345), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21575 //
72541 /* 206311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
72542 /* 206315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
72543 /* 206319 */ // (fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
72544 /* 206319 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72545 /* 206322 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72546 /* 206326 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72547 /* 206331 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72548 /* 206333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
72549 /* 206336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72550 /* 206338 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72551 /* 206341 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72552 /* 206343 */ GIR_RootConstrainSelectedInstOperands,
72553 /* 206344 */ // GIR_Coverage, 21575,
72554 /* 206344 */ GIR_EraseRootFromParent_Done,
72555 /* 206345 */ // Label 6043: @206345
72556 /* 206345 */ GIM_Reject,
72557 /* 206346 */ // Label 6034: @206346
72558 /* 206346 */ GIM_Reject,
72559 /* 206347 */ // Label 6019: @206347
72560 /* 206347 */ GIM_Try, /*On fail goto*//*Label 6044*/ GIMT_Encode4(206695),
72561 /* 206352 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72562 /* 206355 */ GIM_Try, /*On fail goto*//*Label 6045*/ GIMT_Encode4(206484),
72563 /* 206360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
72564 /* 206364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6046*/ GIMT_Encode4(206415), GIMT_Encode2(GIFBS_OptForSize_UseSSE2), // Rule ID 2446 //
72565 /* 206371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72566 /* 206375 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72567 /* 206379 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72568 /* 206382 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72569 /* 206386 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72570 /* 206390 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72571 /* 206392 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72572 /* 206399 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
72573 /* 206399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
72574 /* 206402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72575 /* 206404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72576 /* 206408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72577 /* 206413 */ GIR_RootConstrainSelectedInstOperands,
72578 /* 206414 */ // GIR_Coverage, 2446,
72579 /* 206414 */ GIR_EraseRootFromParent_Done,
72580 /* 206415 */ // Label 6046: @206415
72581 /* 206415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6047*/ GIMT_Encode4(206483), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18374 //
72582 /* 206422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72583 /* 206426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72584 /* 206430 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72585 /* 206433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72586 /* 206437 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72587 /* 206441 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72588 /* 206443 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72589 /* 206450 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
72590 /* 206450 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72591 /* 206453 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72592 /* 206457 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72593 /* 206462 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72594 /* 206464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
72595 /* 206467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72596 /* 206469 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72597 /* 206472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72598 /* 206476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72599 /* 206481 */ GIR_RootConstrainSelectedInstOperands,
72600 /* 206482 */ // GIR_Coverage, 18374,
72601 /* 206482 */ GIR_EraseRootFromParent_Done,
72602 /* 206483 */ // Label 6047: @206483
72603 /* 206483 */ GIM_Reject,
72604 /* 206484 */ // Label 6045: @206484
72605 /* 206484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6048*/ GIMT_Encode4(206556), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21581 //
72606 /* 206491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
72607 /* 206495 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72608 /* 206499 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72609 /* 206503 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72610 /* 206506 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72611 /* 206510 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72612 /* 206514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72613 /* 206516 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72614 /* 206523 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
72615 /* 206523 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72616 /* 206526 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72617 /* 206530 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72618 /* 206535 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72619 /* 206537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
72620 /* 206540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72621 /* 206542 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72622 /* 206545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72623 /* 206549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72624 /* 206554 */ GIR_RootConstrainSelectedInstOperands,
72625 /* 206555 */ // GIR_Coverage, 21581,
72626 /* 206555 */ GIR_EraseRootFromParent_Done,
72627 /* 206556 */ // Label 6048: @206556
72628 /* 206556 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6049*/ GIMT_Encode4(206588), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1027 //
72629 /* 206563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
72630 /* 206567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
72631 /* 206571 */ // (fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
72632 /* 206571 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
72633 /* 206576 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72634 /* 206582 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
72635 /* 206586 */ GIR_RootConstrainSelectedInstOperands,
72636 /* 206587 */ // GIR_Coverage, 1027,
72637 /* 206587 */ GIR_Done,
72638 /* 206588 */ // Label 6049: @206588
72639 /* 206588 */ GIM_Try, /*On fail goto*//*Label 6050*/ GIMT_Encode4(206653),
72640 /* 206593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
72641 /* 206597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
72642 /* 206601 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6051*/ GIMT_Encode4(206619), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2444 //
72643 /* 206608 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
72644 /* 206608 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
72645 /* 206613 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72646 /* 206617 */ GIR_RootConstrainSelectedInstOperands,
72647 /* 206618 */ // GIR_Coverage, 2444,
72648 /* 206618 */ GIR_Done,
72649 /* 206619 */ // Label 6051: @206619
72650 /* 206619 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6052*/ GIMT_Encode4(206652), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18372 //
72651 /* 206626 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
72652 /* 206626 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72653 /* 206629 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72654 /* 206633 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72655 /* 206638 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72656 /* 206640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
72657 /* 206643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72658 /* 206645 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72659 /* 206648 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72660 /* 206650 */ GIR_RootConstrainSelectedInstOperands,
72661 /* 206651 */ // GIR_Coverage, 18372,
72662 /* 206651 */ GIR_EraseRootFromParent_Done,
72663 /* 206652 */ // Label 6052: @206652
72664 /* 206652 */ GIM_Reject,
72665 /* 206653 */ // Label 6050: @206653
72666 /* 206653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6053*/ GIMT_Encode4(206694), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21579 //
72667 /* 206660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
72668 /* 206664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
72669 /* 206668 */ // (fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
72670 /* 206668 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72671 /* 206671 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72672 /* 206675 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72673 /* 206680 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72674 /* 206682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
72675 /* 206685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72676 /* 206687 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72677 /* 206690 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72678 /* 206692 */ GIR_RootConstrainSelectedInstOperands,
72679 /* 206693 */ // GIR_Coverage, 21579,
72680 /* 206693 */ GIR_EraseRootFromParent_Done,
72681 /* 206694 */ // Label 6053: @206694
72682 /* 206694 */ GIM_Reject,
72683 /* 206695 */ // Label 6044: @206695
72684 /* 206695 */ GIM_Reject,
72685 /* 206696 */ // Label 6020: @206696
72686 /* 206696 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6054*/ GIMT_Encode4(206731), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1029 //
72687 /* 206703 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
72688 /* 206706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
72689 /* 206710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
72690 /* 206714 */ // (fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
72691 /* 206714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
72692 /* 206719 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72693 /* 206725 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
72694 /* 206729 */ GIR_RootConstrainSelectedInstOperands,
72695 /* 206730 */ // GIR_Coverage, 1029,
72696 /* 206730 */ GIR_Done,
72697 /* 206731 */ // Label 6054: @206731
72698 /* 206731 */ GIM_Reject,
72699 /* 206732 */ // Label 6021: @206732
72700 /* 206732 */ GIM_Try, /*On fail goto*//*Label 6055*/ GIMT_Encode4(206818),
72701 /* 206737 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
72702 /* 206740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72703 /* 206744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6056*/ GIMT_Encode4(206795), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12016 //
72704 /* 206751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72705 /* 206755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72706 /* 206759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72707 /* 206762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72708 /* 206766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72709 /* 206770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72710 /* 206772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72711 /* 206779 */ // (fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
72712 /* 206779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
72713 /* 206782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72714 /* 206784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72715 /* 206788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72716 /* 206793 */ GIR_RootConstrainSelectedInstOperands,
72717 /* 206794 */ // GIR_Coverage, 12016,
72718 /* 206794 */ GIR_EraseRootFromParent_Done,
72719 /* 206795 */ // Label 6056: @206795
72720 /* 206795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6057*/ GIMT_Encode4(206817), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12012 //
72721 /* 206802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72722 /* 206806 */ // (fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
72723 /* 206806 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
72724 /* 206811 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72725 /* 206815 */ GIR_RootConstrainSelectedInstOperands,
72726 /* 206816 */ // GIR_Coverage, 12012,
72727 /* 206816 */ GIR_Done,
72728 /* 206817 */ // Label 6057: @206817
72729 /* 206817 */ GIM_Reject,
72730 /* 206818 */ // Label 6055: @206818
72731 /* 206818 */ GIM_Reject,
72732 /* 206819 */ // Label 6022: @206819
72733 /* 206819 */ GIM_Try, /*On fail goto*//*Label 6058*/ GIMT_Encode4(206905),
72734 /* 206824 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
72735 /* 206827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72736 /* 206831 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6059*/ GIMT_Encode4(206882), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12028 //
72737 /* 206838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72738 /* 206842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72739 /* 206846 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72740 /* 206849 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72741 /* 206853 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72742 /* 206857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72743 /* 206859 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72744 /* 206866 */ // (fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
72745 /* 206866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
72746 /* 206869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72747 /* 206871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72748 /* 206875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72749 /* 206880 */ GIR_RootConstrainSelectedInstOperands,
72750 /* 206881 */ // GIR_Coverage, 12028,
72751 /* 206881 */ GIR_EraseRootFromParent_Done,
72752 /* 206882 */ // Label 6059: @206882
72753 /* 206882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6060*/ GIMT_Encode4(206904), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12024 //
72754 /* 206889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72755 /* 206893 */ // (fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
72756 /* 206893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
72757 /* 206898 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72758 /* 206902 */ GIR_RootConstrainSelectedInstOperands,
72759 /* 206903 */ // GIR_Coverage, 12024,
72760 /* 206903 */ GIR_Done,
72761 /* 206904 */ // Label 6060: @206904
72762 /* 206904 */ GIM_Reject,
72763 /* 206905 */ // Label 6058: @206905
72764 /* 206905 */ GIM_Reject,
72765 /* 206906 */ // Label 6023: @206906
72766 /* 206906 */ GIM_Try, /*On fail goto*//*Label 6061*/ GIMT_Encode4(206992),
72767 /* 206911 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
72768 /* 206914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72769 /* 206918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6062*/ GIMT_Encode4(206969), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 12004 //
72770 /* 206925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72771 /* 206929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72772 /* 206933 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72773 /* 206936 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72774 /* 206940 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72775 /* 206944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72776 /* 206946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72777 /* 206953 */ // (fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
72778 /* 206953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
72779 /* 206956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72780 /* 206958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72781 /* 206962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72782 /* 206967 */ GIR_RootConstrainSelectedInstOperands,
72783 /* 206968 */ // GIR_Coverage, 12004,
72784 /* 206968 */ GIR_EraseRootFromParent_Done,
72785 /* 206969 */ // Label 6062: @206969
72786 /* 206969 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6063*/ GIMT_Encode4(206991), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 12000 //
72787 /* 206976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72788 /* 206980 */ // (fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
72789 /* 206980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
72790 /* 206985 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72791 /* 206989 */ GIR_RootConstrainSelectedInstOperands,
72792 /* 206990 */ // GIR_Coverage, 12000,
72793 /* 206990 */ GIR_Done,
72794 /* 206991 */ // Label 6063: @206991
72795 /* 206991 */ GIM_Reject,
72796 /* 206992 */ // Label 6061: @206992
72797 /* 206992 */ GIM_Reject,
72798 /* 206993 */ // Label 6024: @206993
72799 /* 206993 */ GIM_Try, /*On fail goto*//*Label 6064*/ GIMT_Encode4(207188),
72800 /* 206998 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
72801 /* 207001 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6065*/ GIMT_Encode4(207056), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2434 //
72802 /* 207008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72803 /* 207012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72804 /* 207016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72805 /* 207020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72806 /* 207023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72807 /* 207027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72808 /* 207031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72809 /* 207033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72810 /* 207040 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
72811 /* 207040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
72812 /* 207043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72813 /* 207045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72814 /* 207049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72815 /* 207054 */ GIR_RootConstrainSelectedInstOperands,
72816 /* 207055 */ // GIR_Coverage, 2434,
72817 /* 207055 */ GIR_EraseRootFromParent_Done,
72818 /* 207056 */ // Label 6065: @207056
72819 /* 207056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6066*/ GIMT_Encode4(207111), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12064 //
72820 /* 207063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72821 /* 207067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72822 /* 207071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72823 /* 207075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72824 /* 207078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72825 /* 207082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72826 /* 207086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72827 /* 207088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72828 /* 207095 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
72829 /* 207095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
72830 /* 207098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72831 /* 207100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72832 /* 207104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72833 /* 207109 */ GIR_RootConstrainSelectedInstOperands,
72834 /* 207110 */ // GIR_Coverage, 12064,
72835 /* 207110 */ GIR_EraseRootFromParent_Done,
72836 /* 207111 */ // Label 6066: @207111
72837 /* 207111 */ GIM_Try, /*On fail goto*//*Label 6067*/ GIMT_Encode4(207161),
72838 /* 207116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72839 /* 207120 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72840 /* 207124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6068*/ GIMT_Encode4(207142), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2432 //
72841 /* 207131 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
72842 /* 207131 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
72843 /* 207136 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72844 /* 207140 */ GIR_RootConstrainSelectedInstOperands,
72845 /* 207141 */ // GIR_Coverage, 2432,
72846 /* 207141 */ GIR_Done,
72847 /* 207142 */ // Label 6068: @207142
72848 /* 207142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6069*/ GIMT_Encode4(207160), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2440 //
72849 /* 207149 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
72850 /* 207149 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
72851 /* 207154 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72852 /* 207158 */ GIR_RootConstrainSelectedInstOperands,
72853 /* 207159 */ // GIR_Coverage, 2440,
72854 /* 207159 */ GIR_Done,
72855 /* 207160 */ // Label 6069: @207160
72856 /* 207160 */ GIM_Reject,
72857 /* 207161 */ // Label 6067: @207161
72858 /* 207161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6070*/ GIMT_Encode4(207187), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12060 //
72859 /* 207168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72860 /* 207172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72861 /* 207176 */ // (fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
72862 /* 207176 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
72863 /* 207181 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72864 /* 207185 */ GIR_RootConstrainSelectedInstOperands,
72865 /* 207186 */ // GIR_Coverage, 12060,
72866 /* 207186 */ GIR_Done,
72867 /* 207187 */ // Label 6070: @207187
72868 /* 207187 */ GIM_Reject,
72869 /* 207188 */ // Label 6064: @207188
72870 /* 207188 */ GIM_Reject,
72871 /* 207189 */ // Label 6025: @207189
72872 /* 207189 */ GIM_Try, /*On fail goto*//*Label 6071*/ GIMT_Encode4(207360),
72873 /* 207194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
72874 /* 207197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6072*/ GIMT_Encode4(207252), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2438 //
72875 /* 207204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
72876 /* 207208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72877 /* 207212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72878 /* 207216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72879 /* 207219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72880 /* 207223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72881 /* 207227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72882 /* 207229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72883 /* 207236 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
72884 /* 207236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
72885 /* 207239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72886 /* 207241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72887 /* 207245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72888 /* 207250 */ GIR_RootConstrainSelectedInstOperands,
72889 /* 207251 */ // GIR_Coverage, 2438,
72890 /* 207251 */ GIR_EraseRootFromParent_Done,
72891 /* 207252 */ // Label 6072: @207252
72892 /* 207252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6073*/ GIMT_Encode4(207307), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12076 //
72893 /* 207259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72894 /* 207263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72895 /* 207267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72896 /* 207271 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72897 /* 207274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72898 /* 207278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72899 /* 207282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72900 /* 207284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72901 /* 207291 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
72902 /* 207291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
72903 /* 207294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72904 /* 207296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72905 /* 207300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72906 /* 207305 */ GIR_RootConstrainSelectedInstOperands,
72907 /* 207306 */ // GIR_Coverage, 12076,
72908 /* 207306 */ GIR_EraseRootFromParent_Done,
72909 /* 207307 */ // Label 6073: @207307
72910 /* 207307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6074*/ GIMT_Encode4(207333), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2436 //
72911 /* 207314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
72912 /* 207318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
72913 /* 207322 */ // (fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
72914 /* 207322 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
72915 /* 207327 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72916 /* 207331 */ GIR_RootConstrainSelectedInstOperands,
72917 /* 207332 */ // GIR_Coverage, 2436,
72918 /* 207332 */ GIR_Done,
72919 /* 207333 */ // Label 6074: @207333
72920 /* 207333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6075*/ GIMT_Encode4(207359), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12072 //
72921 /* 207340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72922 /* 207344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72923 /* 207348 */ // (fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
72924 /* 207348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
72925 /* 207353 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72926 /* 207357 */ GIR_RootConstrainSelectedInstOperands,
72927 /* 207358 */ // GIR_Coverage, 12072,
72928 /* 207358 */ GIR_Done,
72929 /* 207359 */ // Label 6075: @207359
72930 /* 207359 */ GIM_Reject,
72931 /* 207360 */ // Label 6071: @207360
72932 /* 207360 */ GIM_Reject,
72933 /* 207361 */ // Label 6026: @207361
72934 /* 207361 */ GIM_Try, /*On fail goto*//*Label 6076*/ GIMT_Encode4(207447),
72935 /* 207366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
72936 /* 207369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72937 /* 207373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6077*/ GIMT_Encode4(207424), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12040 //
72938 /* 207380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72939 /* 207384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72940 /* 207388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72941 /* 207391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72942 /* 207395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72943 /* 207399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72944 /* 207401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72945 /* 207408 */ // (fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
72946 /* 207408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
72947 /* 207411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72948 /* 207413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72949 /* 207417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72950 /* 207422 */ GIR_RootConstrainSelectedInstOperands,
72951 /* 207423 */ // GIR_Coverage, 12040,
72952 /* 207423 */ GIR_EraseRootFromParent_Done,
72953 /* 207424 */ // Label 6077: @207424
72954 /* 207424 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6078*/ GIMT_Encode4(207446), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12036 //
72955 /* 207431 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72956 /* 207435 */ // (fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
72957 /* 207435 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
72958 /* 207440 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72959 /* 207444 */ GIR_RootConstrainSelectedInstOperands,
72960 /* 207445 */ // GIR_Coverage, 12036,
72961 /* 207445 */ GIR_Done,
72962 /* 207446 */ // Label 6078: @207446
72963 /* 207446 */ GIM_Reject,
72964 /* 207447 */ // Label 6076: @207447
72965 /* 207447 */ GIM_Reject,
72966 /* 207448 */ // Label 6027: @207448
72967 /* 207448 */ GIM_Try, /*On fail goto*//*Label 6079*/ GIMT_Encode4(207643),
72968 /* 207453 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
72969 /* 207456 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6080*/ GIMT_Encode4(207511), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2450 //
72970 /* 207463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72971 /* 207467 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72972 /* 207471 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72973 /* 207475 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72974 /* 207478 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72975 /* 207482 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72976 /* 207486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72977 /* 207488 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72978 /* 207495 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
72979 /* 207495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
72980 /* 207498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72981 /* 207500 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72982 /* 207504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72983 /* 207509 */ GIR_RootConstrainSelectedInstOperands,
72984 /* 207510 */ // GIR_Coverage, 2450,
72985 /* 207510 */ GIR_EraseRootFromParent_Done,
72986 /* 207511 */ // Label 6080: @207511
72987 /* 207511 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6081*/ GIMT_Encode4(207566), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12088 //
72988 /* 207518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72989 /* 207522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72990 /* 207526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72991 /* 207530 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72992 /* 207533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72993 /* 207537 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72994 /* 207541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72995 /* 207543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72996 /* 207550 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
72997 /* 207550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
72998 /* 207553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72999 /* 207555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73000 /* 207559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73001 /* 207564 */ GIR_RootConstrainSelectedInstOperands,
73002 /* 207565 */ // GIR_Coverage, 12088,
73003 /* 207565 */ GIR_EraseRootFromParent_Done,
73004 /* 207566 */ // Label 6081: @207566
73005 /* 207566 */ GIM_Try, /*On fail goto*//*Label 6082*/ GIMT_Encode4(207616),
73006 /* 207571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73007 /* 207575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73008 /* 207579 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6083*/ GIMT_Encode4(207597), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2448 //
73009 /* 207586 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
73010 /* 207586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
73011 /* 207591 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73012 /* 207595 */ GIR_RootConstrainSelectedInstOperands,
73013 /* 207596 */ // GIR_Coverage, 2448,
73014 /* 207596 */ GIR_Done,
73015 /* 207597 */ // Label 6083: @207597
73016 /* 207597 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6084*/ GIMT_Encode4(207615), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2456 //
73017 /* 207604 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
73018 /* 207604 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
73019 /* 207609 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73020 /* 207613 */ GIR_RootConstrainSelectedInstOperands,
73021 /* 207614 */ // GIR_Coverage, 2456,
73022 /* 207614 */ GIR_Done,
73023 /* 207615 */ // Label 6084: @207615
73024 /* 207615 */ GIM_Reject,
73025 /* 207616 */ // Label 6082: @207616
73026 /* 207616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6085*/ GIMT_Encode4(207642), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12084 //
73027 /* 207623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73028 /* 207627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73029 /* 207631 */ // (fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
73030 /* 207631 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
73031 /* 207636 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73032 /* 207640 */ GIR_RootConstrainSelectedInstOperands,
73033 /* 207641 */ // GIR_Coverage, 12084,
73034 /* 207641 */ GIR_Done,
73035 /* 207642 */ // Label 6085: @207642
73036 /* 207642 */ GIM_Reject,
73037 /* 207643 */ // Label 6079: @207643
73038 /* 207643 */ GIM_Reject,
73039 /* 207644 */ // Label 6028: @207644
73040 /* 207644 */ GIM_Try, /*On fail goto*//*Label 6086*/ GIMT_Encode4(207815),
73041 /* 207649 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
73042 /* 207652 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6087*/ GIMT_Encode4(207707), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2454 //
73043 /* 207659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73044 /* 207663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73045 /* 207667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73046 /* 207671 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73047 /* 207674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73048 /* 207678 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73049 /* 207682 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73050 /* 207684 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73051 /* 207691 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
73052 /* 207691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
73053 /* 207694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73054 /* 207696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73055 /* 207700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73056 /* 207705 */ GIR_RootConstrainSelectedInstOperands,
73057 /* 207706 */ // GIR_Coverage, 2454,
73058 /* 207706 */ GIR_EraseRootFromParent_Done,
73059 /* 207707 */ // Label 6087: @207707
73060 /* 207707 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6088*/ GIMT_Encode4(207762), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12100 //
73061 /* 207714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73062 /* 207718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73063 /* 207722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73064 /* 207726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73065 /* 207729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73066 /* 207733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73067 /* 207737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73068 /* 207739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73069 /* 207746 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
73070 /* 207746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
73071 /* 207749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73072 /* 207751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73073 /* 207755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73074 /* 207760 */ GIR_RootConstrainSelectedInstOperands,
73075 /* 207761 */ // GIR_Coverage, 12100,
73076 /* 207761 */ GIR_EraseRootFromParent_Done,
73077 /* 207762 */ // Label 6088: @207762
73078 /* 207762 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6089*/ GIMT_Encode4(207788), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2452 //
73079 /* 207769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73080 /* 207773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73081 /* 207777 */ // (fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
73082 /* 207777 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
73083 /* 207782 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73084 /* 207786 */ GIR_RootConstrainSelectedInstOperands,
73085 /* 207787 */ // GIR_Coverage, 2452,
73086 /* 207787 */ GIR_Done,
73087 /* 207788 */ // Label 6089: @207788
73088 /* 207788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6090*/ GIMT_Encode4(207814), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12096 //
73089 /* 207795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73090 /* 207799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73091 /* 207803 */ // (fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
73092 /* 207803 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
73093 /* 207808 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73094 /* 207812 */ GIR_RootConstrainSelectedInstOperands,
73095 /* 207813 */ // GIR_Coverage, 12096,
73096 /* 207813 */ GIR_Done,
73097 /* 207814 */ // Label 6090: @207814
73098 /* 207814 */ GIM_Reject,
73099 /* 207815 */ // Label 6086: @207815
73100 /* 207815 */ GIM_Reject,
73101 /* 207816 */ // Label 6029: @207816
73102 /* 207816 */ GIM_Try, /*On fail goto*//*Label 6091*/ GIMT_Encode4(207902),
73103 /* 207821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
73104 /* 207824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73105 /* 207828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6092*/ GIMT_Encode4(207879), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12052 //
73106 /* 207835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73107 /* 207839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73108 /* 207843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73109 /* 207846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73110 /* 207850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73111 /* 207854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73112 /* 207856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73113 /* 207863 */ // (fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
73114 /* 207863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
73115 /* 207866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73116 /* 207868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73117 /* 207872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73118 /* 207877 */ GIR_RootConstrainSelectedInstOperands,
73119 /* 207878 */ // GIR_Coverage, 12052,
73120 /* 207878 */ GIR_EraseRootFromParent_Done,
73121 /* 207879 */ // Label 6092: @207879
73122 /* 207879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6093*/ GIMT_Encode4(207901), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12048 //
73123 /* 207886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73124 /* 207890 */ // (fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
73125 /* 207890 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
73126 /* 207895 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73127 /* 207899 */ GIR_RootConstrainSelectedInstOperands,
73128 /* 207900 */ // GIR_Coverage, 12048,
73129 /* 207900 */ GIR_Done,
73130 /* 207901 */ // Label 6093: @207901
73131 /* 207901 */ GIM_Reject,
73132 /* 207902 */ // Label 6091: @207902
73133 /* 207902 */ GIM_Reject,
73134 /* 207903 */ // Label 6030: @207903
73135 /* 207903 */ GIM_Reject,
73136 /* 207904 */ // Label 74: @207904
73137 /* 207904 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6107*/ GIMT_Encode4(212662),
73138 /* 207915 */ /*GILLT_s16*//*Label 6094*/ GIMT_Encode4(208007),
73139 /* 207919 */ /*GILLT_s32*//*Label 6095*/ GIMT_Encode4(208166),
73140 /* 207923 */ /*GILLT_s64*//*Label 6096*/ GIMT_Encode4(209025),
73141 /* 207927 */ /*GILLT_s80*//*Label 6097*/ GIMT_Encode4(210010), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
73142 /* 207971 */ /*GILLT_v8s16*//*Label 6098*/ GIMT_Encode4(210551),
73143 /* 207975 */ /*GILLT_v16s16*//*Label 6099*/ GIMT_Encode4(210710),
73144 /* 207979 */ /*GILLT_v32s16*//*Label 6100*/ GIMT_Encode4(210869),
73145 /* 207983 */ /*GILLT_v4s32*//*Label 6101*/ GIMT_Encode4(211028),
73146 /* 207987 */ /*GILLT_v8s32*//*Label 6102*/ GIMT_Encode4(211369),
73147 /* 207991 */ /*GILLT_v16s32*//*Label 6103*/ GIMT_Encode4(211686),
73148 /* 207995 */ /*GILLT_v2s64*//*Label 6104*/ GIMT_Encode4(211845),
73149 /* 207999 */ /*GILLT_v4s64*//*Label 6105*/ GIMT_Encode4(212186),
73150 /* 208003 */ /*GILLT_v8s64*//*Label 6106*/ GIMT_Encode4(212503),
73151 /* 208007 */ // Label 6094: @208007
73152 /* 208007 */ GIM_Try, /*On fail goto*//*Label 6108*/ GIMT_Encode4(208165),
73153 /* 208012 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73154 /* 208015 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
73155 /* 208018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73156 /* 208022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6109*/ GIMT_Encode4(208079), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24505 //
73157 /* 208029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73158 /* 208033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73159 /* 208037 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73160 /* 208040 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73161 /* 208044 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73162 /* 208048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73163 /* 208052 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73164 /* 208054 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73165 /* 208061 */ // (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)
73166 /* 208061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
73167 /* 208064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73168 /* 208066 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73169 /* 208068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73170 /* 208072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73171 /* 208077 */ GIR_RootConstrainSelectedInstOperands,
73172 /* 208078 */ // GIR_Coverage, 24505,
73173 /* 208078 */ GIR_EraseRootFromParent_Done,
73174 /* 208079 */ // Label 6109: @208079
73175 /* 208079 */ GIM_Try, /*On fail goto*//*Label 6110*/ GIMT_Encode4(208164),
73176 /* 208084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73177 /* 208088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6111*/ GIMT_Encode4(208141), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 5955 //
73178 /* 208095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73179 /* 208099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73180 /* 208103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73181 /* 208106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73182 /* 208110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73183 /* 208114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73184 /* 208116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73185 /* 208123 */ // (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)
73186 /* 208123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
73187 /* 208126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73188 /* 208128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73189 /* 208130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73190 /* 208134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73191 /* 208139 */ GIR_RootConstrainSelectedInstOperands,
73192 /* 208140 */ // GIR_Coverage, 5955,
73193 /* 208140 */ GIR_EraseRootFromParent_Done,
73194 /* 208141 */ // Label 6111: @208141
73195 /* 208141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6112*/ GIMT_Encode4(208163), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 5953 //
73196 /* 208148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73197 /* 208152 */ // (strict_fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
73198 /* 208152 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
73199 /* 208157 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73200 /* 208161 */ GIR_RootConstrainSelectedInstOperands,
73201 /* 208162 */ // GIR_Coverage, 5953,
73202 /* 208162 */ GIR_Done,
73203 /* 208163 */ // Label 6112: @208163
73204 /* 208163 */ GIM_Reject,
73205 /* 208164 */ // Label 6110: @208164
73206 /* 208164 */ GIM_Reject,
73207 /* 208165 */ // Label 6108: @208165
73208 /* 208165 */ GIM_Reject,
73209 /* 208166 */ // Label 6095: @208166
73210 /* 208166 */ GIM_Try, /*On fail goto*//*Label 6113*/ GIMT_Encode4(209024),
73211 /* 208171 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73212 /* 208174 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
73213 /* 208177 */ GIM_Try, /*On fail goto*//*Label 6114*/ GIMT_Encode4(208359),
73214 /* 208182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73215 /* 208186 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73216 /* 208190 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6115*/ GIMT_Encode4(208246), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23502 //
73217 /* 208197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73218 /* 208201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73219 /* 208205 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73220 /* 208212 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73221 /* 208216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73222 /* 208218 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73223 /* 208225 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
73224 /* 208225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
73225 /* 208228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73226 /* 208230 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73227 /* 208232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73228 /* 208236 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73229 /* 208239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73230 /* 208244 */ GIR_RootConstrainSelectedInstOperands,
73231 /* 208245 */ // GIR_Coverage, 23502,
73232 /* 208245 */ GIR_EraseRootFromParent_Done,
73233 /* 208246 */ // Label 6115: @208246
73234 /* 208246 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6116*/ GIMT_Encode4(208302), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23504 //
73235 /* 208253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73236 /* 208257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73237 /* 208261 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73238 /* 208268 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73239 /* 208272 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73240 /* 208274 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73241 /* 208281 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
73242 /* 208281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
73243 /* 208284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73244 /* 208286 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73245 /* 208288 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73246 /* 208292 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73247 /* 208295 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73248 /* 208300 */ GIR_RootConstrainSelectedInstOperands,
73249 /* 208301 */ // GIR_Coverage, 23504,
73250 /* 208301 */ GIR_EraseRootFromParent_Done,
73251 /* 208302 */ // Label 6116: @208302
73252 /* 208302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6117*/ GIMT_Encode4(208358), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23492 //
73253 /* 208309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73254 /* 208313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73255 /* 208317 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73256 /* 208320 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73257 /* 208324 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73258 /* 208328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73259 /* 208330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73260 /* 208337 */ // (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)
73261 /* 208337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
73262 /* 208340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73263 /* 208342 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73264 /* 208344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73265 /* 208348 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73266 /* 208351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73267 /* 208356 */ GIR_RootConstrainSelectedInstOperands,
73268 /* 208357 */ // GIR_Coverage, 23492,
73269 /* 208357 */ GIR_EraseRootFromParent_Done,
73270 /* 208358 */ // Label 6117: @208358
73271 /* 208358 */ GIM_Reject,
73272 /* 208359 */ // Label 6114: @208359
73273 /* 208359 */ GIM_Try, /*On fail goto*//*Label 6118*/ GIMT_Encode4(208479),
73274 /* 208364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73275 /* 208368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73276 /* 208372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6119*/ GIMT_Encode4(208425), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23637 //
73277 /* 208379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73278 /* 208383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73279 /* 208387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73280 /* 208390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73281 /* 208394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73282 /* 208398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73283 /* 208400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73284 /* 208407 */ // (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)
73285 /* 208407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
73286 /* 208410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73287 /* 208412 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73288 /* 208414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73289 /* 208418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73290 /* 208423 */ GIR_RootConstrainSelectedInstOperands,
73291 /* 208424 */ // GIR_Coverage, 23637,
73292 /* 208424 */ GIR_EraseRootFromParent_Done,
73293 /* 208425 */ // Label 6119: @208425
73294 /* 208425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6120*/ GIMT_Encode4(208478), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 23641 //
73295 /* 208432 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73296 /* 208436 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73297 /* 208440 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73298 /* 208443 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73299 /* 208447 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73300 /* 208451 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73301 /* 208453 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73302 /* 208460 */ // (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)
73303 /* 208460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
73304 /* 208463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73305 /* 208465 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73306 /* 208467 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73307 /* 208471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73308 /* 208476 */ GIR_RootConstrainSelectedInstOperands,
73309 /* 208477 */ // GIR_Coverage, 23641,
73310 /* 208477 */ GIR_EraseRootFromParent_Done,
73311 /* 208478 */ // Label 6120: @208478
73312 /* 208478 */ GIM_Reject,
73313 /* 208479 */ // Label 6118: @208479
73314 /* 208479 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6121*/ GIMT_Encode4(208540), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24501 //
73315 /* 208486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73316 /* 208490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73317 /* 208494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73318 /* 208498 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73319 /* 208501 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73320 /* 208505 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73321 /* 208509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73322 /* 208513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73323 /* 208515 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73324 /* 208522 */ // (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)
73325 /* 208522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
73326 /* 208525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73327 /* 208527 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73328 /* 208529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73329 /* 208533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73330 /* 208538 */ GIR_RootConstrainSelectedInstOperands,
73331 /* 208539 */ // GIR_Coverage, 24501,
73332 /* 208539 */ GIR_EraseRootFromParent_Done,
73333 /* 208540 */ // Label 6121: @208540
73334 /* 208540 */ GIM_Try, /*On fail goto*//*Label 6122*/ GIMT_Encode4(208722),
73335 /* 208545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73336 /* 208549 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73337 /* 208553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6123*/ GIMT_Encode4(208609), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 896 //
73338 /* 208560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73339 /* 208564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73340 /* 208568 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73341 /* 208575 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73342 /* 208579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73343 /* 208581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73344 /* 208588 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
73345 /* 208588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
73346 /* 208591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73347 /* 208593 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73348 /* 208595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73349 /* 208599 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73350 /* 208602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73351 /* 208607 */ GIR_RootConstrainSelectedInstOperands,
73352 /* 208608 */ // GIR_Coverage, 896,
73353 /* 208608 */ GIR_EraseRootFromParent_Done,
73354 /* 208609 */ // Label 6123: @208609
73355 /* 208609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6124*/ GIMT_Encode4(208665), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 898 //
73356 /* 208616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73357 /* 208620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73358 /* 208624 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73359 /* 208631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73360 /* 208635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73361 /* 208637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73362 /* 208644 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
73363 /* 208644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
73364 /* 208647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73365 /* 208649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73366 /* 208651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73367 /* 208655 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73368 /* 208658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73369 /* 208663 */ GIR_RootConstrainSelectedInstOperands,
73370 /* 208664 */ // GIR_Coverage, 898,
73371 /* 208664 */ GIR_EraseRootFromParent_Done,
73372 /* 208665 */ // Label 6124: @208665
73373 /* 208665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6125*/ GIMT_Encode4(208721), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 886 //
73374 /* 208672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73375 /* 208676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73376 /* 208680 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73377 /* 208683 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73378 /* 208687 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73379 /* 208691 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73380 /* 208693 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73381 /* 208700 */ // (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)
73382 /* 208700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
73383 /* 208703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73384 /* 208705 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73385 /* 208707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73386 /* 208711 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73387 /* 208714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73388 /* 208719 */ GIR_RootConstrainSelectedInstOperands,
73389 /* 208720 */ // GIR_Coverage, 886,
73390 /* 208720 */ GIR_EraseRootFromParent_Done,
73391 /* 208721 */ // Label 6125: @208721
73392 /* 208721 */ GIM_Reject,
73393 /* 208722 */ // Label 6122: @208722
73394 /* 208722 */ GIM_Try, /*On fail goto*//*Label 6126*/ GIMT_Encode4(208842),
73395 /* 208727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73396 /* 208731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73397 /* 208735 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6127*/ GIMT_Encode4(208788), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2141 //
73398 /* 208742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73399 /* 208746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73400 /* 208750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73401 /* 208753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73402 /* 208757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73403 /* 208761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73404 /* 208763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73405 /* 208770 */ // (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)
73406 /* 208770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
73407 /* 208773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73408 /* 208775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73409 /* 208777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73410 /* 208781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73411 /* 208786 */ GIR_RootConstrainSelectedInstOperands,
73412 /* 208787 */ // GIR_Coverage, 2141,
73413 /* 208787 */ GIR_EraseRootFromParent_Done,
73414 /* 208788 */ // Label 6127: @208788
73415 /* 208788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6128*/ GIMT_Encode4(208841), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2149 //
73416 /* 208795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73417 /* 208799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73418 /* 208803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73419 /* 208806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73420 /* 208810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73421 /* 208814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73422 /* 208816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73423 /* 208823 */ // (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)
73424 /* 208823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
73425 /* 208826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73426 /* 208828 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73427 /* 208830 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73428 /* 208834 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73429 /* 208839 */ GIR_RootConstrainSelectedInstOperands,
73430 /* 208840 */ // GIR_Coverage, 2149,
73431 /* 208840 */ GIR_EraseRootFromParent_Done,
73432 /* 208841 */ // Label 6128: @208841
73433 /* 208841 */ GIM_Reject,
73434 /* 208842 */ // Label 6126: @208842
73435 /* 208842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6129*/ GIMT_Encode4(208903), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5917 //
73436 /* 208849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73437 /* 208853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73438 /* 208857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73439 /* 208861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73440 /* 208865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73441 /* 208868 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73442 /* 208872 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73443 /* 208876 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73444 /* 208878 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73445 /* 208885 */ // (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)
73446 /* 208885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
73447 /* 208888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73448 /* 208890 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73449 /* 208892 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73450 /* 208896 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73451 /* 208901 */ GIR_RootConstrainSelectedInstOperands,
73452 /* 208902 */ // GIR_Coverage, 5917,
73453 /* 208902 */ GIR_EraseRootFromParent_Done,
73454 /* 208903 */ // Label 6129: @208903
73455 /* 208903 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6130*/ GIMT_Encode4(208939), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 862 //
73456 /* 208910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73457 /* 208914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73458 /* 208918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73459 /* 208922 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
73460 /* 208922 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
73461 /* 208927 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73462 /* 208933 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73463 /* 208937 */ GIR_RootConstrainSelectedInstOperands,
73464 /* 208938 */ // GIR_Coverage, 862,
73465 /* 208938 */ GIR_Done,
73466 /* 208939 */ // Label 6130: @208939
73467 /* 208939 */ GIM_Try, /*On fail goto*//*Label 6131*/ GIMT_Encode4(208993),
73468 /* 208944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73469 /* 208948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73470 /* 208952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73471 /* 208956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6132*/ GIMT_Encode4(208974), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2139 //
73472 /* 208963 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
73473 /* 208963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
73474 /* 208968 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73475 /* 208972 */ GIR_RootConstrainSelectedInstOperands,
73476 /* 208973 */ // GIR_Coverage, 2139,
73477 /* 208973 */ GIR_Done,
73478 /* 208974 */ // Label 6132: @208974
73479 /* 208974 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6133*/ GIMT_Encode4(208992), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2147 //
73480 /* 208981 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
73481 /* 208981 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
73482 /* 208986 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73483 /* 208990 */ GIR_RootConstrainSelectedInstOperands,
73484 /* 208991 */ // GIR_Coverage, 2147,
73485 /* 208991 */ GIR_Done,
73486 /* 208992 */ // Label 6133: @208992
73487 /* 208992 */ GIM_Reject,
73488 /* 208993 */ // Label 6131: @208993
73489 /* 208993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6134*/ GIMT_Encode4(209023), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5915 //
73490 /* 209000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73491 /* 209004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73492 /* 209008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73493 /* 209012 */ // (strict_fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
73494 /* 209012 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
73495 /* 209017 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73496 /* 209021 */ GIR_RootConstrainSelectedInstOperands,
73497 /* 209022 */ // GIR_Coverage, 5915,
73498 /* 209022 */ GIR_Done,
73499 /* 209023 */ // Label 6134: @209023
73500 /* 209023 */ GIM_Reject,
73501 /* 209024 */ // Label 6113: @209024
73502 /* 209024 */ GIM_Reject,
73503 /* 209025 */ // Label 6096: @209025
73504 /* 209025 */ GIM_Try, /*On fail goto*//*Label 6135*/ GIMT_Encode4(210009),
73505 /* 209030 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73506 /* 209033 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
73507 /* 209036 */ GIM_Try, /*On fail goto*//*Label 6136*/ GIMT_Encode4(209281),
73508 /* 209041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73509 /* 209045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73510 /* 209049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6137*/ GIMT_Encode4(209105), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23506 //
73511 /* 209056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73512 /* 209060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73513 /* 209064 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73514 /* 209071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73515 /* 209075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73516 /* 209077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73517 /* 209084 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
73518 /* 209084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
73519 /* 209087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73520 /* 209089 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73521 /* 209091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73522 /* 209095 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73523 /* 209098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73524 /* 209103 */ GIR_RootConstrainSelectedInstOperands,
73525 /* 209104 */ // GIR_Coverage, 23506,
73526 /* 209104 */ GIR_EraseRootFromParent_Done,
73527 /* 209105 */ // Label 6137: @209105
73528 /* 209105 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6138*/ GIMT_Encode4(209161), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23508 //
73529 /* 209112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73530 /* 209116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73531 /* 209120 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73532 /* 209127 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73533 /* 209131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73534 /* 209133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73535 /* 209140 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
73536 /* 209140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
73537 /* 209143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73538 /* 209145 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73539 /* 209147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73540 /* 209151 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73541 /* 209154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73542 /* 209159 */ GIR_RootConstrainSelectedInstOperands,
73543 /* 209160 */ // GIR_Coverage, 23508,
73544 /* 209160 */ GIR_EraseRootFromParent_Done,
73545 /* 209161 */ // Label 6138: @209161
73546 /* 209161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6139*/ GIMT_Encode4(209224), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23496 //
73547 /* 209168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73548 /* 209172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73549 /* 209176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73550 /* 209179 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73551 /* 209183 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73552 /* 209190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73553 /* 209194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73554 /* 209196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73555 /* 209203 */ // (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)
73556 /* 209203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
73557 /* 209206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73558 /* 209208 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73559 /* 209210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73560 /* 209214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73561 /* 209217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73562 /* 209222 */ GIR_RootConstrainSelectedInstOperands,
73563 /* 209223 */ // GIR_Coverage, 23496,
73564 /* 209223 */ GIR_EraseRootFromParent_Done,
73565 /* 209224 */ // Label 6139: @209224
73566 /* 209224 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6140*/ GIMT_Encode4(209280), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23494 //
73567 /* 209231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73568 /* 209235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73569 /* 209239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73570 /* 209242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73571 /* 209246 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73572 /* 209250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73573 /* 209252 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73574 /* 209259 */ // (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)
73575 /* 209259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
73576 /* 209262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73577 /* 209264 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73578 /* 209266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73579 /* 209270 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73580 /* 209273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73581 /* 209278 */ GIR_RootConstrainSelectedInstOperands,
73582 /* 209279 */ // GIR_Coverage, 23494,
73583 /* 209279 */ GIR_EraseRootFromParent_Done,
73584 /* 209280 */ // Label 6140: @209280
73585 /* 209280 */ GIM_Reject,
73586 /* 209281 */ // Label 6136: @209281
73587 /* 209281 */ GIM_Try, /*On fail goto*//*Label 6141*/ GIMT_Encode4(209401),
73588 /* 209286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73589 /* 209290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73590 /* 209294 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6142*/ GIMT_Encode4(209347), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23639 //
73591 /* 209301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73592 /* 209305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73593 /* 209309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73594 /* 209312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73595 /* 209316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73596 /* 209320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73597 /* 209322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73598 /* 209329 */ // (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)
73599 /* 209329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
73600 /* 209332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73601 /* 209334 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73602 /* 209336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73603 /* 209340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73604 /* 209345 */ GIR_RootConstrainSelectedInstOperands,
73605 /* 209346 */ // GIR_Coverage, 23639,
73606 /* 209346 */ GIR_EraseRootFromParent_Done,
73607 /* 209347 */ // Label 6142: @209347
73608 /* 209347 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6143*/ GIMT_Encode4(209400), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 23643 //
73609 /* 209354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73610 /* 209358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73611 /* 209362 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73612 /* 209365 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73613 /* 209369 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73614 /* 209373 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73615 /* 209375 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73616 /* 209382 */ // (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)
73617 /* 209382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
73618 /* 209385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73619 /* 209387 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73620 /* 209389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73621 /* 209393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73622 /* 209398 */ GIR_RootConstrainSelectedInstOperands,
73623 /* 209399 */ // GIR_Coverage, 23643,
73624 /* 209399 */ GIR_EraseRootFromParent_Done,
73625 /* 209400 */ // Label 6143: @209400
73626 /* 209400 */ GIM_Reject,
73627 /* 209401 */ // Label 6141: @209401
73628 /* 209401 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6144*/ GIMT_Encode4(209462), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24503 //
73629 /* 209408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73630 /* 209412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73631 /* 209416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73632 /* 209420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73633 /* 209423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73634 /* 209427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73635 /* 209431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73636 /* 209435 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73637 /* 209437 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73638 /* 209444 */ // (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)
73639 /* 209444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
73640 /* 209447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73641 /* 209449 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73642 /* 209451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73643 /* 209455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73644 /* 209460 */ GIR_RootConstrainSelectedInstOperands,
73645 /* 209461 */ // GIR_Coverage, 24503,
73646 /* 209461 */ GIR_EraseRootFromParent_Done,
73647 /* 209462 */ // Label 6144: @209462
73648 /* 209462 */ GIM_Try, /*On fail goto*//*Label 6145*/ GIMT_Encode4(209707),
73649 /* 209467 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73650 /* 209471 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73651 /* 209475 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6146*/ GIMT_Encode4(209531), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 900 //
73652 /* 209482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73653 /* 209486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73654 /* 209490 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73655 /* 209497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73656 /* 209501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73657 /* 209503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73658 /* 209510 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
73659 /* 209510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
73660 /* 209513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73661 /* 209515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73662 /* 209517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73663 /* 209521 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73664 /* 209524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73665 /* 209529 */ GIR_RootConstrainSelectedInstOperands,
73666 /* 209530 */ // GIR_Coverage, 900,
73667 /* 209530 */ GIR_EraseRootFromParent_Done,
73668 /* 209531 */ // Label 6146: @209531
73669 /* 209531 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6147*/ GIMT_Encode4(209587), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 902 //
73670 /* 209538 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73671 /* 209542 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73672 /* 209546 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73673 /* 209553 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73674 /* 209557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73675 /* 209559 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73676 /* 209566 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
73677 /* 209566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
73678 /* 209569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73679 /* 209571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73680 /* 209573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73681 /* 209577 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73682 /* 209580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73683 /* 209585 */ GIR_RootConstrainSelectedInstOperands,
73684 /* 209586 */ // GIR_Coverage, 902,
73685 /* 209586 */ GIR_EraseRootFromParent_Done,
73686 /* 209587 */ // Label 6147: @209587
73687 /* 209587 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6148*/ GIMT_Encode4(209650), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 890 //
73688 /* 209594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73689 /* 209598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73690 /* 209602 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73691 /* 209605 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73692 /* 209609 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73693 /* 209616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73694 /* 209620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73695 /* 209622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73696 /* 209629 */ // (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)
73697 /* 209629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
73698 /* 209632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73699 /* 209634 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73700 /* 209636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73701 /* 209640 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73702 /* 209643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73703 /* 209648 */ GIR_RootConstrainSelectedInstOperands,
73704 /* 209649 */ // GIR_Coverage, 890,
73705 /* 209649 */ GIR_EraseRootFromParent_Done,
73706 /* 209650 */ // Label 6148: @209650
73707 /* 209650 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6149*/ GIMT_Encode4(209706), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 888 //
73708 /* 209657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73709 /* 209661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73710 /* 209665 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73711 /* 209668 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73712 /* 209672 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73713 /* 209676 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73714 /* 209678 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73715 /* 209685 */ // (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)
73716 /* 209685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
73717 /* 209688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73718 /* 209690 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73719 /* 209692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73720 /* 209696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73721 /* 209699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73722 /* 209704 */ GIR_RootConstrainSelectedInstOperands,
73723 /* 209705 */ // GIR_Coverage, 888,
73724 /* 209705 */ GIR_EraseRootFromParent_Done,
73725 /* 209706 */ // Label 6149: @209706
73726 /* 209706 */ GIM_Reject,
73727 /* 209707 */ // Label 6145: @209707
73728 /* 209707 */ GIM_Try, /*On fail goto*//*Label 6150*/ GIMT_Encode4(209827),
73729 /* 209712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73730 /* 209716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73731 /* 209720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6151*/ GIMT_Encode4(209773), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2145 //
73732 /* 209727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73733 /* 209731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73734 /* 209735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73735 /* 209738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73736 /* 209742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73737 /* 209746 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73738 /* 209748 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73739 /* 209755 */ // (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)
73740 /* 209755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
73741 /* 209758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73742 /* 209760 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73743 /* 209762 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73744 /* 209766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73745 /* 209771 */ GIR_RootConstrainSelectedInstOperands,
73746 /* 209772 */ // GIR_Coverage, 2145,
73747 /* 209772 */ GIR_EraseRootFromParent_Done,
73748 /* 209773 */ // Label 6151: @209773
73749 /* 209773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6152*/ GIMT_Encode4(209826), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2153 //
73750 /* 209780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73751 /* 209784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73752 /* 209788 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73753 /* 209791 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73754 /* 209795 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73755 /* 209799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73756 /* 209801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73757 /* 209808 */ // (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)
73758 /* 209808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
73759 /* 209811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73760 /* 209813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73761 /* 209815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73762 /* 209819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73763 /* 209824 */ GIR_RootConstrainSelectedInstOperands,
73764 /* 209825 */ // GIR_Coverage, 2153,
73765 /* 209825 */ GIR_EraseRootFromParent_Done,
73766 /* 209826 */ // Label 6152: @209826
73767 /* 209826 */ GIM_Reject,
73768 /* 209827 */ // Label 6150: @209827
73769 /* 209827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6153*/ GIMT_Encode4(209888), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5936 //
73770 /* 209834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73771 /* 209838 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73772 /* 209842 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73773 /* 209846 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73774 /* 209850 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73775 /* 209853 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73776 /* 209857 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73777 /* 209861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73778 /* 209863 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73779 /* 209870 */ // (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)
73780 /* 209870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
73781 /* 209873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73782 /* 209875 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73783 /* 209877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73784 /* 209881 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73785 /* 209886 */ GIR_RootConstrainSelectedInstOperands,
73786 /* 209887 */ // GIR_Coverage, 5936,
73787 /* 209887 */ GIR_EraseRootFromParent_Done,
73788 /* 209888 */ // Label 6153: @209888
73789 /* 209888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6154*/ GIMT_Encode4(209924), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 864 //
73790 /* 209895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73791 /* 209899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73792 /* 209903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73793 /* 209907 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
73794 /* 209907 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
73795 /* 209912 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73796 /* 209918 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73797 /* 209922 */ GIR_RootConstrainSelectedInstOperands,
73798 /* 209923 */ // GIR_Coverage, 864,
73799 /* 209923 */ GIR_Done,
73800 /* 209924 */ // Label 6154: @209924
73801 /* 209924 */ GIM_Try, /*On fail goto*//*Label 6155*/ GIMT_Encode4(209978),
73802 /* 209929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73803 /* 209933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73804 /* 209937 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73805 /* 209941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6156*/ GIMT_Encode4(209959), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2143 //
73806 /* 209948 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
73807 /* 209948 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
73808 /* 209953 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73809 /* 209957 */ GIR_RootConstrainSelectedInstOperands,
73810 /* 209958 */ // GIR_Coverage, 2143,
73811 /* 209958 */ GIR_Done,
73812 /* 209959 */ // Label 6156: @209959
73813 /* 209959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6157*/ GIMT_Encode4(209977), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2151 //
73814 /* 209966 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
73815 /* 209966 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
73816 /* 209971 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73817 /* 209975 */ GIR_RootConstrainSelectedInstOperands,
73818 /* 209976 */ // GIR_Coverage, 2151,
73819 /* 209976 */ GIR_Done,
73820 /* 209977 */ // Label 6157: @209977
73821 /* 209977 */ GIM_Reject,
73822 /* 209978 */ // Label 6155: @209978
73823 /* 209978 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6158*/ GIMT_Encode4(210008), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5934 //
73824 /* 209985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73825 /* 209989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73826 /* 209993 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73827 /* 209997 */ // (strict_fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
73828 /* 209997 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
73829 /* 210002 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73830 /* 210006 */ GIR_RootConstrainSelectedInstOperands,
73831 /* 210007 */ // GIR_Coverage, 5934,
73832 /* 210007 */ GIR_Done,
73833 /* 210008 */ // Label 6158: @210008
73834 /* 210008 */ GIM_Reject,
73835 /* 210009 */ // Label 6135: @210009
73836 /* 210009 */ GIM_Reject,
73837 /* 210010 */ // Label 6097: @210010
73838 /* 210010 */ GIM_Try, /*On fail goto*//*Label 6159*/ GIMT_Encode4(210550),
73839 /* 210015 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
73840 /* 210018 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
73841 /* 210021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73842 /* 210025 */ GIM_Try, /*On fail goto*//*Label 6160*/ GIMT_Encode4(210273),
73843 /* 210030 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73844 /* 210034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6161*/ GIMT_Encode4(210090), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23510 //
73845 /* 210041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73846 /* 210045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73847 /* 210049 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73848 /* 210056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73849 /* 210060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73850 /* 210062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73851 /* 210069 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
73852 /* 210069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
73853 /* 210072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73854 /* 210074 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73855 /* 210076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73856 /* 210080 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73857 /* 210083 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73858 /* 210088 */ GIR_RootConstrainSelectedInstOperands,
73859 /* 210089 */ // GIR_Coverage, 23510,
73860 /* 210089 */ GIR_EraseRootFromParent_Done,
73861 /* 210090 */ // Label 6161: @210090
73862 /* 210090 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6162*/ GIMT_Encode4(210146), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23512 //
73863 /* 210097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73864 /* 210101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73865 /* 210105 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73866 /* 210112 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73867 /* 210116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73868 /* 210118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73869 /* 210125 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
73870 /* 210125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
73871 /* 210128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73872 /* 210130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73873 /* 210132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73874 /* 210136 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73875 /* 210139 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73876 /* 210144 */ GIR_RootConstrainSelectedInstOperands,
73877 /* 210145 */ // GIR_Coverage, 23512,
73878 /* 210145 */ GIR_EraseRootFromParent_Done,
73879 /* 210146 */ // Label 6162: @210146
73880 /* 210146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6163*/ GIMT_Encode4(210209), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23498 //
73881 /* 210153 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73882 /* 210157 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73883 /* 210161 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73884 /* 210164 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73885 /* 210168 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73886 /* 210175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73887 /* 210179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73888 /* 210181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73889 /* 210188 */ // (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)
73890 /* 210188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
73891 /* 210191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73892 /* 210193 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73893 /* 210195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73894 /* 210199 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73895 /* 210202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73896 /* 210207 */ GIR_RootConstrainSelectedInstOperands,
73897 /* 210208 */ // GIR_Coverage, 23498,
73898 /* 210208 */ GIR_EraseRootFromParent_Done,
73899 /* 210209 */ // Label 6163: @210209
73900 /* 210209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6164*/ GIMT_Encode4(210272), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23500 //
73901 /* 210216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73902 /* 210220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73903 /* 210224 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73904 /* 210227 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73905 /* 210231 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
73906 /* 210238 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73907 /* 210242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73908 /* 210244 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73909 /* 210251 */ // (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)
73910 /* 210251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
73911 /* 210254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73912 /* 210256 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73913 /* 210258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73914 /* 210262 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73915 /* 210265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73916 /* 210270 */ GIR_RootConstrainSelectedInstOperands,
73917 /* 210271 */ // GIR_Coverage, 23500,
73918 /* 210271 */ GIR_EraseRootFromParent_Done,
73919 /* 210272 */ // Label 6164: @210272
73920 /* 210272 */ GIM_Reject,
73921 /* 210273 */ // Label 6160: @210273
73922 /* 210273 */ GIM_Try, /*On fail goto*//*Label 6165*/ GIMT_Encode4(210549),
73923 /* 210278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73924 /* 210282 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6166*/ GIMT_Encode4(210338), GIMT_Encode2(GIFBS_HasX87), // Rule ID 904 //
73925 /* 210289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73926 /* 210293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73927 /* 210297 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73928 /* 210304 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73929 /* 210308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73930 /* 210310 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73931 /* 210317 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
73932 /* 210317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
73933 /* 210320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73934 /* 210322 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73935 /* 210324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73936 /* 210328 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73937 /* 210331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73938 /* 210336 */ GIR_RootConstrainSelectedInstOperands,
73939 /* 210337 */ // GIR_Coverage, 904,
73940 /* 210337 */ GIR_EraseRootFromParent_Done,
73941 /* 210338 */ // Label 6166: @210338
73942 /* 210338 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6167*/ GIMT_Encode4(210394), GIMT_Encode2(GIFBS_HasX87), // Rule ID 906 //
73943 /* 210345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73944 /* 210349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73945 /* 210353 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73946 /* 210360 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73947 /* 210364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73948 /* 210366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73949 /* 210373 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
73950 /* 210373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
73951 /* 210376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73952 /* 210378 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73953 /* 210380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73954 /* 210384 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73955 /* 210387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73956 /* 210392 */ GIR_RootConstrainSelectedInstOperands,
73957 /* 210393 */ // GIR_Coverage, 906,
73958 /* 210393 */ GIR_EraseRootFromParent_Done,
73959 /* 210394 */ // Label 6167: @210394
73960 /* 210394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6168*/ GIMT_Encode4(210457), GIMT_Encode2(GIFBS_HasX87), // Rule ID 892 //
73961 /* 210401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73962 /* 210405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73963 /* 210409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73964 /* 210412 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73965 /* 210416 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73966 /* 210423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73967 /* 210427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73968 /* 210429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73969 /* 210436 */ // (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)
73970 /* 210436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
73971 /* 210439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73972 /* 210441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73973 /* 210443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73974 /* 210447 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73975 /* 210450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73976 /* 210455 */ GIR_RootConstrainSelectedInstOperands,
73977 /* 210456 */ // GIR_Coverage, 892,
73978 /* 210456 */ GIR_EraseRootFromParent_Done,
73979 /* 210457 */ // Label 6168: @210457
73980 /* 210457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6169*/ GIMT_Encode4(210520), GIMT_Encode2(GIFBS_HasX87), // Rule ID 894 //
73981 /* 210464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73982 /* 210468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73983 /* 210472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73984 /* 210475 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73985 /* 210479 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
73986 /* 210486 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73987 /* 210490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73988 /* 210492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73989 /* 210499 */ // (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)
73990 /* 210499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
73991 /* 210502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73992 /* 210504 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73993 /* 210506 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73994 /* 210510 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73995 /* 210513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73996 /* 210518 */ GIR_RootConstrainSelectedInstOperands,
73997 /* 210519 */ // GIR_Coverage, 894,
73998 /* 210519 */ GIR_EraseRootFromParent_Done,
73999 /* 210520 */ // Label 6169: @210520
74000 /* 210520 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6170*/ GIMT_Encode4(210548), GIMT_Encode2(GIFBS_HasX87), // Rule ID 866 //
74001 /* 210527 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74002 /* 210531 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
74003 /* 210531 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
74004 /* 210536 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
74005 /* 210542 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74006 /* 210546 */ GIR_RootConstrainSelectedInstOperands,
74007 /* 210547 */ // GIR_Coverage, 866,
74008 /* 210547 */ GIR_Done,
74009 /* 210548 */ // Label 6170: @210548
74010 /* 210548 */ GIM_Reject,
74011 /* 210549 */ // Label 6165: @210549
74012 /* 210549 */ GIM_Reject,
74013 /* 210550 */ // Label 6159: @210550
74014 /* 210550 */ GIM_Reject,
74015 /* 210551 */ // Label 6098: @210551
74016 /* 210551 */ GIM_Try, /*On fail goto*//*Label 6171*/ GIMT_Encode4(210709),
74017 /* 210556 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
74018 /* 210559 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
74019 /* 210562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74020 /* 210566 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6172*/ GIMT_Encode4(210623), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24575 //
74021 /* 210573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74022 /* 210577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74023 /* 210581 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74024 /* 210584 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74025 /* 210588 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74026 /* 210592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74027 /* 210596 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74028 /* 210598 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74029 /* 210605 */ // (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)
74030 /* 210605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
74031 /* 210608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74032 /* 210610 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74033 /* 210612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74034 /* 210616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74035 /* 210621 */ GIR_RootConstrainSelectedInstOperands,
74036 /* 210622 */ // GIR_Coverage, 24575,
74037 /* 210622 */ GIR_EraseRootFromParent_Done,
74038 /* 210623 */ // Label 6172: @210623
74039 /* 210623 */ GIM_Try, /*On fail goto*//*Label 6173*/ GIMT_Encode4(210708),
74040 /* 210628 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74041 /* 210632 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6174*/ GIMT_Encode4(210685), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6345 //
74042 /* 210639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74043 /* 210643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74044 /* 210647 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74045 /* 210650 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74046 /* 210654 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74047 /* 210658 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74048 /* 210660 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74049 /* 210667 */ // (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)
74050 /* 210667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
74051 /* 210670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74052 /* 210672 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74053 /* 210674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74054 /* 210678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74055 /* 210683 */ GIR_RootConstrainSelectedInstOperands,
74056 /* 210684 */ // GIR_Coverage, 6345,
74057 /* 210684 */ GIR_EraseRootFromParent_Done,
74058 /* 210685 */ // Label 6174: @210685
74059 /* 210685 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6175*/ GIMT_Encode4(210707), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6341 //
74060 /* 210692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74061 /* 210696 */ // (strict_fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
74062 /* 210696 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
74063 /* 210701 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74064 /* 210705 */ GIR_RootConstrainSelectedInstOperands,
74065 /* 210706 */ // GIR_Coverage, 6341,
74066 /* 210706 */ GIR_Done,
74067 /* 210707 */ // Label 6175: @210707
74068 /* 210707 */ GIM_Reject,
74069 /* 210708 */ // Label 6173: @210708
74070 /* 210708 */ GIM_Reject,
74071 /* 210709 */ // Label 6171: @210709
74072 /* 210709 */ GIM_Reject,
74073 /* 210710 */ // Label 6099: @210710
74074 /* 210710 */ GIM_Try, /*On fail goto*//*Label 6176*/ GIMT_Encode4(210868),
74075 /* 210715 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
74076 /* 210718 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
74077 /* 210721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74078 /* 210725 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6177*/ GIMT_Encode4(210782), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24583 //
74079 /* 210732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74080 /* 210736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74081 /* 210740 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74082 /* 210743 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74083 /* 210747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74084 /* 210751 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74085 /* 210755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74086 /* 210757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74087 /* 210764 */ // (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)
74088 /* 210764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
74089 /* 210767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74090 /* 210769 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74091 /* 210771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74092 /* 210775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74093 /* 210780 */ GIR_RootConstrainSelectedInstOperands,
74094 /* 210781 */ // GIR_Coverage, 24583,
74095 /* 210781 */ GIR_EraseRootFromParent_Done,
74096 /* 210782 */ // Label 6177: @210782
74097 /* 210782 */ GIM_Try, /*On fail goto*//*Label 6178*/ GIMT_Encode4(210867),
74098 /* 210787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74099 /* 210791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6179*/ GIMT_Encode4(210844), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6357 //
74100 /* 210798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74101 /* 210802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74102 /* 210806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74103 /* 210809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74104 /* 210813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74105 /* 210817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74106 /* 210819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74107 /* 210826 */ // (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)
74108 /* 210826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
74109 /* 210829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74110 /* 210831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74111 /* 210833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74112 /* 210837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74113 /* 210842 */ GIR_RootConstrainSelectedInstOperands,
74114 /* 210843 */ // GIR_Coverage, 6357,
74115 /* 210843 */ GIR_EraseRootFromParent_Done,
74116 /* 210844 */ // Label 6179: @210844
74117 /* 210844 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6180*/ GIMT_Encode4(210866), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6353 //
74118 /* 210851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74119 /* 210855 */ // (strict_fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
74120 /* 210855 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
74121 /* 210860 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74122 /* 210864 */ GIR_RootConstrainSelectedInstOperands,
74123 /* 210865 */ // GIR_Coverage, 6353,
74124 /* 210865 */ GIR_Done,
74125 /* 210866 */ // Label 6180: @210866
74126 /* 210866 */ GIM_Reject,
74127 /* 210867 */ // Label 6178: @210867
74128 /* 210867 */ GIM_Reject,
74129 /* 210868 */ // Label 6176: @210868
74130 /* 210868 */ GIM_Reject,
74131 /* 210869 */ // Label 6100: @210869
74132 /* 210869 */ GIM_Try, /*On fail goto*//*Label 6181*/ GIMT_Encode4(211027),
74133 /* 210874 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
74134 /* 210877 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
74135 /* 210880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74136 /* 210884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6182*/ GIMT_Encode4(210941), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24567 //
74137 /* 210891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74138 /* 210895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74139 /* 210899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74140 /* 210902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74141 /* 210906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74142 /* 210910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74143 /* 210914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74144 /* 210916 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74145 /* 210923 */ // (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)
74146 /* 210923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
74147 /* 210926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74148 /* 210928 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74149 /* 210930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74150 /* 210934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74151 /* 210939 */ GIR_RootConstrainSelectedInstOperands,
74152 /* 210940 */ // GIR_Coverage, 24567,
74153 /* 210940 */ GIR_EraseRootFromParent_Done,
74154 /* 210941 */ // Label 6182: @210941
74155 /* 210941 */ GIM_Try, /*On fail goto*//*Label 6183*/ GIMT_Encode4(211026),
74156 /* 210946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74157 /* 210950 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6184*/ GIMT_Encode4(211003), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6333 //
74158 /* 210957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74159 /* 210961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74160 /* 210965 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74161 /* 210968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74162 /* 210972 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74163 /* 210976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74164 /* 210978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74165 /* 210985 */ // (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)
74166 /* 210985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
74167 /* 210988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74168 /* 210990 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74169 /* 210992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74170 /* 210996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74171 /* 211001 */ GIR_RootConstrainSelectedInstOperands,
74172 /* 211002 */ // GIR_Coverage, 6333,
74173 /* 211002 */ GIR_EraseRootFromParent_Done,
74174 /* 211003 */ // Label 6184: @211003
74175 /* 211003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6185*/ GIMT_Encode4(211025), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6329 //
74176 /* 211010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74177 /* 211014 */ // (strict_fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
74178 /* 211014 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
74179 /* 211019 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74180 /* 211023 */ GIR_RootConstrainSelectedInstOperands,
74181 /* 211024 */ // GIR_Coverage, 6329,
74182 /* 211024 */ GIR_Done,
74183 /* 211025 */ // Label 6185: @211025
74184 /* 211025 */ GIM_Reject,
74185 /* 211026 */ // Label 6183: @211026
74186 /* 211026 */ GIM_Reject,
74187 /* 211027 */ // Label 6181: @211027
74188 /* 211027 */ GIM_Reject,
74189 /* 211028 */ // Label 6101: @211028
74190 /* 211028 */ GIM_Try, /*On fail goto*//*Label 6186*/ GIMT_Encode4(211368),
74191 /* 211033 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
74192 /* 211036 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
74193 /* 211039 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6187*/ GIMT_Encode4(211100), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23625 //
74194 /* 211046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74195 /* 211050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74196 /* 211054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74197 /* 211058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74198 /* 211061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74199 /* 211065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74200 /* 211069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74201 /* 211073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74202 /* 211075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74203 /* 211082 */ // (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)
74204 /* 211082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
74205 /* 211085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74206 /* 211087 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74207 /* 211089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74208 /* 211093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74209 /* 211098 */ GIR_RootConstrainSelectedInstOperands,
74210 /* 211099 */ // GIR_Coverage, 23625,
74211 /* 211099 */ GIR_EraseRootFromParent_Done,
74212 /* 211100 */ // Label 6187: @211100
74213 /* 211100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6188*/ GIMT_Encode4(211161), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24535 //
74214 /* 211107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74215 /* 211111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74216 /* 211115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74217 /* 211119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74218 /* 211122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74219 /* 211126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74220 /* 211130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74221 /* 211134 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74222 /* 211136 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74223 /* 211143 */ // (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)
74224 /* 211143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
74225 /* 211146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74226 /* 211148 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74227 /* 211150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74228 /* 211154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74229 /* 211159 */ GIR_RootConstrainSelectedInstOperands,
74230 /* 211160 */ // GIR_Coverage, 24535,
74231 /* 211160 */ GIR_EraseRootFromParent_Done,
74232 /* 211161 */ // Label 6188: @211161
74233 /* 211161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6189*/ GIMT_Encode4(211222), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2117 //
74234 /* 211168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74235 /* 211172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74236 /* 211176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74237 /* 211180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74238 /* 211184 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74239 /* 211187 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74240 /* 211191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74241 /* 211195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74242 /* 211197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74243 /* 211204 */ // (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)
74244 /* 211204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
74245 /* 211207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74246 /* 211209 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74247 /* 211211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74248 /* 211215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74249 /* 211220 */ GIR_RootConstrainSelectedInstOperands,
74250 /* 211221 */ // GIR_Coverage, 2117,
74251 /* 211221 */ GIR_EraseRootFromParent_Done,
74252 /* 211222 */ // Label 6189: @211222
74253 /* 211222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6190*/ GIMT_Encode4(211283), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6285 //
74254 /* 211229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74255 /* 211233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74256 /* 211237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74257 /* 211241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74258 /* 211245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74259 /* 211248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74260 /* 211252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74261 /* 211256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74262 /* 211258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74263 /* 211265 */ // (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)
74264 /* 211265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
74265 /* 211268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74266 /* 211270 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74267 /* 211272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74268 /* 211276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74269 /* 211281 */ GIR_RootConstrainSelectedInstOperands,
74270 /* 211282 */ // GIR_Coverage, 6285,
74271 /* 211282 */ GIR_EraseRootFromParent_Done,
74272 /* 211283 */ // Label 6190: @211283
74273 /* 211283 */ GIM_Try, /*On fail goto*//*Label 6191*/ GIMT_Encode4(211337),
74274 /* 211288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74275 /* 211292 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74276 /* 211296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74277 /* 211300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6192*/ GIMT_Encode4(211318), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2115 //
74278 /* 211307 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
74279 /* 211307 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
74280 /* 211312 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74281 /* 211316 */ GIR_RootConstrainSelectedInstOperands,
74282 /* 211317 */ // GIR_Coverage, 2115,
74283 /* 211317 */ GIR_Done,
74284 /* 211318 */ // Label 6192: @211318
74285 /* 211318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6193*/ GIMT_Encode4(211336), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2131 //
74286 /* 211325 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
74287 /* 211325 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
74288 /* 211330 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74289 /* 211334 */ GIR_RootConstrainSelectedInstOperands,
74290 /* 211335 */ // GIR_Coverage, 2131,
74291 /* 211335 */ GIR_Done,
74292 /* 211336 */ // Label 6193: @211336
74293 /* 211336 */ GIM_Reject,
74294 /* 211337 */ // Label 6191: @211337
74295 /* 211337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6194*/ GIMT_Encode4(211367), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6281 //
74296 /* 211344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74297 /* 211348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74298 /* 211352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74299 /* 211356 */ // (strict_fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
74300 /* 211356 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
74301 /* 211361 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74302 /* 211365 */ GIR_RootConstrainSelectedInstOperands,
74303 /* 211366 */ // GIR_Coverage, 6281,
74304 /* 211366 */ GIR_Done,
74305 /* 211367 */ // Label 6194: @211367
74306 /* 211367 */ GIM_Reject,
74307 /* 211368 */ // Label 6186: @211368
74308 /* 211368 */ GIM_Reject,
74309 /* 211369 */ // Label 6102: @211369
74310 /* 211369 */ GIM_Try, /*On fail goto*//*Label 6195*/ GIMT_Encode4(211685),
74311 /* 211374 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
74312 /* 211377 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
74313 /* 211380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6196*/ GIMT_Encode4(211441), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23629 //
74314 /* 211387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74315 /* 211391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74316 /* 211395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74317 /* 211399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74318 /* 211402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74319 /* 211406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74320 /* 211410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74321 /* 211414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74322 /* 211416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74323 /* 211423 */ // (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)
74324 /* 211423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
74325 /* 211426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74326 /* 211428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74327 /* 211430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74328 /* 211434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74329 /* 211439 */ GIR_RootConstrainSelectedInstOperands,
74330 /* 211440 */ // GIR_Coverage, 23629,
74331 /* 211440 */ GIR_EraseRootFromParent_Done,
74332 /* 211441 */ // Label 6196: @211441
74333 /* 211441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6197*/ GIMT_Encode4(211502), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24543 //
74334 /* 211448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74335 /* 211452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74336 /* 211456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74337 /* 211460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74338 /* 211463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74339 /* 211467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74340 /* 211471 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74341 /* 211475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74342 /* 211477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74343 /* 211484 */ // (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)
74344 /* 211484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
74345 /* 211487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74346 /* 211489 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74347 /* 211491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74348 /* 211495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74349 /* 211500 */ GIR_RootConstrainSelectedInstOperands,
74350 /* 211501 */ // GIR_Coverage, 24543,
74351 /* 211501 */ GIR_EraseRootFromParent_Done,
74352 /* 211502 */ // Label 6197: @211502
74353 /* 211502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6198*/ GIMT_Encode4(211563), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2125 //
74354 /* 211509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74355 /* 211513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74356 /* 211517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74357 /* 211521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74358 /* 211525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74359 /* 211528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74360 /* 211532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74361 /* 211536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74362 /* 211538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74363 /* 211545 */ // (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)
74364 /* 211545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
74365 /* 211548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74366 /* 211550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74367 /* 211552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74368 /* 211556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74369 /* 211561 */ GIR_RootConstrainSelectedInstOperands,
74370 /* 211562 */ // GIR_Coverage, 2125,
74371 /* 211562 */ GIR_EraseRootFromParent_Done,
74372 /* 211563 */ // Label 6198: @211563
74373 /* 211563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6199*/ GIMT_Encode4(211624), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6297 //
74374 /* 211570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74375 /* 211574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74376 /* 211578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74377 /* 211582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74378 /* 211586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74379 /* 211589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74380 /* 211593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74381 /* 211597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74382 /* 211599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74383 /* 211606 */ // (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)
74384 /* 211606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
74385 /* 211609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74386 /* 211611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74387 /* 211613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74388 /* 211617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74389 /* 211622 */ GIR_RootConstrainSelectedInstOperands,
74390 /* 211623 */ // GIR_Coverage, 6297,
74391 /* 211623 */ GIR_EraseRootFromParent_Done,
74392 /* 211624 */ // Label 6199: @211624
74393 /* 211624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6200*/ GIMT_Encode4(211654), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2123 //
74394 /* 211631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74395 /* 211635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74396 /* 211639 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74397 /* 211643 */ // (strict_fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
74398 /* 211643 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
74399 /* 211648 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74400 /* 211652 */ GIR_RootConstrainSelectedInstOperands,
74401 /* 211653 */ // GIR_Coverage, 2123,
74402 /* 211653 */ GIR_Done,
74403 /* 211654 */ // Label 6200: @211654
74404 /* 211654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6201*/ GIMT_Encode4(211684), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6293 //
74405 /* 211661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74406 /* 211665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74407 /* 211669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74408 /* 211673 */ // (strict_fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
74409 /* 211673 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
74410 /* 211678 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74411 /* 211682 */ GIR_RootConstrainSelectedInstOperands,
74412 /* 211683 */ // GIR_Coverage, 6293,
74413 /* 211683 */ GIR_Done,
74414 /* 211684 */ // Label 6201: @211684
74415 /* 211684 */ GIM_Reject,
74416 /* 211685 */ // Label 6195: @211685
74417 /* 211685 */ GIM_Reject,
74418 /* 211686 */ // Label 6103: @211686
74419 /* 211686 */ GIM_Try, /*On fail goto*//*Label 6202*/ GIMT_Encode4(211844),
74420 /* 211691 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
74421 /* 211694 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
74422 /* 211697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74423 /* 211701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6203*/ GIMT_Encode4(211758), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24519 //
74424 /* 211708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74425 /* 211712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74426 /* 211716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74427 /* 211719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74428 /* 211723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74429 /* 211727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74430 /* 211731 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74431 /* 211733 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74432 /* 211740 */ // (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)
74433 /* 211740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
74434 /* 211743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74435 /* 211745 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74436 /* 211747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74437 /* 211751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74438 /* 211756 */ GIR_RootConstrainSelectedInstOperands,
74439 /* 211757 */ // GIR_Coverage, 24519,
74440 /* 211757 */ GIR_EraseRootFromParent_Done,
74441 /* 211758 */ // Label 6203: @211758
74442 /* 211758 */ GIM_Try, /*On fail goto*//*Label 6204*/ GIMT_Encode4(211843),
74443 /* 211763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74444 /* 211767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6205*/ GIMT_Encode4(211820), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6261 //
74445 /* 211774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74446 /* 211778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74447 /* 211782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74448 /* 211785 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74449 /* 211789 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74450 /* 211793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74451 /* 211795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74452 /* 211802 */ // (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)
74453 /* 211802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
74454 /* 211805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74455 /* 211807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74456 /* 211809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74457 /* 211813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74458 /* 211818 */ GIR_RootConstrainSelectedInstOperands,
74459 /* 211819 */ // GIR_Coverage, 6261,
74460 /* 211819 */ GIR_EraseRootFromParent_Done,
74461 /* 211820 */ // Label 6205: @211820
74462 /* 211820 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6206*/ GIMT_Encode4(211842), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6257 //
74463 /* 211827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74464 /* 211831 */ // (strict_fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
74465 /* 211831 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
74466 /* 211836 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74467 /* 211840 */ GIR_RootConstrainSelectedInstOperands,
74468 /* 211841 */ // GIR_Coverage, 6257,
74469 /* 211841 */ GIR_Done,
74470 /* 211842 */ // Label 6206: @211842
74471 /* 211842 */ GIM_Reject,
74472 /* 211843 */ // Label 6204: @211843
74473 /* 211843 */ GIM_Reject,
74474 /* 211844 */ // Label 6202: @211844
74475 /* 211844 */ GIM_Reject,
74476 /* 211845 */ // Label 6104: @211845
74477 /* 211845 */ GIM_Try, /*On fail goto*//*Label 6207*/ GIMT_Encode4(212185),
74478 /* 211850 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
74479 /* 211853 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
74480 /* 211856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6208*/ GIMT_Encode4(211917), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23627 //
74481 /* 211863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74482 /* 211867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74483 /* 211871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74484 /* 211875 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74485 /* 211878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74486 /* 211882 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74487 /* 211886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74488 /* 211890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74489 /* 211892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74490 /* 211899 */ // (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)
74491 /* 211899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
74492 /* 211902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74493 /* 211904 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74494 /* 211906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74495 /* 211910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74496 /* 211915 */ GIR_RootConstrainSelectedInstOperands,
74497 /* 211916 */ // GIR_Coverage, 23627,
74498 /* 211916 */ GIR_EraseRootFromParent_Done,
74499 /* 211917 */ // Label 6208: @211917
74500 /* 211917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6209*/ GIMT_Encode4(211978), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24551 //
74501 /* 211924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74502 /* 211928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74503 /* 211932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74504 /* 211936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74505 /* 211939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74506 /* 211943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74507 /* 211947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74508 /* 211951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74509 /* 211953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74510 /* 211960 */ // (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)
74511 /* 211960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
74512 /* 211963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74513 /* 211965 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74514 /* 211967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74515 /* 211971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74516 /* 211976 */ GIR_RootConstrainSelectedInstOperands,
74517 /* 211977 */ // GIR_Coverage, 24551,
74518 /* 211977 */ GIR_EraseRootFromParent_Done,
74519 /* 211978 */ // Label 6209: @211978
74520 /* 211978 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6210*/ GIMT_Encode4(212039), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2121 //
74521 /* 211985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74522 /* 211989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74523 /* 211993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74524 /* 211997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74525 /* 212001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74526 /* 212004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74527 /* 212008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74528 /* 212012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74529 /* 212014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74530 /* 212021 */ // (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)
74531 /* 212021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
74532 /* 212024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74533 /* 212026 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74534 /* 212028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74535 /* 212032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74536 /* 212037 */ GIR_RootConstrainSelectedInstOperands,
74537 /* 212038 */ // GIR_Coverage, 2121,
74538 /* 212038 */ GIR_EraseRootFromParent_Done,
74539 /* 212039 */ // Label 6210: @212039
74540 /* 212039 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6211*/ GIMT_Encode4(212100), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6309 //
74541 /* 212046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74542 /* 212050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74543 /* 212054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74544 /* 212058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74545 /* 212062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74546 /* 212065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74547 /* 212069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74548 /* 212073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74549 /* 212075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74550 /* 212082 */ // (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)
74551 /* 212082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
74552 /* 212085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74553 /* 212087 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74554 /* 212089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74555 /* 212093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74556 /* 212098 */ GIR_RootConstrainSelectedInstOperands,
74557 /* 212099 */ // GIR_Coverage, 6309,
74558 /* 212099 */ GIR_EraseRootFromParent_Done,
74559 /* 212100 */ // Label 6211: @212100
74560 /* 212100 */ GIM_Try, /*On fail goto*//*Label 6212*/ GIMT_Encode4(212154),
74561 /* 212105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74562 /* 212109 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74563 /* 212113 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74564 /* 212117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6213*/ GIMT_Encode4(212135), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2119 //
74565 /* 212124 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
74566 /* 212124 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
74567 /* 212129 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74568 /* 212133 */ GIR_RootConstrainSelectedInstOperands,
74569 /* 212134 */ // GIR_Coverage, 2119,
74570 /* 212134 */ GIR_Done,
74571 /* 212135 */ // Label 6213: @212135
74572 /* 212135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6214*/ GIMT_Encode4(212153), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2135 //
74573 /* 212142 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
74574 /* 212142 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
74575 /* 212147 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74576 /* 212151 */ GIR_RootConstrainSelectedInstOperands,
74577 /* 212152 */ // GIR_Coverage, 2135,
74578 /* 212152 */ GIR_Done,
74579 /* 212153 */ // Label 6214: @212153
74580 /* 212153 */ GIM_Reject,
74581 /* 212154 */ // Label 6212: @212154
74582 /* 212154 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6215*/ GIMT_Encode4(212184), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6305 //
74583 /* 212161 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74584 /* 212165 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74585 /* 212169 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74586 /* 212173 */ // (strict_fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
74587 /* 212173 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
74588 /* 212178 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74589 /* 212182 */ GIR_RootConstrainSelectedInstOperands,
74590 /* 212183 */ // GIR_Coverage, 6305,
74591 /* 212183 */ GIR_Done,
74592 /* 212184 */ // Label 6215: @212184
74593 /* 212184 */ GIM_Reject,
74594 /* 212185 */ // Label 6207: @212185
74595 /* 212185 */ GIM_Reject,
74596 /* 212186 */ // Label 6105: @212186
74597 /* 212186 */ GIM_Try, /*On fail goto*//*Label 6216*/ GIMT_Encode4(212502),
74598 /* 212191 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
74599 /* 212194 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
74600 /* 212197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6217*/ GIMT_Encode4(212258), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23631 //
74601 /* 212204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74602 /* 212208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74603 /* 212212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74604 /* 212216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74605 /* 212219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74606 /* 212223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74607 /* 212227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74608 /* 212231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74609 /* 212233 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74610 /* 212240 */ // (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)
74611 /* 212240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
74612 /* 212243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74613 /* 212245 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74614 /* 212247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74615 /* 212251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74616 /* 212256 */ GIR_RootConstrainSelectedInstOperands,
74617 /* 212257 */ // GIR_Coverage, 23631,
74618 /* 212257 */ GIR_EraseRootFromParent_Done,
74619 /* 212258 */ // Label 6217: @212258
74620 /* 212258 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6218*/ GIMT_Encode4(212319), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24559 //
74621 /* 212265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74622 /* 212269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74623 /* 212273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74624 /* 212277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74625 /* 212280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74626 /* 212284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74627 /* 212288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74628 /* 212292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74629 /* 212294 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74630 /* 212301 */ // (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)
74631 /* 212301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
74632 /* 212304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74633 /* 212306 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74634 /* 212308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74635 /* 212312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74636 /* 212317 */ GIR_RootConstrainSelectedInstOperands,
74637 /* 212318 */ // GIR_Coverage, 24559,
74638 /* 212318 */ GIR_EraseRootFromParent_Done,
74639 /* 212319 */ // Label 6218: @212319
74640 /* 212319 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6219*/ GIMT_Encode4(212380), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2129 //
74641 /* 212326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74642 /* 212330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74643 /* 212334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74644 /* 212338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74645 /* 212342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74646 /* 212345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74647 /* 212349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74648 /* 212353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74649 /* 212355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74650 /* 212362 */ // (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)
74651 /* 212362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
74652 /* 212365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74653 /* 212367 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74654 /* 212369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74655 /* 212373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74656 /* 212378 */ GIR_RootConstrainSelectedInstOperands,
74657 /* 212379 */ // GIR_Coverage, 2129,
74658 /* 212379 */ GIR_EraseRootFromParent_Done,
74659 /* 212380 */ // Label 6219: @212380
74660 /* 212380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6220*/ GIMT_Encode4(212441), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6321 //
74661 /* 212387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74662 /* 212391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74663 /* 212395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74664 /* 212399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74665 /* 212403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74666 /* 212406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74667 /* 212410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74668 /* 212414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74669 /* 212416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74670 /* 212423 */ // (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)
74671 /* 212423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
74672 /* 212426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74673 /* 212428 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74674 /* 212430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74675 /* 212434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74676 /* 212439 */ GIR_RootConstrainSelectedInstOperands,
74677 /* 212440 */ // GIR_Coverage, 6321,
74678 /* 212440 */ GIR_EraseRootFromParent_Done,
74679 /* 212441 */ // Label 6220: @212441
74680 /* 212441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6221*/ GIMT_Encode4(212471), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2127 //
74681 /* 212448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74682 /* 212452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74683 /* 212456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74684 /* 212460 */ // (strict_fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
74685 /* 212460 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
74686 /* 212465 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74687 /* 212469 */ GIR_RootConstrainSelectedInstOperands,
74688 /* 212470 */ // GIR_Coverage, 2127,
74689 /* 212470 */ GIR_Done,
74690 /* 212471 */ // Label 6221: @212471
74691 /* 212471 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6222*/ GIMT_Encode4(212501), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6317 //
74692 /* 212478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74693 /* 212482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74694 /* 212486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74695 /* 212490 */ // (strict_fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
74696 /* 212490 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
74697 /* 212495 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74698 /* 212499 */ GIR_RootConstrainSelectedInstOperands,
74699 /* 212500 */ // GIR_Coverage, 6317,
74700 /* 212500 */ GIR_Done,
74701 /* 212501 */ // Label 6222: @212501
74702 /* 212501 */ GIM_Reject,
74703 /* 212502 */ // Label 6216: @212502
74704 /* 212502 */ GIM_Reject,
74705 /* 212503 */ // Label 6106: @212503
74706 /* 212503 */ GIM_Try, /*On fail goto*//*Label 6223*/ GIMT_Encode4(212661),
74707 /* 212508 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
74708 /* 212511 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
74709 /* 212514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74710 /* 212518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6224*/ GIMT_Encode4(212575), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24527 //
74711 /* 212525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74712 /* 212529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74713 /* 212533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74714 /* 212536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74715 /* 212540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74716 /* 212544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74717 /* 212548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74718 /* 212550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74719 /* 212557 */ // (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)
74720 /* 212557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
74721 /* 212560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74722 /* 212562 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74723 /* 212564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74724 /* 212568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74725 /* 212573 */ GIR_RootConstrainSelectedInstOperands,
74726 /* 212574 */ // GIR_Coverage, 24527,
74727 /* 212574 */ GIR_EraseRootFromParent_Done,
74728 /* 212575 */ // Label 6224: @212575
74729 /* 212575 */ GIM_Try, /*On fail goto*//*Label 6225*/ GIMT_Encode4(212660),
74730 /* 212580 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74731 /* 212584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6226*/ GIMT_Encode4(212637), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6273 //
74732 /* 212591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74733 /* 212595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74734 /* 212599 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74735 /* 212602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74736 /* 212606 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74737 /* 212610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74738 /* 212612 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74739 /* 212619 */ // (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)
74740 /* 212619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
74741 /* 212622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74742 /* 212624 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74743 /* 212626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74744 /* 212630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74745 /* 212635 */ GIR_RootConstrainSelectedInstOperands,
74746 /* 212636 */ // GIR_Coverage, 6273,
74747 /* 212636 */ GIR_EraseRootFromParent_Done,
74748 /* 212637 */ // Label 6226: @212637
74749 /* 212637 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6227*/ GIMT_Encode4(212659), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6269 //
74750 /* 212644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74751 /* 212648 */ // (strict_fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
74752 /* 212648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
74753 /* 212653 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74754 /* 212657 */ GIR_RootConstrainSelectedInstOperands,
74755 /* 212658 */ // GIR_Coverage, 6269,
74756 /* 212658 */ GIR_Done,
74757 /* 212659 */ // Label 6227: @212659
74758 /* 212659 */ GIM_Reject,
74759 /* 212660 */ // Label 6225: @212660
74760 /* 212660 */ GIM_Reject,
74761 /* 212661 */ // Label 6223: @212661
74762 /* 212661 */ GIM_Reject,
74763 /* 212662 */ // Label 6107: @212662
74764 /* 212662 */ GIM_Reject,
74765 /* 212663 */ // Label 75: @212663
74766 /* 212663 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6241*/ GIMT_Encode4(216197),
74767 /* 212674 */ /*GILLT_s16*//*Label 6228*/ GIMT_Encode4(212766),
74768 /* 212678 */ /*GILLT_s32*//*Label 6229*/ GIMT_Encode4(212862),
74769 /* 212682 */ /*GILLT_s64*//*Label 6230*/ GIMT_Encode4(213542),
74770 /* 212686 */ /*GILLT_s80*//*Label 6231*/ GIMT_Encode4(214348), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
74771 /* 212730 */ /*GILLT_v8s16*//*Label 6232*/ GIMT_Encode4(214889),
74772 /* 212734 */ /*GILLT_v16s16*//*Label 6233*/ GIMT_Encode4(214985),
74773 /* 212738 */ /*GILLT_v32s16*//*Label 6234*/ GIMT_Encode4(215081),
74774 /* 212742 */ /*GILLT_v4s32*//*Label 6235*/ GIMT_Encode4(215177),
74775 /* 212746 */ /*GILLT_v8s32*//*Label 6236*/ GIMT_Encode4(215396),
74776 /* 212750 */ /*GILLT_v16s32*//*Label 6237*/ GIMT_Encode4(215591),
74777 /* 212754 */ /*GILLT_v2s64*//*Label 6238*/ GIMT_Encode4(215687),
74778 /* 212758 */ /*GILLT_v4s64*//*Label 6239*/ GIMT_Encode4(215906),
74779 /* 212762 */ /*GILLT_v8s64*//*Label 6240*/ GIMT_Encode4(216101),
74780 /* 212766 */ // Label 6228: @212766
74781 /* 212766 */ GIM_Try, /*On fail goto*//*Label 6242*/ GIMT_Encode4(212861),
74782 /* 212771 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
74783 /* 212774 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
74784 /* 212777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74785 /* 212781 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74786 /* 212785 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6243*/ GIMT_Encode4(212838), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6069 //
74787 /* 212792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74788 /* 212796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74789 /* 212800 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74790 /* 212803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74791 /* 212807 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74792 /* 212811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74793 /* 212813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74794 /* 212820 */ // (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)
74795 /* 212820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
74796 /* 212823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74797 /* 212825 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74798 /* 212827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74799 /* 212831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74800 /* 212836 */ GIR_RootConstrainSelectedInstOperands,
74801 /* 212837 */ // GIR_Coverage, 6069,
74802 /* 212837 */ GIR_EraseRootFromParent_Done,
74803 /* 212838 */ // Label 6243: @212838
74804 /* 212838 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6244*/ GIMT_Encode4(212860), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6067 //
74805 /* 212845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74806 /* 212849 */ // (strict_fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
74807 /* 212849 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
74808 /* 212854 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74809 /* 212858 */ GIR_RootConstrainSelectedInstOperands,
74810 /* 212859 */ // GIR_Coverage, 6067,
74811 /* 212859 */ GIR_Done,
74812 /* 212860 */ // Label 6244: @212860
74813 /* 212860 */ GIM_Reject,
74814 /* 212861 */ // Label 6242: @212861
74815 /* 212861 */ GIM_Reject,
74816 /* 212862 */ // Label 6229: @212862
74817 /* 212862 */ GIM_Try, /*On fail goto*//*Label 6245*/ GIMT_Encode4(213541),
74818 /* 212867 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
74819 /* 212870 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
74820 /* 212873 */ GIM_Try, /*On fail goto*//*Label 6246*/ GIMT_Encode4(213239),
74821 /* 212878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74822 /* 212882 */ GIM_Try, /*On fail goto*//*Label 6247*/ GIMT_Encode4(213060),
74823 /* 212887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74824 /* 212891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6248*/ GIMT_Encode4(212947), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 940 //
74825 /* 212898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74826 /* 212902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74827 /* 212906 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74828 /* 212913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74829 /* 212917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74830 /* 212919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74831 /* 212926 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74832 /* 212926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
74833 /* 212929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74834 /* 212931 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74835 /* 212933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74836 /* 212937 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74837 /* 212940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74838 /* 212945 */ GIR_RootConstrainSelectedInstOperands,
74839 /* 212946 */ // GIR_Coverage, 940,
74840 /* 212946 */ GIR_EraseRootFromParent_Done,
74841 /* 212947 */ // Label 6248: @212947
74842 /* 212947 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6249*/ GIMT_Encode4(213003), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 942 //
74843 /* 212954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74844 /* 212958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74845 /* 212962 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74846 /* 212969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74847 /* 212973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74848 /* 212975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74849 /* 212982 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74850 /* 212982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
74851 /* 212985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74852 /* 212987 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74853 /* 212989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74854 /* 212993 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74855 /* 212996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74856 /* 213001 */ GIR_RootConstrainSelectedInstOperands,
74857 /* 213002 */ // GIR_Coverage, 942,
74858 /* 213002 */ GIR_EraseRootFromParent_Done,
74859 /* 213003 */ // Label 6249: @213003
74860 /* 213003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6250*/ GIMT_Encode4(213059), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 930 //
74861 /* 213010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74862 /* 213014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74863 /* 213018 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74864 /* 213021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74865 /* 213025 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74866 /* 213029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74867 /* 213031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74868 /* 213038 */ // (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)
74869 /* 213038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
74870 /* 213041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74871 /* 213043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74872 /* 213045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74873 /* 213049 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74874 /* 213052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74875 /* 213057 */ GIR_RootConstrainSelectedInstOperands,
74876 /* 213058 */ // GIR_Coverage, 930,
74877 /* 213058 */ GIR_EraseRootFromParent_Done,
74878 /* 213059 */ // Label 6250: @213059
74879 /* 213059 */ GIM_Reject,
74880 /* 213060 */ // Label 6247: @213060
74881 /* 213060 */ GIM_Try, /*On fail goto*//*Label 6251*/ GIMT_Encode4(213238),
74882 /* 213065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74883 /* 213069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6252*/ GIMT_Encode4(213125), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 918 //
74884 /* 213076 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74885 /* 213080 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74886 /* 213084 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74887 /* 213091 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74888 /* 213095 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74889 /* 213097 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74890 /* 213104 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74891 /* 213104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
74892 /* 213107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74893 /* 213109 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74894 /* 213111 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74895 /* 213115 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74896 /* 213118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74897 /* 213123 */ GIR_RootConstrainSelectedInstOperands,
74898 /* 213124 */ // GIR_Coverage, 918,
74899 /* 213124 */ GIR_EraseRootFromParent_Done,
74900 /* 213125 */ // Label 6252: @213125
74901 /* 213125 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6253*/ GIMT_Encode4(213181), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 920 //
74902 /* 213132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74903 /* 213136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74904 /* 213140 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74905 /* 213147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74906 /* 213151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74907 /* 213153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74908 /* 213160 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74909 /* 213160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
74910 /* 213163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74911 /* 213165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74912 /* 213167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74913 /* 213171 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74914 /* 213174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74915 /* 213179 */ GIR_RootConstrainSelectedInstOperands,
74916 /* 213180 */ // GIR_Coverage, 920,
74917 /* 213180 */ GIR_EraseRootFromParent_Done,
74918 /* 213181 */ // Label 6253: @213181
74919 /* 213181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6254*/ GIMT_Encode4(213237), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 908 //
74920 /* 213188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74921 /* 213192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74922 /* 213196 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74923 /* 213199 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74924 /* 213203 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74925 /* 213207 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74926 /* 213209 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74927 /* 213216 */ // (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)
74928 /* 213216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
74929 /* 213219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74930 /* 213221 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74931 /* 213223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74932 /* 213227 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74933 /* 213230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74934 /* 213235 */ GIR_RootConstrainSelectedInstOperands,
74935 /* 213236 */ // GIR_Coverage, 908,
74936 /* 213236 */ GIR_EraseRootFromParent_Done,
74937 /* 213237 */ // Label 6254: @213237
74938 /* 213237 */ GIM_Reject,
74939 /* 213238 */ // Label 6251: @213238
74940 /* 213238 */ GIM_Reject,
74941 /* 213239 */ // Label 6246: @213239
74942 /* 213239 */ GIM_Try, /*On fail goto*//*Label 6255*/ GIMT_Encode4(213359),
74943 /* 213244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74944 /* 213248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74945 /* 213252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6256*/ GIMT_Encode4(213305), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2221 //
74946 /* 213259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74947 /* 213263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74948 /* 213267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74949 /* 213270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74950 /* 213274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74951 /* 213278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74952 /* 213280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74953 /* 213287 */ // (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)
74954 /* 213287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
74955 /* 213290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74956 /* 213292 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74957 /* 213294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74958 /* 213298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74959 /* 213303 */ GIR_RootConstrainSelectedInstOperands,
74960 /* 213304 */ // GIR_Coverage, 2221,
74961 /* 213304 */ GIR_EraseRootFromParent_Done,
74962 /* 213305 */ // Label 6256: @213305
74963 /* 213305 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6257*/ GIMT_Encode4(213358), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2229 //
74964 /* 213312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74965 /* 213316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74966 /* 213320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74967 /* 213323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74968 /* 213327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74969 /* 213331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74970 /* 213333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74971 /* 213340 */ // (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)
74972 /* 213340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
74973 /* 213343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74974 /* 213345 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74975 /* 213347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74976 /* 213351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74977 /* 213356 */ GIR_RootConstrainSelectedInstOperands,
74978 /* 213357 */ // GIR_Coverage, 2229,
74979 /* 213357 */ GIR_EraseRootFromParent_Done,
74980 /* 213358 */ // Label 6257: @213358
74981 /* 213358 */ GIM_Reject,
74982 /* 213359 */ // Label 6255: @213359
74983 /* 213359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6258*/ GIMT_Encode4(213420), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6031 //
74984 /* 213366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74985 /* 213370 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74986 /* 213374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74987 /* 213378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74988 /* 213382 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74989 /* 213385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74990 /* 213389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74991 /* 213393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74992 /* 213395 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74993 /* 213402 */ // (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)
74994 /* 213402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
74995 /* 213405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74996 /* 213407 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74997 /* 213409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74998 /* 213413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74999 /* 213418 */ GIR_RootConstrainSelectedInstOperands,
75000 /* 213419 */ // GIR_Coverage, 6031,
75001 /* 213419 */ GIR_EraseRootFromParent_Done,
75002 /* 213420 */ // Label 6258: @213420
75003 /* 213420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6259*/ GIMT_Encode4(213456), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 868 //
75004 /* 213427 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75005 /* 213431 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75006 /* 213435 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75007 /* 213439 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
75008 /* 213439 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
75009 /* 213444 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
75010 /* 213450 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75011 /* 213454 */ GIR_RootConstrainSelectedInstOperands,
75012 /* 213455 */ // GIR_Coverage, 868,
75013 /* 213455 */ GIR_Done,
75014 /* 213456 */ // Label 6259: @213456
75015 /* 213456 */ GIM_Try, /*On fail goto*//*Label 6260*/ GIMT_Encode4(213510),
75016 /* 213461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75017 /* 213465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75018 /* 213469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75019 /* 213473 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6261*/ GIMT_Encode4(213491), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2219 //
75020 /* 213480 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
75021 /* 213480 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
75022 /* 213485 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75023 /* 213489 */ GIR_RootConstrainSelectedInstOperands,
75024 /* 213490 */ // GIR_Coverage, 2219,
75025 /* 213490 */ GIR_Done,
75026 /* 213491 */ // Label 6261: @213491
75027 /* 213491 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6262*/ GIMT_Encode4(213509), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2227 //
75028 /* 213498 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
75029 /* 213498 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
75030 /* 213503 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75031 /* 213507 */ GIR_RootConstrainSelectedInstOperands,
75032 /* 213508 */ // GIR_Coverage, 2227,
75033 /* 213508 */ GIR_Done,
75034 /* 213509 */ // Label 6262: @213509
75035 /* 213509 */ GIM_Reject,
75036 /* 213510 */ // Label 6260: @213510
75037 /* 213510 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6263*/ GIMT_Encode4(213540), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6029 //
75038 /* 213517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75039 /* 213521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75040 /* 213525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75041 /* 213529 */ // (strict_fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
75042 /* 213529 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
75043 /* 213534 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75044 /* 213538 */ GIR_RootConstrainSelectedInstOperands,
75045 /* 213539 */ // GIR_Coverage, 6029,
75046 /* 213539 */ GIR_Done,
75047 /* 213540 */ // Label 6263: @213540
75048 /* 213540 */ GIM_Reject,
75049 /* 213541 */ // Label 6245: @213541
75050 /* 213541 */ GIM_Reject,
75051 /* 213542 */ // Label 6230: @213542
75052 /* 213542 */ GIM_Try, /*On fail goto*//*Label 6264*/ GIMT_Encode4(214347),
75053 /* 213547 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
75054 /* 213550 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
75055 /* 213553 */ GIM_Try, /*On fail goto*//*Label 6265*/ GIMT_Encode4(214045),
75056 /* 213558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75057 /* 213562 */ GIM_Try, /*On fail goto*//*Label 6266*/ GIMT_Encode4(213803),
75058 /* 213567 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75059 /* 213571 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6267*/ GIMT_Encode4(213627), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 944 //
75060 /* 213578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75061 /* 213582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75062 /* 213586 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75063 /* 213593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75064 /* 213597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75065 /* 213599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75066 /* 213606 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75067 /* 213606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
75068 /* 213609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75069 /* 213611 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75070 /* 213613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75071 /* 213617 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75072 /* 213620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75073 /* 213625 */ GIR_RootConstrainSelectedInstOperands,
75074 /* 213626 */ // GIR_Coverage, 944,
75075 /* 213626 */ GIR_EraseRootFromParent_Done,
75076 /* 213627 */ // Label 6267: @213627
75077 /* 213627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6268*/ GIMT_Encode4(213683), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 946 //
75078 /* 213634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75079 /* 213638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75080 /* 213642 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75081 /* 213649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75082 /* 213653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75083 /* 213655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75084 /* 213662 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75085 /* 213662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
75086 /* 213665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75087 /* 213667 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75088 /* 213669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75089 /* 213673 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75090 /* 213676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75091 /* 213681 */ GIR_RootConstrainSelectedInstOperands,
75092 /* 213682 */ // GIR_Coverage, 946,
75093 /* 213682 */ GIR_EraseRootFromParent_Done,
75094 /* 213683 */ // Label 6268: @213683
75095 /* 213683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6269*/ GIMT_Encode4(213746), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 934 //
75096 /* 213690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75097 /* 213694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75098 /* 213698 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75099 /* 213701 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75100 /* 213705 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75101 /* 213712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75102 /* 213716 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75103 /* 213718 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75104 /* 213725 */ // (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)
75105 /* 213725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
75106 /* 213728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75107 /* 213730 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75108 /* 213732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75109 /* 213736 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75110 /* 213739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75111 /* 213744 */ GIR_RootConstrainSelectedInstOperands,
75112 /* 213745 */ // GIR_Coverage, 934,
75113 /* 213745 */ GIR_EraseRootFromParent_Done,
75114 /* 213746 */ // Label 6269: @213746
75115 /* 213746 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6270*/ GIMT_Encode4(213802), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 932 //
75116 /* 213753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75117 /* 213757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75118 /* 213761 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75119 /* 213764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75120 /* 213768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75121 /* 213772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75122 /* 213774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75123 /* 213781 */ // (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)
75124 /* 213781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
75125 /* 213784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75126 /* 213786 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75127 /* 213788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75128 /* 213792 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75129 /* 213795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75130 /* 213800 */ GIR_RootConstrainSelectedInstOperands,
75131 /* 213801 */ // GIR_Coverage, 932,
75132 /* 213801 */ GIR_EraseRootFromParent_Done,
75133 /* 213802 */ // Label 6270: @213802
75134 /* 213802 */ GIM_Reject,
75135 /* 213803 */ // Label 6266: @213803
75136 /* 213803 */ GIM_Try, /*On fail goto*//*Label 6271*/ GIMT_Encode4(214044),
75137 /* 213808 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75138 /* 213812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6272*/ GIMT_Encode4(213868), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 922 //
75139 /* 213819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75140 /* 213823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75141 /* 213827 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75142 /* 213834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75143 /* 213838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75144 /* 213840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75145 /* 213847 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75146 /* 213847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
75147 /* 213850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75148 /* 213852 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75149 /* 213854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75150 /* 213858 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75151 /* 213861 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75152 /* 213866 */ GIR_RootConstrainSelectedInstOperands,
75153 /* 213867 */ // GIR_Coverage, 922,
75154 /* 213867 */ GIR_EraseRootFromParent_Done,
75155 /* 213868 */ // Label 6272: @213868
75156 /* 213868 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6273*/ GIMT_Encode4(213924), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 924 //
75157 /* 213875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75158 /* 213879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75159 /* 213883 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75160 /* 213890 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75161 /* 213894 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75162 /* 213896 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75163 /* 213903 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75164 /* 213903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
75165 /* 213906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75166 /* 213908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75167 /* 213910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75168 /* 213914 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75169 /* 213917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75170 /* 213922 */ GIR_RootConstrainSelectedInstOperands,
75171 /* 213923 */ // GIR_Coverage, 924,
75172 /* 213923 */ GIR_EraseRootFromParent_Done,
75173 /* 213924 */ // Label 6273: @213924
75174 /* 213924 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6274*/ GIMT_Encode4(213987), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 912 //
75175 /* 213931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75176 /* 213935 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75177 /* 213939 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75178 /* 213942 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75179 /* 213946 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75180 /* 213953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75181 /* 213957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75182 /* 213959 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75183 /* 213966 */ // (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)
75184 /* 213966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
75185 /* 213969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75186 /* 213971 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75187 /* 213973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75188 /* 213977 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75189 /* 213980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75190 /* 213985 */ GIR_RootConstrainSelectedInstOperands,
75191 /* 213986 */ // GIR_Coverage, 912,
75192 /* 213986 */ GIR_EraseRootFromParent_Done,
75193 /* 213987 */ // Label 6274: @213987
75194 /* 213987 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6275*/ GIMT_Encode4(214043), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 910 //
75195 /* 213994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75196 /* 213998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75197 /* 214002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75198 /* 214005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75199 /* 214009 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75200 /* 214013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75201 /* 214015 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75202 /* 214022 */ // (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)
75203 /* 214022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
75204 /* 214025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75205 /* 214027 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75206 /* 214029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75207 /* 214033 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75208 /* 214036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75209 /* 214041 */ GIR_RootConstrainSelectedInstOperands,
75210 /* 214042 */ // GIR_Coverage, 910,
75211 /* 214042 */ GIR_EraseRootFromParent_Done,
75212 /* 214043 */ // Label 6275: @214043
75213 /* 214043 */ GIM_Reject,
75214 /* 214044 */ // Label 6271: @214044
75215 /* 214044 */ GIM_Reject,
75216 /* 214045 */ // Label 6265: @214045
75217 /* 214045 */ GIM_Try, /*On fail goto*//*Label 6276*/ GIMT_Encode4(214165),
75218 /* 214050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75219 /* 214054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75220 /* 214058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6277*/ GIMT_Encode4(214111), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2225 //
75221 /* 214065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75222 /* 214069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75223 /* 214073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75224 /* 214076 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75225 /* 214080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75226 /* 214084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75227 /* 214086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75228 /* 214093 */ // (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)
75229 /* 214093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
75230 /* 214096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75231 /* 214098 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75232 /* 214100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75233 /* 214104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75234 /* 214109 */ GIR_RootConstrainSelectedInstOperands,
75235 /* 214110 */ // GIR_Coverage, 2225,
75236 /* 214110 */ GIR_EraseRootFromParent_Done,
75237 /* 214111 */ // Label 6277: @214111
75238 /* 214111 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6278*/ GIMT_Encode4(214164), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2233 //
75239 /* 214118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75240 /* 214122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75241 /* 214126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75242 /* 214129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75243 /* 214133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75244 /* 214137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75245 /* 214139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75246 /* 214146 */ // (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)
75247 /* 214146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
75248 /* 214149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75249 /* 214151 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75250 /* 214153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75251 /* 214157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75252 /* 214162 */ GIR_RootConstrainSelectedInstOperands,
75253 /* 214163 */ // GIR_Coverage, 2233,
75254 /* 214163 */ GIR_EraseRootFromParent_Done,
75255 /* 214164 */ // Label 6278: @214164
75256 /* 214164 */ GIM_Reject,
75257 /* 214165 */ // Label 6276: @214165
75258 /* 214165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6279*/ GIMT_Encode4(214226), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6050 //
75259 /* 214172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75260 /* 214176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75261 /* 214180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75262 /* 214184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75263 /* 214188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75264 /* 214191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75265 /* 214195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75266 /* 214199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75267 /* 214201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75268 /* 214208 */ // (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)
75269 /* 214208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
75270 /* 214211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75271 /* 214213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75272 /* 214215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75273 /* 214219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75274 /* 214224 */ GIR_RootConstrainSelectedInstOperands,
75275 /* 214225 */ // GIR_Coverage, 6050,
75276 /* 214225 */ GIR_EraseRootFromParent_Done,
75277 /* 214226 */ // Label 6279: @214226
75278 /* 214226 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6280*/ GIMT_Encode4(214262), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 870 //
75279 /* 214233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75280 /* 214237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75281 /* 214241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75282 /* 214245 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
75283 /* 214245 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
75284 /* 214250 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
75285 /* 214256 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75286 /* 214260 */ GIR_RootConstrainSelectedInstOperands,
75287 /* 214261 */ // GIR_Coverage, 870,
75288 /* 214261 */ GIR_Done,
75289 /* 214262 */ // Label 6280: @214262
75290 /* 214262 */ GIM_Try, /*On fail goto*//*Label 6281*/ GIMT_Encode4(214316),
75291 /* 214267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75292 /* 214271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75293 /* 214275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75294 /* 214279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6282*/ GIMT_Encode4(214297), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2223 //
75295 /* 214286 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
75296 /* 214286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
75297 /* 214291 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75298 /* 214295 */ GIR_RootConstrainSelectedInstOperands,
75299 /* 214296 */ // GIR_Coverage, 2223,
75300 /* 214296 */ GIR_Done,
75301 /* 214297 */ // Label 6282: @214297
75302 /* 214297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6283*/ GIMT_Encode4(214315), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2231 //
75303 /* 214304 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
75304 /* 214304 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
75305 /* 214309 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75306 /* 214313 */ GIR_RootConstrainSelectedInstOperands,
75307 /* 214314 */ // GIR_Coverage, 2231,
75308 /* 214314 */ GIR_Done,
75309 /* 214315 */ // Label 6283: @214315
75310 /* 214315 */ GIM_Reject,
75311 /* 214316 */ // Label 6281: @214316
75312 /* 214316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6284*/ GIMT_Encode4(214346), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6048 //
75313 /* 214323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75314 /* 214327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75315 /* 214331 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75316 /* 214335 */ // (strict_fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
75317 /* 214335 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
75318 /* 214340 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75319 /* 214344 */ GIR_RootConstrainSelectedInstOperands,
75320 /* 214345 */ // GIR_Coverage, 6048,
75321 /* 214345 */ GIR_Done,
75322 /* 214346 */ // Label 6284: @214346
75323 /* 214346 */ GIM_Reject,
75324 /* 214347 */ // Label 6264: @214347
75325 /* 214347 */ GIM_Reject,
75326 /* 214348 */ // Label 6231: @214348
75327 /* 214348 */ GIM_Try, /*On fail goto*//*Label 6285*/ GIMT_Encode4(214888),
75328 /* 214353 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
75329 /* 214356 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
75330 /* 214359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75331 /* 214363 */ GIM_Try, /*On fail goto*//*Label 6286*/ GIMT_Encode4(214611),
75332 /* 214368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75333 /* 214372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6287*/ GIMT_Encode4(214428), GIMT_Encode2(GIFBS_HasX87), // Rule ID 948 //
75334 /* 214379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75335 /* 214383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75336 /* 214387 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75337 /* 214394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75338 /* 214398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75339 /* 214400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75340 /* 214407 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75341 /* 214407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
75342 /* 214410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75343 /* 214412 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75344 /* 214414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75345 /* 214418 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75346 /* 214421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75347 /* 214426 */ GIR_RootConstrainSelectedInstOperands,
75348 /* 214427 */ // GIR_Coverage, 948,
75349 /* 214427 */ GIR_EraseRootFromParent_Done,
75350 /* 214428 */ // Label 6287: @214428
75351 /* 214428 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6288*/ GIMT_Encode4(214484), GIMT_Encode2(GIFBS_HasX87), // Rule ID 950 //
75352 /* 214435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75353 /* 214439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75354 /* 214443 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75355 /* 214450 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75356 /* 214454 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75357 /* 214456 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75358 /* 214463 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75359 /* 214463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
75360 /* 214466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75361 /* 214468 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75362 /* 214470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75363 /* 214474 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75364 /* 214477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75365 /* 214482 */ GIR_RootConstrainSelectedInstOperands,
75366 /* 214483 */ // GIR_Coverage, 950,
75367 /* 214483 */ GIR_EraseRootFromParent_Done,
75368 /* 214484 */ // Label 6288: @214484
75369 /* 214484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6289*/ GIMT_Encode4(214547), GIMT_Encode2(GIFBS_HasX87), // Rule ID 936 //
75370 /* 214491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75371 /* 214495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75372 /* 214499 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75373 /* 214502 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75374 /* 214506 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75375 /* 214513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75376 /* 214517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75377 /* 214519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75378 /* 214526 */ // (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)
75379 /* 214526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
75380 /* 214529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75381 /* 214531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75382 /* 214533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75383 /* 214537 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75384 /* 214540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75385 /* 214545 */ GIR_RootConstrainSelectedInstOperands,
75386 /* 214546 */ // GIR_Coverage, 936,
75387 /* 214546 */ GIR_EraseRootFromParent_Done,
75388 /* 214547 */ // Label 6289: @214547
75389 /* 214547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6290*/ GIMT_Encode4(214610), GIMT_Encode2(GIFBS_HasX87), // Rule ID 938 //
75390 /* 214554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75391 /* 214558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75392 /* 214562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75393 /* 214565 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75394 /* 214569 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
75395 /* 214576 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75396 /* 214580 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75397 /* 214582 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75398 /* 214589 */ // (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)
75399 /* 214589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
75400 /* 214592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75401 /* 214594 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75402 /* 214596 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75403 /* 214600 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75404 /* 214603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75405 /* 214608 */ GIR_RootConstrainSelectedInstOperands,
75406 /* 214609 */ // GIR_Coverage, 938,
75407 /* 214609 */ GIR_EraseRootFromParent_Done,
75408 /* 214610 */ // Label 6290: @214610
75409 /* 214610 */ GIM_Reject,
75410 /* 214611 */ // Label 6286: @214611
75411 /* 214611 */ GIM_Try, /*On fail goto*//*Label 6291*/ GIMT_Encode4(214887),
75412 /* 214616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75413 /* 214620 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6292*/ GIMT_Encode4(214676), GIMT_Encode2(GIFBS_HasX87), // Rule ID 926 //
75414 /* 214627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75415 /* 214631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75416 /* 214635 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75417 /* 214642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75418 /* 214646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75419 /* 214648 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75420 /* 214655 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75421 /* 214655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
75422 /* 214658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75423 /* 214660 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75424 /* 214662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75425 /* 214666 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75426 /* 214669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75427 /* 214674 */ GIR_RootConstrainSelectedInstOperands,
75428 /* 214675 */ // GIR_Coverage, 926,
75429 /* 214675 */ GIR_EraseRootFromParent_Done,
75430 /* 214676 */ // Label 6292: @214676
75431 /* 214676 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6293*/ GIMT_Encode4(214732), GIMT_Encode2(GIFBS_HasX87), // Rule ID 928 //
75432 /* 214683 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75433 /* 214687 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75434 /* 214691 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75435 /* 214698 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75436 /* 214702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75437 /* 214704 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75438 /* 214711 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75439 /* 214711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
75440 /* 214714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75441 /* 214716 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75442 /* 214718 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75443 /* 214722 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75444 /* 214725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75445 /* 214730 */ GIR_RootConstrainSelectedInstOperands,
75446 /* 214731 */ // GIR_Coverage, 928,
75447 /* 214731 */ GIR_EraseRootFromParent_Done,
75448 /* 214732 */ // Label 6293: @214732
75449 /* 214732 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6294*/ GIMT_Encode4(214795), GIMT_Encode2(GIFBS_HasX87), // Rule ID 914 //
75450 /* 214739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75451 /* 214743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75452 /* 214747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75453 /* 214750 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75454 /* 214754 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75455 /* 214761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75456 /* 214765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75457 /* 214767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75458 /* 214774 */ // (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)
75459 /* 214774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
75460 /* 214777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75461 /* 214779 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75462 /* 214781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75463 /* 214785 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75464 /* 214788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75465 /* 214793 */ GIR_RootConstrainSelectedInstOperands,
75466 /* 214794 */ // GIR_Coverage, 914,
75467 /* 214794 */ GIR_EraseRootFromParent_Done,
75468 /* 214795 */ // Label 6294: @214795
75469 /* 214795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6295*/ GIMT_Encode4(214858), GIMT_Encode2(GIFBS_HasX87), // Rule ID 916 //
75470 /* 214802 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75471 /* 214806 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75472 /* 214810 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75473 /* 214813 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75474 /* 214817 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
75475 /* 214824 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75476 /* 214828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75477 /* 214830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75478 /* 214837 */ // (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)
75479 /* 214837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
75480 /* 214840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75481 /* 214842 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75482 /* 214844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75483 /* 214848 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75484 /* 214851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75485 /* 214856 */ GIR_RootConstrainSelectedInstOperands,
75486 /* 214857 */ // GIR_Coverage, 916,
75487 /* 214857 */ GIR_EraseRootFromParent_Done,
75488 /* 214858 */ // Label 6295: @214858
75489 /* 214858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6296*/ GIMT_Encode4(214886), GIMT_Encode2(GIFBS_HasX87), // Rule ID 872 //
75490 /* 214865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75491 /* 214869 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
75492 /* 214869 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
75493 /* 214874 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
75494 /* 214880 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75495 /* 214884 */ GIR_RootConstrainSelectedInstOperands,
75496 /* 214885 */ // GIR_Coverage, 872,
75497 /* 214885 */ GIR_Done,
75498 /* 214886 */ // Label 6296: @214886
75499 /* 214886 */ GIM_Reject,
75500 /* 214887 */ // Label 6291: @214887
75501 /* 214887 */ GIM_Reject,
75502 /* 214888 */ // Label 6285: @214888
75503 /* 214888 */ GIM_Reject,
75504 /* 214889 */ // Label 6232: @214889
75505 /* 214889 */ GIM_Try, /*On fail goto*//*Label 6297*/ GIMT_Encode4(214984),
75506 /* 214894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
75507 /* 214897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
75508 /* 214900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75509 /* 214904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75510 /* 214908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6298*/ GIMT_Encode4(214961), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6579 //
75511 /* 214915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75512 /* 214919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75513 /* 214923 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75514 /* 214926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75515 /* 214930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75516 /* 214934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75517 /* 214936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75518 /* 214943 */ // (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)
75519 /* 214943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
75520 /* 214946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75521 /* 214948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75522 /* 214950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75523 /* 214954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75524 /* 214959 */ GIR_RootConstrainSelectedInstOperands,
75525 /* 214960 */ // GIR_Coverage, 6579,
75526 /* 214960 */ GIR_EraseRootFromParent_Done,
75527 /* 214961 */ // Label 6298: @214961
75528 /* 214961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6299*/ GIMT_Encode4(214983), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6575 //
75529 /* 214968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75530 /* 214972 */ // (strict_fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
75531 /* 214972 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
75532 /* 214977 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75533 /* 214981 */ GIR_RootConstrainSelectedInstOperands,
75534 /* 214982 */ // GIR_Coverage, 6575,
75535 /* 214982 */ GIR_Done,
75536 /* 214983 */ // Label 6299: @214983
75537 /* 214983 */ GIM_Reject,
75538 /* 214984 */ // Label 6297: @214984
75539 /* 214984 */ GIM_Reject,
75540 /* 214985 */ // Label 6233: @214985
75541 /* 214985 */ GIM_Try, /*On fail goto*//*Label 6300*/ GIMT_Encode4(215080),
75542 /* 214990 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
75543 /* 214993 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
75544 /* 214996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75545 /* 215000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75546 /* 215004 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6301*/ GIMT_Encode4(215057), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6591 //
75547 /* 215011 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75548 /* 215015 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75549 /* 215019 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75550 /* 215022 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75551 /* 215026 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75552 /* 215030 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75553 /* 215032 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75554 /* 215039 */ // (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)
75555 /* 215039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
75556 /* 215042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75557 /* 215044 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75558 /* 215046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75559 /* 215050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75560 /* 215055 */ GIR_RootConstrainSelectedInstOperands,
75561 /* 215056 */ // GIR_Coverage, 6591,
75562 /* 215056 */ GIR_EraseRootFromParent_Done,
75563 /* 215057 */ // Label 6301: @215057
75564 /* 215057 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6302*/ GIMT_Encode4(215079), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6587 //
75565 /* 215064 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75566 /* 215068 */ // (strict_fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
75567 /* 215068 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
75568 /* 215073 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75569 /* 215077 */ GIR_RootConstrainSelectedInstOperands,
75570 /* 215078 */ // GIR_Coverage, 6587,
75571 /* 215078 */ GIR_Done,
75572 /* 215079 */ // Label 6302: @215079
75573 /* 215079 */ GIM_Reject,
75574 /* 215080 */ // Label 6300: @215080
75575 /* 215080 */ GIM_Reject,
75576 /* 215081 */ // Label 6234: @215081
75577 /* 215081 */ GIM_Try, /*On fail goto*//*Label 6303*/ GIMT_Encode4(215176),
75578 /* 215086 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
75579 /* 215089 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
75580 /* 215092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75581 /* 215096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75582 /* 215100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6304*/ GIMT_Encode4(215153), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6567 //
75583 /* 215107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75584 /* 215111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75585 /* 215115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75586 /* 215118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75587 /* 215122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75588 /* 215126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75589 /* 215128 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75590 /* 215135 */ // (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)
75591 /* 215135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
75592 /* 215138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75593 /* 215140 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75594 /* 215142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75595 /* 215146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75596 /* 215151 */ GIR_RootConstrainSelectedInstOperands,
75597 /* 215152 */ // GIR_Coverage, 6567,
75598 /* 215152 */ GIR_EraseRootFromParent_Done,
75599 /* 215153 */ // Label 6304: @215153
75600 /* 215153 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6305*/ GIMT_Encode4(215175), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6563 //
75601 /* 215160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75602 /* 215164 */ // (strict_fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
75603 /* 215164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
75604 /* 215169 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75605 /* 215173 */ GIR_RootConstrainSelectedInstOperands,
75606 /* 215174 */ // GIR_Coverage, 6563,
75607 /* 215174 */ GIR_Done,
75608 /* 215175 */ // Label 6305: @215175
75609 /* 215175 */ GIM_Reject,
75610 /* 215176 */ // Label 6303: @215176
75611 /* 215176 */ GIM_Reject,
75612 /* 215177 */ // Label 6235: @215177
75613 /* 215177 */ GIM_Try, /*On fail goto*//*Label 6306*/ GIMT_Encode4(215395),
75614 /* 215182 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
75615 /* 215185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
75616 /* 215188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6307*/ GIMT_Encode4(215249), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2197 //
75617 /* 215195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75618 /* 215199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75619 /* 215203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75620 /* 215207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75621 /* 215211 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75622 /* 215214 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75623 /* 215218 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75624 /* 215222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75625 /* 215224 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75626 /* 215231 */ // (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)
75627 /* 215231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
75628 /* 215234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75629 /* 215236 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75630 /* 215238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75631 /* 215242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75632 /* 215247 */ GIR_RootConstrainSelectedInstOperands,
75633 /* 215248 */ // GIR_Coverage, 2197,
75634 /* 215248 */ GIR_EraseRootFromParent_Done,
75635 /* 215249 */ // Label 6307: @215249
75636 /* 215249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6308*/ GIMT_Encode4(215310), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6519 //
75637 /* 215256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75638 /* 215260 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75639 /* 215264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75640 /* 215268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75641 /* 215272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75642 /* 215275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75643 /* 215279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75644 /* 215283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75645 /* 215285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75646 /* 215292 */ // (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)
75647 /* 215292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
75648 /* 215295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75649 /* 215297 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75650 /* 215299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75651 /* 215303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75652 /* 215308 */ GIR_RootConstrainSelectedInstOperands,
75653 /* 215309 */ // GIR_Coverage, 6519,
75654 /* 215309 */ GIR_EraseRootFromParent_Done,
75655 /* 215310 */ // Label 6308: @215310
75656 /* 215310 */ GIM_Try, /*On fail goto*//*Label 6309*/ GIMT_Encode4(215364),
75657 /* 215315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75658 /* 215319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75659 /* 215323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75660 /* 215327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6310*/ GIMT_Encode4(215345), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2195 //
75661 /* 215334 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75662 /* 215334 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
75663 /* 215339 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75664 /* 215343 */ GIR_RootConstrainSelectedInstOperands,
75665 /* 215344 */ // GIR_Coverage, 2195,
75666 /* 215344 */ GIR_Done,
75667 /* 215345 */ // Label 6310: @215345
75668 /* 215345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6311*/ GIMT_Encode4(215363), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2211 //
75669 /* 215352 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75670 /* 215352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
75671 /* 215357 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75672 /* 215361 */ GIR_RootConstrainSelectedInstOperands,
75673 /* 215362 */ // GIR_Coverage, 2211,
75674 /* 215362 */ GIR_Done,
75675 /* 215363 */ // Label 6311: @215363
75676 /* 215363 */ GIM_Reject,
75677 /* 215364 */ // Label 6309: @215364
75678 /* 215364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6312*/ GIMT_Encode4(215394), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6515 //
75679 /* 215371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75680 /* 215375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75681 /* 215379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75682 /* 215383 */ // (strict_fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
75683 /* 215383 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
75684 /* 215388 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75685 /* 215392 */ GIR_RootConstrainSelectedInstOperands,
75686 /* 215393 */ // GIR_Coverage, 6515,
75687 /* 215393 */ GIR_Done,
75688 /* 215394 */ // Label 6312: @215394
75689 /* 215394 */ GIM_Reject,
75690 /* 215395 */ // Label 6306: @215395
75691 /* 215395 */ GIM_Reject,
75692 /* 215396 */ // Label 6236: @215396
75693 /* 215396 */ GIM_Try, /*On fail goto*//*Label 6313*/ GIMT_Encode4(215590),
75694 /* 215401 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
75695 /* 215404 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
75696 /* 215407 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6314*/ GIMT_Encode4(215468), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2205 //
75697 /* 215414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75698 /* 215418 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75699 /* 215422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75700 /* 215426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75701 /* 215430 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75702 /* 215433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75703 /* 215437 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75704 /* 215441 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75705 /* 215443 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75706 /* 215450 */ // (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)
75707 /* 215450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
75708 /* 215453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75709 /* 215455 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75710 /* 215457 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75711 /* 215461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75712 /* 215466 */ GIR_RootConstrainSelectedInstOperands,
75713 /* 215467 */ // GIR_Coverage, 2205,
75714 /* 215467 */ GIR_EraseRootFromParent_Done,
75715 /* 215468 */ // Label 6314: @215468
75716 /* 215468 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6315*/ GIMT_Encode4(215529), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6531 //
75717 /* 215475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75718 /* 215479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75719 /* 215483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75720 /* 215487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75721 /* 215491 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75722 /* 215494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75723 /* 215498 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75724 /* 215502 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75725 /* 215504 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75726 /* 215511 */ // (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)
75727 /* 215511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
75728 /* 215514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75729 /* 215516 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75730 /* 215518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75731 /* 215522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75732 /* 215527 */ GIR_RootConstrainSelectedInstOperands,
75733 /* 215528 */ // GIR_Coverage, 6531,
75734 /* 215528 */ GIR_EraseRootFromParent_Done,
75735 /* 215529 */ // Label 6315: @215529
75736 /* 215529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6316*/ GIMT_Encode4(215559), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2203 //
75737 /* 215536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75738 /* 215540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75739 /* 215544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75740 /* 215548 */ // (strict_fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
75741 /* 215548 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
75742 /* 215553 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75743 /* 215557 */ GIR_RootConstrainSelectedInstOperands,
75744 /* 215558 */ // GIR_Coverage, 2203,
75745 /* 215558 */ GIR_Done,
75746 /* 215559 */ // Label 6316: @215559
75747 /* 215559 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6317*/ GIMT_Encode4(215589), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6527 //
75748 /* 215566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75749 /* 215570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75750 /* 215574 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75751 /* 215578 */ // (strict_fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
75752 /* 215578 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
75753 /* 215583 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75754 /* 215587 */ GIR_RootConstrainSelectedInstOperands,
75755 /* 215588 */ // GIR_Coverage, 6527,
75756 /* 215588 */ GIR_Done,
75757 /* 215589 */ // Label 6317: @215589
75758 /* 215589 */ GIM_Reject,
75759 /* 215590 */ // Label 6313: @215590
75760 /* 215590 */ GIM_Reject,
75761 /* 215591 */ // Label 6237: @215591
75762 /* 215591 */ GIM_Try, /*On fail goto*//*Label 6318*/ GIMT_Encode4(215686),
75763 /* 215596 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
75764 /* 215599 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
75765 /* 215602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75766 /* 215606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75767 /* 215610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6319*/ GIMT_Encode4(215663), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6495 //
75768 /* 215617 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75769 /* 215621 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75770 /* 215625 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75771 /* 215628 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75772 /* 215632 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75773 /* 215636 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75774 /* 215638 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75775 /* 215645 */ // (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)
75776 /* 215645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
75777 /* 215648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75778 /* 215650 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75779 /* 215652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75780 /* 215656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75781 /* 215661 */ GIR_RootConstrainSelectedInstOperands,
75782 /* 215662 */ // GIR_Coverage, 6495,
75783 /* 215662 */ GIR_EraseRootFromParent_Done,
75784 /* 215663 */ // Label 6319: @215663
75785 /* 215663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6320*/ GIMT_Encode4(215685), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6491 //
75786 /* 215670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75787 /* 215674 */ // (strict_fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
75788 /* 215674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
75789 /* 215679 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75790 /* 215683 */ GIR_RootConstrainSelectedInstOperands,
75791 /* 215684 */ // GIR_Coverage, 6491,
75792 /* 215684 */ GIR_Done,
75793 /* 215685 */ // Label 6320: @215685
75794 /* 215685 */ GIM_Reject,
75795 /* 215686 */ // Label 6318: @215686
75796 /* 215686 */ GIM_Reject,
75797 /* 215687 */ // Label 6238: @215687
75798 /* 215687 */ GIM_Try, /*On fail goto*//*Label 6321*/ GIMT_Encode4(215905),
75799 /* 215692 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
75800 /* 215695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
75801 /* 215698 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6322*/ GIMT_Encode4(215759), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2201 //
75802 /* 215705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75803 /* 215709 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75804 /* 215713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75805 /* 215717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75806 /* 215721 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75807 /* 215724 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75808 /* 215728 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75809 /* 215732 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75810 /* 215734 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75811 /* 215741 */ // (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)
75812 /* 215741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
75813 /* 215744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75814 /* 215746 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75815 /* 215748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75816 /* 215752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75817 /* 215757 */ GIR_RootConstrainSelectedInstOperands,
75818 /* 215758 */ // GIR_Coverage, 2201,
75819 /* 215758 */ GIR_EraseRootFromParent_Done,
75820 /* 215759 */ // Label 6322: @215759
75821 /* 215759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6323*/ GIMT_Encode4(215820), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6543 //
75822 /* 215766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75823 /* 215770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75824 /* 215774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75825 /* 215778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75826 /* 215782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75827 /* 215785 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75828 /* 215789 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75829 /* 215793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75830 /* 215795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75831 /* 215802 */ // (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)
75832 /* 215802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
75833 /* 215805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75834 /* 215807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75835 /* 215809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75836 /* 215813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75837 /* 215818 */ GIR_RootConstrainSelectedInstOperands,
75838 /* 215819 */ // GIR_Coverage, 6543,
75839 /* 215819 */ GIR_EraseRootFromParent_Done,
75840 /* 215820 */ // Label 6323: @215820
75841 /* 215820 */ GIM_Try, /*On fail goto*//*Label 6324*/ GIMT_Encode4(215874),
75842 /* 215825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75843 /* 215829 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75844 /* 215833 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75845 /* 215837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6325*/ GIMT_Encode4(215855), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2199 //
75846 /* 215844 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75847 /* 215844 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
75848 /* 215849 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75849 /* 215853 */ GIR_RootConstrainSelectedInstOperands,
75850 /* 215854 */ // GIR_Coverage, 2199,
75851 /* 215854 */ GIR_Done,
75852 /* 215855 */ // Label 6325: @215855
75853 /* 215855 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6326*/ GIMT_Encode4(215873), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2215 //
75854 /* 215862 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75855 /* 215862 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
75856 /* 215867 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75857 /* 215871 */ GIR_RootConstrainSelectedInstOperands,
75858 /* 215872 */ // GIR_Coverage, 2215,
75859 /* 215872 */ GIR_Done,
75860 /* 215873 */ // Label 6326: @215873
75861 /* 215873 */ GIM_Reject,
75862 /* 215874 */ // Label 6324: @215874
75863 /* 215874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6327*/ GIMT_Encode4(215904), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6539 //
75864 /* 215881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75865 /* 215885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75866 /* 215889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75867 /* 215893 */ // (strict_fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
75868 /* 215893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
75869 /* 215898 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75870 /* 215902 */ GIR_RootConstrainSelectedInstOperands,
75871 /* 215903 */ // GIR_Coverage, 6539,
75872 /* 215903 */ GIR_Done,
75873 /* 215904 */ // Label 6327: @215904
75874 /* 215904 */ GIM_Reject,
75875 /* 215905 */ // Label 6321: @215905
75876 /* 215905 */ GIM_Reject,
75877 /* 215906 */ // Label 6239: @215906
75878 /* 215906 */ GIM_Try, /*On fail goto*//*Label 6328*/ GIMT_Encode4(216100),
75879 /* 215911 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
75880 /* 215914 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
75881 /* 215917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6329*/ GIMT_Encode4(215978), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2209 //
75882 /* 215924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75883 /* 215928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75884 /* 215932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75885 /* 215936 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75886 /* 215940 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75887 /* 215943 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75888 /* 215947 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75889 /* 215951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75890 /* 215953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75891 /* 215960 */ // (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)
75892 /* 215960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
75893 /* 215963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75894 /* 215965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75895 /* 215967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75896 /* 215971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75897 /* 215976 */ GIR_RootConstrainSelectedInstOperands,
75898 /* 215977 */ // GIR_Coverage, 2209,
75899 /* 215977 */ GIR_EraseRootFromParent_Done,
75900 /* 215978 */ // Label 6329: @215978
75901 /* 215978 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6330*/ GIMT_Encode4(216039), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6555 //
75902 /* 215985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75903 /* 215989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75904 /* 215993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75905 /* 215997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75906 /* 216001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75907 /* 216004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75908 /* 216008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75909 /* 216012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75910 /* 216014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75911 /* 216021 */ // (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)
75912 /* 216021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
75913 /* 216024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75914 /* 216026 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75915 /* 216028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75916 /* 216032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75917 /* 216037 */ GIR_RootConstrainSelectedInstOperands,
75918 /* 216038 */ // GIR_Coverage, 6555,
75919 /* 216038 */ GIR_EraseRootFromParent_Done,
75920 /* 216039 */ // Label 6330: @216039
75921 /* 216039 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6331*/ GIMT_Encode4(216069), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2207 //
75922 /* 216046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75923 /* 216050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75924 /* 216054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75925 /* 216058 */ // (strict_fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
75926 /* 216058 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
75927 /* 216063 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75928 /* 216067 */ GIR_RootConstrainSelectedInstOperands,
75929 /* 216068 */ // GIR_Coverage, 2207,
75930 /* 216068 */ GIR_Done,
75931 /* 216069 */ // Label 6331: @216069
75932 /* 216069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6332*/ GIMT_Encode4(216099), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6551 //
75933 /* 216076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75934 /* 216080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75935 /* 216084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75936 /* 216088 */ // (strict_fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
75937 /* 216088 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
75938 /* 216093 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75939 /* 216097 */ GIR_RootConstrainSelectedInstOperands,
75940 /* 216098 */ // GIR_Coverage, 6551,
75941 /* 216098 */ GIR_Done,
75942 /* 216099 */ // Label 6332: @216099
75943 /* 216099 */ GIM_Reject,
75944 /* 216100 */ // Label 6328: @216100
75945 /* 216100 */ GIM_Reject,
75946 /* 216101 */ // Label 6240: @216101
75947 /* 216101 */ GIM_Try, /*On fail goto*//*Label 6333*/ GIMT_Encode4(216196),
75948 /* 216106 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
75949 /* 216109 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
75950 /* 216112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75951 /* 216116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75952 /* 216120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6334*/ GIMT_Encode4(216173), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6507 //
75953 /* 216127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75954 /* 216131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75955 /* 216135 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75956 /* 216138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75957 /* 216142 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75958 /* 216146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75959 /* 216148 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75960 /* 216155 */ // (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)
75961 /* 216155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
75962 /* 216158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75963 /* 216160 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75964 /* 216162 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75965 /* 216166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75966 /* 216171 */ GIR_RootConstrainSelectedInstOperands,
75967 /* 216172 */ // GIR_Coverage, 6507,
75968 /* 216172 */ GIR_EraseRootFromParent_Done,
75969 /* 216173 */ // Label 6334: @216173
75970 /* 216173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6335*/ GIMT_Encode4(216195), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6503 //
75971 /* 216180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75972 /* 216184 */ // (strict_fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
75973 /* 216184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
75974 /* 216189 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75975 /* 216193 */ GIR_RootConstrainSelectedInstOperands,
75976 /* 216194 */ // GIR_Coverage, 6503,
75977 /* 216194 */ GIR_Done,
75978 /* 216195 */ // Label 6335: @216195
75979 /* 216195 */ GIM_Reject,
75980 /* 216196 */ // Label 6333: @216196
75981 /* 216196 */ GIM_Reject,
75982 /* 216197 */ // Label 6241: @216197
75983 /* 216197 */ GIM_Reject,
75984 /* 216198 */ // Label 76: @216198
75985 /* 216198 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6349*/ GIMT_Encode4(220956),
75986 /* 216209 */ /*GILLT_s16*//*Label 6336*/ GIMT_Encode4(216301),
75987 /* 216213 */ /*GILLT_s32*//*Label 6337*/ GIMT_Encode4(216460),
75988 /* 216217 */ /*GILLT_s64*//*Label 6338*/ GIMT_Encode4(217319),
75989 /* 216221 */ /*GILLT_s80*//*Label 6339*/ GIMT_Encode4(218304), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
75990 /* 216265 */ /*GILLT_v8s16*//*Label 6340*/ GIMT_Encode4(218845),
75991 /* 216269 */ /*GILLT_v16s16*//*Label 6341*/ GIMT_Encode4(219004),
75992 /* 216273 */ /*GILLT_v32s16*//*Label 6342*/ GIMT_Encode4(219163),
75993 /* 216277 */ /*GILLT_v4s32*//*Label 6343*/ GIMT_Encode4(219322),
75994 /* 216281 */ /*GILLT_v8s32*//*Label 6344*/ GIMT_Encode4(219663),
75995 /* 216285 */ /*GILLT_v16s32*//*Label 6345*/ GIMT_Encode4(219980),
75996 /* 216289 */ /*GILLT_v2s64*//*Label 6346*/ GIMT_Encode4(220139),
75997 /* 216293 */ /*GILLT_v4s64*//*Label 6347*/ GIMT_Encode4(220480),
75998 /* 216297 */ /*GILLT_v8s64*//*Label 6348*/ GIMT_Encode4(220797),
75999 /* 216301 */ // Label 6336: @216301
76000 /* 216301 */ GIM_Try, /*On fail goto*//*Label 6350*/ GIMT_Encode4(216459),
76001 /* 216306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
76002 /* 216309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
76003 /* 216312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76004 /* 216316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6351*/ GIMT_Encode4(216373), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24511 //
76005 /* 216323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76006 /* 216327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76007 /* 216331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76008 /* 216334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76009 /* 216338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76010 /* 216342 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76011 /* 216346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76012 /* 216348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76013 /* 216355 */ // (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)
76014 /* 216355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
76015 /* 216358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76016 /* 216360 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76017 /* 216362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76018 /* 216366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76019 /* 216371 */ GIR_RootConstrainSelectedInstOperands,
76020 /* 216372 */ // GIR_Coverage, 24511,
76021 /* 216372 */ GIR_EraseRootFromParent_Done,
76022 /* 216373 */ // Label 6351: @216373
76023 /* 216373 */ GIM_Try, /*On fail goto*//*Label 6352*/ GIMT_Encode4(216458),
76024 /* 216378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76025 /* 216382 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6353*/ GIMT_Encode4(216435), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6012 //
76026 /* 216389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76027 /* 216393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76028 /* 216397 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76029 /* 216400 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76030 /* 216404 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76031 /* 216408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76032 /* 216410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76033 /* 216417 */ // (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)
76034 /* 216417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
76035 /* 216420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76036 /* 216422 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76037 /* 216424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76038 /* 216428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76039 /* 216433 */ GIR_RootConstrainSelectedInstOperands,
76040 /* 216434 */ // GIR_Coverage, 6012,
76041 /* 216434 */ GIR_EraseRootFromParent_Done,
76042 /* 216435 */ // Label 6353: @216435
76043 /* 216435 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6354*/ GIMT_Encode4(216457), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6010 //
76044 /* 216442 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76045 /* 216446 */ // (strict_fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
76046 /* 216446 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
76047 /* 216451 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76048 /* 216455 */ GIR_RootConstrainSelectedInstOperands,
76049 /* 216456 */ // GIR_Coverage, 6010,
76050 /* 216456 */ GIR_Done,
76051 /* 216457 */ // Label 6354: @216457
76052 /* 216457 */ GIM_Reject,
76053 /* 216458 */ // Label 6352: @216458
76054 /* 216458 */ GIM_Reject,
76055 /* 216459 */ // Label 6350: @216459
76056 /* 216459 */ GIM_Reject,
76057 /* 216460 */ // Label 6337: @216460
76058 /* 216460 */ GIM_Try, /*On fail goto*//*Label 6355*/ GIMT_Encode4(217318),
76059 /* 216465 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
76060 /* 216468 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
76061 /* 216471 */ GIM_Try, /*On fail goto*//*Label 6356*/ GIMT_Encode4(216653),
76062 /* 216476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76063 /* 216480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76064 /* 216484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6357*/ GIMT_Encode4(216540), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23524 //
76065 /* 216491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76066 /* 216495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76067 /* 216499 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76068 /* 216506 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76069 /* 216510 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76070 /* 216512 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76071 /* 216519 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76072 /* 216519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
76073 /* 216522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76074 /* 216524 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76075 /* 216526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76076 /* 216530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76077 /* 216533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76078 /* 216538 */ GIR_RootConstrainSelectedInstOperands,
76079 /* 216539 */ // GIR_Coverage, 23524,
76080 /* 216539 */ GIR_EraseRootFromParent_Done,
76081 /* 216540 */ // Label 6357: @216540
76082 /* 216540 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6358*/ GIMT_Encode4(216596), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23526 //
76083 /* 216547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76084 /* 216551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76085 /* 216555 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76086 /* 216562 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76087 /* 216566 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76088 /* 216568 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76089 /* 216575 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76090 /* 216575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
76091 /* 216578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76092 /* 216580 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76093 /* 216582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76094 /* 216586 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76095 /* 216589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76096 /* 216594 */ GIR_RootConstrainSelectedInstOperands,
76097 /* 216595 */ // GIR_Coverage, 23526,
76098 /* 216595 */ GIR_EraseRootFromParent_Done,
76099 /* 216596 */ // Label 6358: @216596
76100 /* 216596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6359*/ GIMT_Encode4(216652), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23514 //
76101 /* 216603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76102 /* 216607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76103 /* 216611 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76104 /* 216614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76105 /* 216618 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76106 /* 216622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76107 /* 216624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76108 /* 216631 */ // (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)
76109 /* 216631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
76110 /* 216634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76111 /* 216636 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76112 /* 216638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76113 /* 216642 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76114 /* 216645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76115 /* 216650 */ GIR_RootConstrainSelectedInstOperands,
76116 /* 216651 */ // GIR_Coverage, 23514,
76117 /* 216651 */ GIR_EraseRootFromParent_Done,
76118 /* 216652 */ // Label 6359: @216652
76119 /* 216652 */ GIM_Reject,
76120 /* 216653 */ // Label 6356: @216653
76121 /* 216653 */ GIM_Try, /*On fail goto*//*Label 6360*/ GIMT_Encode4(216773),
76122 /* 216658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76123 /* 216662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76124 /* 216666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6361*/ GIMT_Encode4(216719), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23657 //
76125 /* 216673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76126 /* 216677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76127 /* 216681 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76128 /* 216684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76129 /* 216688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76130 /* 216692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76131 /* 216694 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76132 /* 216701 */ // (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)
76133 /* 216701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
76134 /* 216704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76135 /* 216706 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76136 /* 216708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76137 /* 216712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76138 /* 216717 */ GIR_RootConstrainSelectedInstOperands,
76139 /* 216718 */ // GIR_Coverage, 23657,
76140 /* 216718 */ GIR_EraseRootFromParent_Done,
76141 /* 216719 */ // Label 6361: @216719
76142 /* 216719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6362*/ GIMT_Encode4(216772), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 23661 //
76143 /* 216726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76144 /* 216730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76145 /* 216734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76146 /* 216737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76147 /* 216741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76148 /* 216745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76149 /* 216747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76150 /* 216754 */ // (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)
76151 /* 216754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
76152 /* 216757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76153 /* 216759 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76154 /* 216761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76155 /* 216765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76156 /* 216770 */ GIR_RootConstrainSelectedInstOperands,
76157 /* 216771 */ // GIR_Coverage, 23661,
76158 /* 216771 */ GIR_EraseRootFromParent_Done,
76159 /* 216772 */ // Label 6362: @216772
76160 /* 216772 */ GIM_Reject,
76161 /* 216773 */ // Label 6360: @216773
76162 /* 216773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6363*/ GIMT_Encode4(216834), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24507 //
76163 /* 216780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76164 /* 216784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76165 /* 216788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76166 /* 216792 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76167 /* 216795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76168 /* 216799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76169 /* 216803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76170 /* 216807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76171 /* 216809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76172 /* 216816 */ // (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)
76173 /* 216816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
76174 /* 216819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76175 /* 216821 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76176 /* 216823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76177 /* 216827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76178 /* 216832 */ GIR_RootConstrainSelectedInstOperands,
76179 /* 216833 */ // GIR_Coverage, 24507,
76180 /* 216833 */ GIR_EraseRootFromParent_Done,
76181 /* 216834 */ // Label 6363: @216834
76182 /* 216834 */ GIM_Try, /*On fail goto*//*Label 6364*/ GIMT_Encode4(217016),
76183 /* 216839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76184 /* 216843 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76185 /* 216847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6365*/ GIMT_Encode4(216903), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 962 //
76186 /* 216854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76187 /* 216858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76188 /* 216862 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76189 /* 216869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76190 /* 216873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76191 /* 216875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76192 /* 216882 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76193 /* 216882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
76194 /* 216885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76195 /* 216887 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76196 /* 216889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76197 /* 216893 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76198 /* 216896 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76199 /* 216901 */ GIR_RootConstrainSelectedInstOperands,
76200 /* 216902 */ // GIR_Coverage, 962,
76201 /* 216902 */ GIR_EraseRootFromParent_Done,
76202 /* 216903 */ // Label 6365: @216903
76203 /* 216903 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6366*/ GIMT_Encode4(216959), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 964 //
76204 /* 216910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76205 /* 216914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76206 /* 216918 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76207 /* 216925 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76208 /* 216929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76209 /* 216931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76210 /* 216938 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76211 /* 216938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
76212 /* 216941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76213 /* 216943 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76214 /* 216945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76215 /* 216949 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76216 /* 216952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76217 /* 216957 */ GIR_RootConstrainSelectedInstOperands,
76218 /* 216958 */ // GIR_Coverage, 964,
76219 /* 216958 */ GIR_EraseRootFromParent_Done,
76220 /* 216959 */ // Label 6366: @216959
76221 /* 216959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6367*/ GIMT_Encode4(217015), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 952 //
76222 /* 216966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76223 /* 216970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76224 /* 216974 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76225 /* 216977 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76226 /* 216981 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76227 /* 216985 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76228 /* 216987 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76229 /* 216994 */ // (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)
76230 /* 216994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
76231 /* 216997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76232 /* 216999 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76233 /* 217001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76234 /* 217005 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76235 /* 217008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76236 /* 217013 */ GIR_RootConstrainSelectedInstOperands,
76237 /* 217014 */ // GIR_Coverage, 952,
76238 /* 217014 */ GIR_EraseRootFromParent_Done,
76239 /* 217015 */ // Label 6367: @217015
76240 /* 217015 */ GIM_Reject,
76241 /* 217016 */ // Label 6364: @217016
76242 /* 217016 */ GIM_Try, /*On fail goto*//*Label 6368*/ GIMT_Encode4(217136),
76243 /* 217021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76244 /* 217025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76245 /* 217029 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6369*/ GIMT_Encode4(217082), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2181 //
76246 /* 217036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76247 /* 217040 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76248 /* 217044 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76249 /* 217047 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76250 /* 217051 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76251 /* 217055 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76252 /* 217057 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76253 /* 217064 */ // (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)
76254 /* 217064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
76255 /* 217067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76256 /* 217069 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76257 /* 217071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76258 /* 217075 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76259 /* 217080 */ GIR_RootConstrainSelectedInstOperands,
76260 /* 217081 */ // GIR_Coverage, 2181,
76261 /* 217081 */ GIR_EraseRootFromParent_Done,
76262 /* 217082 */ // Label 6369: @217082
76263 /* 217082 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6370*/ GIMT_Encode4(217135), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2189 //
76264 /* 217089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76265 /* 217093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76266 /* 217097 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76267 /* 217100 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76268 /* 217104 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76269 /* 217108 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76270 /* 217110 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76271 /* 217117 */ // (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)
76272 /* 217117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
76273 /* 217120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76274 /* 217122 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76275 /* 217124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76276 /* 217128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76277 /* 217133 */ GIR_RootConstrainSelectedInstOperands,
76278 /* 217134 */ // GIR_Coverage, 2189,
76279 /* 217134 */ GIR_EraseRootFromParent_Done,
76280 /* 217135 */ // Label 6370: @217135
76281 /* 217135 */ GIM_Reject,
76282 /* 217136 */ // Label 6368: @217136
76283 /* 217136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6371*/ GIMT_Encode4(217197), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5974 //
76284 /* 217143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76285 /* 217147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76286 /* 217151 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76287 /* 217155 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76288 /* 217159 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76289 /* 217162 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76290 /* 217166 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76291 /* 217170 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76292 /* 217172 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76293 /* 217179 */ // (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)
76294 /* 217179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
76295 /* 217182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76296 /* 217184 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76297 /* 217186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76298 /* 217190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76299 /* 217195 */ GIR_RootConstrainSelectedInstOperands,
76300 /* 217196 */ // GIR_Coverage, 5974,
76301 /* 217196 */ GIR_EraseRootFromParent_Done,
76302 /* 217197 */ // Label 6371: @217197
76303 /* 217197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6372*/ GIMT_Encode4(217233), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 874 //
76304 /* 217204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76305 /* 217208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76306 /* 217212 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76307 /* 217216 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
76308 /* 217216 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
76309 /* 217221 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76310 /* 217227 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76311 /* 217231 */ GIR_RootConstrainSelectedInstOperands,
76312 /* 217232 */ // GIR_Coverage, 874,
76313 /* 217232 */ GIR_Done,
76314 /* 217233 */ // Label 6372: @217233
76315 /* 217233 */ GIM_Try, /*On fail goto*//*Label 6373*/ GIMT_Encode4(217287),
76316 /* 217238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76317 /* 217242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76318 /* 217246 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76319 /* 217250 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6374*/ GIMT_Encode4(217268), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2179 //
76320 /* 217257 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76321 /* 217257 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
76322 /* 217262 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76323 /* 217266 */ GIR_RootConstrainSelectedInstOperands,
76324 /* 217267 */ // GIR_Coverage, 2179,
76325 /* 217267 */ GIR_Done,
76326 /* 217268 */ // Label 6374: @217268
76327 /* 217268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6375*/ GIMT_Encode4(217286), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2187 //
76328 /* 217275 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76329 /* 217275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
76330 /* 217280 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76331 /* 217284 */ GIR_RootConstrainSelectedInstOperands,
76332 /* 217285 */ // GIR_Coverage, 2187,
76333 /* 217285 */ GIR_Done,
76334 /* 217286 */ // Label 6375: @217286
76335 /* 217286 */ GIM_Reject,
76336 /* 217287 */ // Label 6373: @217287
76337 /* 217287 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6376*/ GIMT_Encode4(217317), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5972 //
76338 /* 217294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76339 /* 217298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76340 /* 217302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76341 /* 217306 */ // (strict_fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
76342 /* 217306 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
76343 /* 217311 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76344 /* 217315 */ GIR_RootConstrainSelectedInstOperands,
76345 /* 217316 */ // GIR_Coverage, 5972,
76346 /* 217316 */ GIR_Done,
76347 /* 217317 */ // Label 6376: @217317
76348 /* 217317 */ GIM_Reject,
76349 /* 217318 */ // Label 6355: @217318
76350 /* 217318 */ GIM_Reject,
76351 /* 217319 */ // Label 6338: @217319
76352 /* 217319 */ GIM_Try, /*On fail goto*//*Label 6377*/ GIMT_Encode4(218303),
76353 /* 217324 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
76354 /* 217327 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
76355 /* 217330 */ GIM_Try, /*On fail goto*//*Label 6378*/ GIMT_Encode4(217575),
76356 /* 217335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76357 /* 217339 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76358 /* 217343 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6379*/ GIMT_Encode4(217399), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23528 //
76359 /* 217350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76360 /* 217354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76361 /* 217358 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76362 /* 217365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76363 /* 217369 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76364 /* 217371 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76365 /* 217378 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76366 /* 217378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
76367 /* 217381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76368 /* 217383 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76369 /* 217385 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76370 /* 217389 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76371 /* 217392 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76372 /* 217397 */ GIR_RootConstrainSelectedInstOperands,
76373 /* 217398 */ // GIR_Coverage, 23528,
76374 /* 217398 */ GIR_EraseRootFromParent_Done,
76375 /* 217399 */ // Label 6379: @217399
76376 /* 217399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6380*/ GIMT_Encode4(217455), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23530 //
76377 /* 217406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76378 /* 217410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76379 /* 217414 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76380 /* 217421 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76381 /* 217425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76382 /* 217427 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76383 /* 217434 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76384 /* 217434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
76385 /* 217437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76386 /* 217439 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76387 /* 217441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76388 /* 217445 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76389 /* 217448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76390 /* 217453 */ GIR_RootConstrainSelectedInstOperands,
76391 /* 217454 */ // GIR_Coverage, 23530,
76392 /* 217454 */ GIR_EraseRootFromParent_Done,
76393 /* 217455 */ // Label 6380: @217455
76394 /* 217455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6381*/ GIMT_Encode4(217518), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23518 //
76395 /* 217462 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76396 /* 217466 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76397 /* 217470 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76398 /* 217473 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76399 /* 217477 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76400 /* 217484 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76401 /* 217488 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76402 /* 217490 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76403 /* 217497 */ // (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)
76404 /* 217497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
76405 /* 217500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76406 /* 217502 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76407 /* 217504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76408 /* 217508 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76409 /* 217511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76410 /* 217516 */ GIR_RootConstrainSelectedInstOperands,
76411 /* 217517 */ // GIR_Coverage, 23518,
76412 /* 217517 */ GIR_EraseRootFromParent_Done,
76413 /* 217518 */ // Label 6381: @217518
76414 /* 217518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6382*/ GIMT_Encode4(217574), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23516 //
76415 /* 217525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76416 /* 217529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76417 /* 217533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76418 /* 217536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76419 /* 217540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76420 /* 217544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76421 /* 217546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76422 /* 217553 */ // (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)
76423 /* 217553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
76424 /* 217556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76425 /* 217558 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76426 /* 217560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76427 /* 217564 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76428 /* 217567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76429 /* 217572 */ GIR_RootConstrainSelectedInstOperands,
76430 /* 217573 */ // GIR_Coverage, 23516,
76431 /* 217573 */ GIR_EraseRootFromParent_Done,
76432 /* 217574 */ // Label 6382: @217574
76433 /* 217574 */ GIM_Reject,
76434 /* 217575 */ // Label 6378: @217575
76435 /* 217575 */ GIM_Try, /*On fail goto*//*Label 6383*/ GIMT_Encode4(217695),
76436 /* 217580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76437 /* 217584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76438 /* 217588 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6384*/ GIMT_Encode4(217641), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23659 //
76439 /* 217595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76440 /* 217599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76441 /* 217603 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76442 /* 217606 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76443 /* 217610 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76444 /* 217614 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76445 /* 217616 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76446 /* 217623 */ // (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)
76447 /* 217623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
76448 /* 217626 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76449 /* 217628 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76450 /* 217630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76451 /* 217634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76452 /* 217639 */ GIR_RootConstrainSelectedInstOperands,
76453 /* 217640 */ // GIR_Coverage, 23659,
76454 /* 217640 */ GIR_EraseRootFromParent_Done,
76455 /* 217641 */ // Label 6384: @217641
76456 /* 217641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6385*/ GIMT_Encode4(217694), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 23663 //
76457 /* 217648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76458 /* 217652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76459 /* 217656 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76460 /* 217659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76461 /* 217663 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76462 /* 217667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76463 /* 217669 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76464 /* 217676 */ // (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)
76465 /* 217676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
76466 /* 217679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76467 /* 217681 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76468 /* 217683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76469 /* 217687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76470 /* 217692 */ GIR_RootConstrainSelectedInstOperands,
76471 /* 217693 */ // GIR_Coverage, 23663,
76472 /* 217693 */ GIR_EraseRootFromParent_Done,
76473 /* 217694 */ // Label 6385: @217694
76474 /* 217694 */ GIM_Reject,
76475 /* 217695 */ // Label 6383: @217695
76476 /* 217695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6386*/ GIMT_Encode4(217756), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24509 //
76477 /* 217702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76478 /* 217706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76479 /* 217710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76480 /* 217714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76481 /* 217717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76482 /* 217721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76483 /* 217725 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76484 /* 217729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76485 /* 217731 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76486 /* 217738 */ // (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)
76487 /* 217738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
76488 /* 217741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76489 /* 217743 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76490 /* 217745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76491 /* 217749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76492 /* 217754 */ GIR_RootConstrainSelectedInstOperands,
76493 /* 217755 */ // GIR_Coverage, 24509,
76494 /* 217755 */ GIR_EraseRootFromParent_Done,
76495 /* 217756 */ // Label 6386: @217756
76496 /* 217756 */ GIM_Try, /*On fail goto*//*Label 6387*/ GIMT_Encode4(218001),
76497 /* 217761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76498 /* 217765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76499 /* 217769 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6388*/ GIMT_Encode4(217825), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 966 //
76500 /* 217776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76501 /* 217780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76502 /* 217784 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76503 /* 217791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76504 /* 217795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76505 /* 217797 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76506 /* 217804 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76507 /* 217804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
76508 /* 217807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76509 /* 217809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76510 /* 217811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76511 /* 217815 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76512 /* 217818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76513 /* 217823 */ GIR_RootConstrainSelectedInstOperands,
76514 /* 217824 */ // GIR_Coverage, 966,
76515 /* 217824 */ GIR_EraseRootFromParent_Done,
76516 /* 217825 */ // Label 6388: @217825
76517 /* 217825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6389*/ GIMT_Encode4(217881), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 968 //
76518 /* 217832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76519 /* 217836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76520 /* 217840 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76521 /* 217847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76522 /* 217851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76523 /* 217853 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76524 /* 217860 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76525 /* 217860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
76526 /* 217863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76527 /* 217865 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76528 /* 217867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76529 /* 217871 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76530 /* 217874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76531 /* 217879 */ GIR_RootConstrainSelectedInstOperands,
76532 /* 217880 */ // GIR_Coverage, 968,
76533 /* 217880 */ GIR_EraseRootFromParent_Done,
76534 /* 217881 */ // Label 6389: @217881
76535 /* 217881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6390*/ GIMT_Encode4(217944), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 956 //
76536 /* 217888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76537 /* 217892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76538 /* 217896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76539 /* 217899 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76540 /* 217903 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76541 /* 217910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76542 /* 217914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76543 /* 217916 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76544 /* 217923 */ // (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)
76545 /* 217923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
76546 /* 217926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76547 /* 217928 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76548 /* 217930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76549 /* 217934 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76550 /* 217937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76551 /* 217942 */ GIR_RootConstrainSelectedInstOperands,
76552 /* 217943 */ // GIR_Coverage, 956,
76553 /* 217943 */ GIR_EraseRootFromParent_Done,
76554 /* 217944 */ // Label 6390: @217944
76555 /* 217944 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6391*/ GIMT_Encode4(218000), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 954 //
76556 /* 217951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76557 /* 217955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76558 /* 217959 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76559 /* 217962 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76560 /* 217966 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76561 /* 217970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76562 /* 217972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76563 /* 217979 */ // (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)
76564 /* 217979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
76565 /* 217982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76566 /* 217984 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76567 /* 217986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76568 /* 217990 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76569 /* 217993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76570 /* 217998 */ GIR_RootConstrainSelectedInstOperands,
76571 /* 217999 */ // GIR_Coverage, 954,
76572 /* 217999 */ GIR_EraseRootFromParent_Done,
76573 /* 218000 */ // Label 6391: @218000
76574 /* 218000 */ GIM_Reject,
76575 /* 218001 */ // Label 6387: @218001
76576 /* 218001 */ GIM_Try, /*On fail goto*//*Label 6392*/ GIMT_Encode4(218121),
76577 /* 218006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76578 /* 218010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76579 /* 218014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6393*/ GIMT_Encode4(218067), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2185 //
76580 /* 218021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76581 /* 218025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76582 /* 218029 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76583 /* 218032 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76584 /* 218036 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76585 /* 218040 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76586 /* 218042 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76587 /* 218049 */ // (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)
76588 /* 218049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
76589 /* 218052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76590 /* 218054 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76591 /* 218056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76592 /* 218060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76593 /* 218065 */ GIR_RootConstrainSelectedInstOperands,
76594 /* 218066 */ // GIR_Coverage, 2185,
76595 /* 218066 */ GIR_EraseRootFromParent_Done,
76596 /* 218067 */ // Label 6393: @218067
76597 /* 218067 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6394*/ GIMT_Encode4(218120), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2193 //
76598 /* 218074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76599 /* 218078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76600 /* 218082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76601 /* 218085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76602 /* 218089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76603 /* 218093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76604 /* 218095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76605 /* 218102 */ // (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)
76606 /* 218102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
76607 /* 218105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76608 /* 218107 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76609 /* 218109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76610 /* 218113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76611 /* 218118 */ GIR_RootConstrainSelectedInstOperands,
76612 /* 218119 */ // GIR_Coverage, 2193,
76613 /* 218119 */ GIR_EraseRootFromParent_Done,
76614 /* 218120 */ // Label 6394: @218120
76615 /* 218120 */ GIM_Reject,
76616 /* 218121 */ // Label 6392: @218121
76617 /* 218121 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6395*/ GIMT_Encode4(218182), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5993 //
76618 /* 218128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76619 /* 218132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76620 /* 218136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76621 /* 218140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76622 /* 218144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76623 /* 218147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76624 /* 218151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76625 /* 218155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76626 /* 218157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76627 /* 218164 */ // (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)
76628 /* 218164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
76629 /* 218167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76630 /* 218169 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76631 /* 218171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76632 /* 218175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76633 /* 218180 */ GIR_RootConstrainSelectedInstOperands,
76634 /* 218181 */ // GIR_Coverage, 5993,
76635 /* 218181 */ GIR_EraseRootFromParent_Done,
76636 /* 218182 */ // Label 6395: @218182
76637 /* 218182 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6396*/ GIMT_Encode4(218218), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 876 //
76638 /* 218189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76639 /* 218193 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76640 /* 218197 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76641 /* 218201 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
76642 /* 218201 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
76643 /* 218206 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76644 /* 218212 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76645 /* 218216 */ GIR_RootConstrainSelectedInstOperands,
76646 /* 218217 */ // GIR_Coverage, 876,
76647 /* 218217 */ GIR_Done,
76648 /* 218218 */ // Label 6396: @218218
76649 /* 218218 */ GIM_Try, /*On fail goto*//*Label 6397*/ GIMT_Encode4(218272),
76650 /* 218223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76651 /* 218227 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76652 /* 218231 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76653 /* 218235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6398*/ GIMT_Encode4(218253), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2183 //
76654 /* 218242 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76655 /* 218242 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
76656 /* 218247 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76657 /* 218251 */ GIR_RootConstrainSelectedInstOperands,
76658 /* 218252 */ // GIR_Coverage, 2183,
76659 /* 218252 */ GIR_Done,
76660 /* 218253 */ // Label 6398: @218253
76661 /* 218253 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6399*/ GIMT_Encode4(218271), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2191 //
76662 /* 218260 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76663 /* 218260 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
76664 /* 218265 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76665 /* 218269 */ GIR_RootConstrainSelectedInstOperands,
76666 /* 218270 */ // GIR_Coverage, 2191,
76667 /* 218270 */ GIR_Done,
76668 /* 218271 */ // Label 6399: @218271
76669 /* 218271 */ GIM_Reject,
76670 /* 218272 */ // Label 6397: @218272
76671 /* 218272 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6400*/ GIMT_Encode4(218302), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5991 //
76672 /* 218279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76673 /* 218283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76674 /* 218287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76675 /* 218291 */ // (strict_fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
76676 /* 218291 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
76677 /* 218296 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76678 /* 218300 */ GIR_RootConstrainSelectedInstOperands,
76679 /* 218301 */ // GIR_Coverage, 5991,
76680 /* 218301 */ GIR_Done,
76681 /* 218302 */ // Label 6400: @218302
76682 /* 218302 */ GIM_Reject,
76683 /* 218303 */ // Label 6377: @218303
76684 /* 218303 */ GIM_Reject,
76685 /* 218304 */ // Label 6339: @218304
76686 /* 218304 */ GIM_Try, /*On fail goto*//*Label 6401*/ GIMT_Encode4(218844),
76687 /* 218309 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
76688 /* 218312 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
76689 /* 218315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76690 /* 218319 */ GIM_Try, /*On fail goto*//*Label 6402*/ GIMT_Encode4(218567),
76691 /* 218324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76692 /* 218328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6403*/ GIMT_Encode4(218384), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23532 //
76693 /* 218335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76694 /* 218339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76695 /* 218343 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76696 /* 218350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76697 /* 218354 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76698 /* 218356 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76699 /* 218363 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76700 /* 218363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
76701 /* 218366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76702 /* 218368 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76703 /* 218370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76704 /* 218374 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76705 /* 218377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76706 /* 218382 */ GIR_RootConstrainSelectedInstOperands,
76707 /* 218383 */ // GIR_Coverage, 23532,
76708 /* 218383 */ GIR_EraseRootFromParent_Done,
76709 /* 218384 */ // Label 6403: @218384
76710 /* 218384 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6404*/ GIMT_Encode4(218440), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23534 //
76711 /* 218391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76712 /* 218395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76713 /* 218399 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76714 /* 218406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76715 /* 218410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76716 /* 218412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76717 /* 218419 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76718 /* 218419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
76719 /* 218422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76720 /* 218424 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76721 /* 218426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76722 /* 218430 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76723 /* 218433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76724 /* 218438 */ GIR_RootConstrainSelectedInstOperands,
76725 /* 218439 */ // GIR_Coverage, 23534,
76726 /* 218439 */ GIR_EraseRootFromParent_Done,
76727 /* 218440 */ // Label 6404: @218440
76728 /* 218440 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6405*/ GIMT_Encode4(218503), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23520 //
76729 /* 218447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76730 /* 218451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76731 /* 218455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76732 /* 218458 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76733 /* 218462 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76734 /* 218469 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76735 /* 218473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76736 /* 218475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76737 /* 218482 */ // (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)
76738 /* 218482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
76739 /* 218485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76740 /* 218487 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76741 /* 218489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76742 /* 218493 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76743 /* 218496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76744 /* 218501 */ GIR_RootConstrainSelectedInstOperands,
76745 /* 218502 */ // GIR_Coverage, 23520,
76746 /* 218502 */ GIR_EraseRootFromParent_Done,
76747 /* 218503 */ // Label 6405: @218503
76748 /* 218503 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6406*/ GIMT_Encode4(218566), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23522 //
76749 /* 218510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76750 /* 218514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76751 /* 218518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76752 /* 218521 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76753 /* 218525 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76754 /* 218532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76755 /* 218536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76756 /* 218538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76757 /* 218545 */ // (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)
76758 /* 218545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
76759 /* 218548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76760 /* 218550 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76761 /* 218552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76762 /* 218556 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76763 /* 218559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76764 /* 218564 */ GIR_RootConstrainSelectedInstOperands,
76765 /* 218565 */ // GIR_Coverage, 23522,
76766 /* 218565 */ GIR_EraseRootFromParent_Done,
76767 /* 218566 */ // Label 6406: @218566
76768 /* 218566 */ GIM_Reject,
76769 /* 218567 */ // Label 6402: @218567
76770 /* 218567 */ GIM_Try, /*On fail goto*//*Label 6407*/ GIMT_Encode4(218843),
76771 /* 218572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76772 /* 218576 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6408*/ GIMT_Encode4(218632), GIMT_Encode2(GIFBS_HasX87), // Rule ID 970 //
76773 /* 218583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76774 /* 218587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76775 /* 218591 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76776 /* 218598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76777 /* 218602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76778 /* 218604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76779 /* 218611 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76780 /* 218611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
76781 /* 218614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76782 /* 218616 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76783 /* 218618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76784 /* 218622 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76785 /* 218625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76786 /* 218630 */ GIR_RootConstrainSelectedInstOperands,
76787 /* 218631 */ // GIR_Coverage, 970,
76788 /* 218631 */ GIR_EraseRootFromParent_Done,
76789 /* 218632 */ // Label 6408: @218632
76790 /* 218632 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6409*/ GIMT_Encode4(218688), GIMT_Encode2(GIFBS_HasX87), // Rule ID 972 //
76791 /* 218639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76792 /* 218643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76793 /* 218647 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76794 /* 218654 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76795 /* 218658 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76796 /* 218660 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76797 /* 218667 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76798 /* 218667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
76799 /* 218670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76800 /* 218672 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76801 /* 218674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76802 /* 218678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76803 /* 218681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76804 /* 218686 */ GIR_RootConstrainSelectedInstOperands,
76805 /* 218687 */ // GIR_Coverage, 972,
76806 /* 218687 */ GIR_EraseRootFromParent_Done,
76807 /* 218688 */ // Label 6409: @218688
76808 /* 218688 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6410*/ GIMT_Encode4(218751), GIMT_Encode2(GIFBS_HasX87), // Rule ID 958 //
76809 /* 218695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76810 /* 218699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76811 /* 218703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76812 /* 218706 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76813 /* 218710 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76814 /* 218717 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76815 /* 218721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76816 /* 218723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76817 /* 218730 */ // (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)
76818 /* 218730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
76819 /* 218733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76820 /* 218735 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76821 /* 218737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76822 /* 218741 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76823 /* 218744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76824 /* 218749 */ GIR_RootConstrainSelectedInstOperands,
76825 /* 218750 */ // GIR_Coverage, 958,
76826 /* 218750 */ GIR_EraseRootFromParent_Done,
76827 /* 218751 */ // Label 6410: @218751
76828 /* 218751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6411*/ GIMT_Encode4(218814), GIMT_Encode2(GIFBS_HasX87), // Rule ID 960 //
76829 /* 218758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76830 /* 218762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76831 /* 218766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76832 /* 218769 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76833 /* 218773 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76834 /* 218780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76835 /* 218784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76836 /* 218786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76837 /* 218793 */ // (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)
76838 /* 218793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
76839 /* 218796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76840 /* 218798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76841 /* 218800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76842 /* 218804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76843 /* 218807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76844 /* 218812 */ GIR_RootConstrainSelectedInstOperands,
76845 /* 218813 */ // GIR_Coverage, 960,
76846 /* 218813 */ GIR_EraseRootFromParent_Done,
76847 /* 218814 */ // Label 6411: @218814
76848 /* 218814 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6412*/ GIMT_Encode4(218842), GIMT_Encode2(GIFBS_HasX87), // Rule ID 878 //
76849 /* 218821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76850 /* 218825 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
76851 /* 218825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
76852 /* 218830 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76853 /* 218836 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76854 /* 218840 */ GIR_RootConstrainSelectedInstOperands,
76855 /* 218841 */ // GIR_Coverage, 878,
76856 /* 218841 */ GIR_Done,
76857 /* 218842 */ // Label 6412: @218842
76858 /* 218842 */ GIM_Reject,
76859 /* 218843 */ // Label 6407: @218843
76860 /* 218843 */ GIM_Reject,
76861 /* 218844 */ // Label 6401: @218844
76862 /* 218844 */ GIM_Reject,
76863 /* 218845 */ // Label 6340: @218845
76864 /* 218845 */ GIM_Try, /*On fail goto*//*Label 6413*/ GIMT_Encode4(219003),
76865 /* 218850 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
76866 /* 218853 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
76867 /* 218856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76868 /* 218860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6414*/ GIMT_Encode4(218917), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24647 //
76869 /* 218867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76870 /* 218871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76871 /* 218875 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76872 /* 218878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76873 /* 218882 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76874 /* 218886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76875 /* 218890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76876 /* 218892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76877 /* 218899 */ // (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)
76878 /* 218899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
76879 /* 218902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76880 /* 218904 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76881 /* 218906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76882 /* 218910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76883 /* 218915 */ GIR_RootConstrainSelectedInstOperands,
76884 /* 218916 */ // GIR_Coverage, 24647,
76885 /* 218916 */ GIR_EraseRootFromParent_Done,
76886 /* 218917 */ // Label 6414: @218917
76887 /* 218917 */ GIM_Try, /*On fail goto*//*Label 6415*/ GIMT_Encode4(219002),
76888 /* 218922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76889 /* 218926 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6416*/ GIMT_Encode4(218979), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6462 //
76890 /* 218933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76891 /* 218937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76892 /* 218941 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76893 /* 218944 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76894 /* 218948 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76895 /* 218952 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76896 /* 218954 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76897 /* 218961 */ // (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)
76898 /* 218961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
76899 /* 218964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76900 /* 218966 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76901 /* 218968 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76902 /* 218972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76903 /* 218977 */ GIR_RootConstrainSelectedInstOperands,
76904 /* 218978 */ // GIR_Coverage, 6462,
76905 /* 218978 */ GIR_EraseRootFromParent_Done,
76906 /* 218979 */ // Label 6416: @218979
76907 /* 218979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6417*/ GIMT_Encode4(219001), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6458 //
76908 /* 218986 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76909 /* 218990 */ // (strict_fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
76910 /* 218990 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
76911 /* 218995 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76912 /* 218999 */ GIR_RootConstrainSelectedInstOperands,
76913 /* 219000 */ // GIR_Coverage, 6458,
76914 /* 219000 */ GIR_Done,
76915 /* 219001 */ // Label 6417: @219001
76916 /* 219001 */ GIM_Reject,
76917 /* 219002 */ // Label 6415: @219002
76918 /* 219002 */ GIM_Reject,
76919 /* 219003 */ // Label 6413: @219003
76920 /* 219003 */ GIM_Reject,
76921 /* 219004 */ // Label 6341: @219004
76922 /* 219004 */ GIM_Try, /*On fail goto*//*Label 6418*/ GIMT_Encode4(219162),
76923 /* 219009 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
76924 /* 219012 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
76925 /* 219015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76926 /* 219019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6419*/ GIMT_Encode4(219076), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24655 //
76927 /* 219026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76928 /* 219030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76929 /* 219034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76930 /* 219037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76931 /* 219041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76932 /* 219045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76933 /* 219049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76934 /* 219051 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76935 /* 219058 */ // (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)
76936 /* 219058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
76937 /* 219061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76938 /* 219063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76939 /* 219065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76940 /* 219069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76941 /* 219074 */ GIR_RootConstrainSelectedInstOperands,
76942 /* 219075 */ // GIR_Coverage, 24655,
76943 /* 219075 */ GIR_EraseRootFromParent_Done,
76944 /* 219076 */ // Label 6419: @219076
76945 /* 219076 */ GIM_Try, /*On fail goto*//*Label 6420*/ GIMT_Encode4(219161),
76946 /* 219081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76947 /* 219085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6421*/ GIMT_Encode4(219138), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6474 //
76948 /* 219092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76949 /* 219096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76950 /* 219100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76951 /* 219103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76952 /* 219107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76953 /* 219111 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76954 /* 219113 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76955 /* 219120 */ // (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)
76956 /* 219120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
76957 /* 219123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76958 /* 219125 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76959 /* 219127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76960 /* 219131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76961 /* 219136 */ GIR_RootConstrainSelectedInstOperands,
76962 /* 219137 */ // GIR_Coverage, 6474,
76963 /* 219137 */ GIR_EraseRootFromParent_Done,
76964 /* 219138 */ // Label 6421: @219138
76965 /* 219138 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6422*/ GIMT_Encode4(219160), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6470 //
76966 /* 219145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76967 /* 219149 */ // (strict_fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
76968 /* 219149 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
76969 /* 219154 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76970 /* 219158 */ GIR_RootConstrainSelectedInstOperands,
76971 /* 219159 */ // GIR_Coverage, 6470,
76972 /* 219159 */ GIR_Done,
76973 /* 219160 */ // Label 6422: @219160
76974 /* 219160 */ GIM_Reject,
76975 /* 219161 */ // Label 6420: @219161
76976 /* 219161 */ GIM_Reject,
76977 /* 219162 */ // Label 6418: @219162
76978 /* 219162 */ GIM_Reject,
76979 /* 219163 */ // Label 6342: @219163
76980 /* 219163 */ GIM_Try, /*On fail goto*//*Label 6423*/ GIMT_Encode4(219321),
76981 /* 219168 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
76982 /* 219171 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
76983 /* 219174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76984 /* 219178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6424*/ GIMT_Encode4(219235), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24639 //
76985 /* 219185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76986 /* 219189 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76987 /* 219193 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76988 /* 219196 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76989 /* 219200 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76990 /* 219204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76991 /* 219208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76992 /* 219210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76993 /* 219217 */ // (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)
76994 /* 219217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
76995 /* 219220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76996 /* 219222 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76997 /* 219224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76998 /* 219228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76999 /* 219233 */ GIR_RootConstrainSelectedInstOperands,
77000 /* 219234 */ // GIR_Coverage, 24639,
77001 /* 219234 */ GIR_EraseRootFromParent_Done,
77002 /* 219235 */ // Label 6424: @219235
77003 /* 219235 */ GIM_Try, /*On fail goto*//*Label 6425*/ GIMT_Encode4(219320),
77004 /* 219240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77005 /* 219244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6426*/ GIMT_Encode4(219297), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6450 //
77006 /* 219251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77007 /* 219255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77008 /* 219259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77009 /* 219262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77010 /* 219266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77011 /* 219270 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77012 /* 219272 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77013 /* 219279 */ // (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)
77014 /* 219279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
77015 /* 219282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77016 /* 219284 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77017 /* 219286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77018 /* 219290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77019 /* 219295 */ GIR_RootConstrainSelectedInstOperands,
77020 /* 219296 */ // GIR_Coverage, 6450,
77021 /* 219296 */ GIR_EraseRootFromParent_Done,
77022 /* 219297 */ // Label 6426: @219297
77023 /* 219297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6427*/ GIMT_Encode4(219319), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6446 //
77024 /* 219304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77025 /* 219308 */ // (strict_fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
77026 /* 219308 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
77027 /* 219313 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77028 /* 219317 */ GIR_RootConstrainSelectedInstOperands,
77029 /* 219318 */ // GIR_Coverage, 6446,
77030 /* 219318 */ GIR_Done,
77031 /* 219319 */ // Label 6427: @219319
77032 /* 219319 */ GIM_Reject,
77033 /* 219320 */ // Label 6425: @219320
77034 /* 219320 */ GIM_Reject,
77035 /* 219321 */ // Label 6423: @219321
77036 /* 219321 */ GIM_Reject,
77037 /* 219322 */ // Label 6343: @219322
77038 /* 219322 */ GIM_Try, /*On fail goto*//*Label 6428*/ GIMT_Encode4(219662),
77039 /* 219327 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
77040 /* 219330 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
77041 /* 219333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6429*/ GIMT_Encode4(219394), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23645 //
77042 /* 219340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77043 /* 219344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77044 /* 219348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77045 /* 219352 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77046 /* 219355 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77047 /* 219359 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77048 /* 219363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77049 /* 219367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77050 /* 219369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77051 /* 219376 */ // (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)
77052 /* 219376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
77053 /* 219379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77054 /* 219381 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77055 /* 219383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77056 /* 219387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77057 /* 219392 */ GIR_RootConstrainSelectedInstOperands,
77058 /* 219393 */ // GIR_Coverage, 23645,
77059 /* 219393 */ GIR_EraseRootFromParent_Done,
77060 /* 219394 */ // Label 6429: @219394
77061 /* 219394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6430*/ GIMT_Encode4(219455), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24607 //
77062 /* 219401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77063 /* 219405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77064 /* 219409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77065 /* 219413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77066 /* 219416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77067 /* 219420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77068 /* 219424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77069 /* 219428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77070 /* 219430 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77071 /* 219437 */ // (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)
77072 /* 219437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
77073 /* 219440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77074 /* 219442 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77075 /* 219444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77076 /* 219448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77077 /* 219453 */ GIR_RootConstrainSelectedInstOperands,
77078 /* 219454 */ // GIR_Coverage, 24607,
77079 /* 219454 */ GIR_EraseRootFromParent_Done,
77080 /* 219455 */ // Label 6430: @219455
77081 /* 219455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6431*/ GIMT_Encode4(219516), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2157 //
77082 /* 219462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77083 /* 219466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77084 /* 219470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77085 /* 219474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77086 /* 219478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77087 /* 219481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77088 /* 219485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77089 /* 219489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77090 /* 219491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77091 /* 219498 */ // (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)
77092 /* 219498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
77093 /* 219501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77094 /* 219503 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77095 /* 219505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77096 /* 219509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77097 /* 219514 */ GIR_RootConstrainSelectedInstOperands,
77098 /* 219515 */ // GIR_Coverage, 2157,
77099 /* 219515 */ GIR_EraseRootFromParent_Done,
77100 /* 219516 */ // Label 6431: @219516
77101 /* 219516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6432*/ GIMT_Encode4(219577), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6402 //
77102 /* 219523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77103 /* 219527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77104 /* 219531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77105 /* 219535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77106 /* 219539 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77107 /* 219542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77108 /* 219546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77109 /* 219550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77110 /* 219552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77111 /* 219559 */ // (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)
77112 /* 219559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
77113 /* 219562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77114 /* 219564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77115 /* 219566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77116 /* 219570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77117 /* 219575 */ GIR_RootConstrainSelectedInstOperands,
77118 /* 219576 */ // GIR_Coverage, 6402,
77119 /* 219576 */ GIR_EraseRootFromParent_Done,
77120 /* 219577 */ // Label 6432: @219577
77121 /* 219577 */ GIM_Try, /*On fail goto*//*Label 6433*/ GIMT_Encode4(219631),
77122 /* 219582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77123 /* 219586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77124 /* 219590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77125 /* 219594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6434*/ GIMT_Encode4(219612), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2155 //
77126 /* 219601 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
77127 /* 219601 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
77128 /* 219606 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77129 /* 219610 */ GIR_RootConstrainSelectedInstOperands,
77130 /* 219611 */ // GIR_Coverage, 2155,
77131 /* 219611 */ GIR_Done,
77132 /* 219612 */ // Label 6434: @219612
77133 /* 219612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6435*/ GIMT_Encode4(219630), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2171 //
77134 /* 219619 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
77135 /* 219619 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
77136 /* 219624 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77137 /* 219628 */ GIR_RootConstrainSelectedInstOperands,
77138 /* 219629 */ // GIR_Coverage, 2171,
77139 /* 219629 */ GIR_Done,
77140 /* 219630 */ // Label 6435: @219630
77141 /* 219630 */ GIM_Reject,
77142 /* 219631 */ // Label 6433: @219631
77143 /* 219631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6436*/ GIMT_Encode4(219661), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6398 //
77144 /* 219638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77145 /* 219642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77146 /* 219646 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77147 /* 219650 */ // (strict_fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
77148 /* 219650 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
77149 /* 219655 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77150 /* 219659 */ GIR_RootConstrainSelectedInstOperands,
77151 /* 219660 */ // GIR_Coverage, 6398,
77152 /* 219660 */ GIR_Done,
77153 /* 219661 */ // Label 6436: @219661
77154 /* 219661 */ GIM_Reject,
77155 /* 219662 */ // Label 6428: @219662
77156 /* 219662 */ GIM_Reject,
77157 /* 219663 */ // Label 6344: @219663
77158 /* 219663 */ GIM_Try, /*On fail goto*//*Label 6437*/ GIMT_Encode4(219979),
77159 /* 219668 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
77160 /* 219671 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
77161 /* 219674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6438*/ GIMT_Encode4(219735), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23649 //
77162 /* 219681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77163 /* 219685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77164 /* 219689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77165 /* 219693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77166 /* 219696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77167 /* 219700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77168 /* 219704 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77169 /* 219708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77170 /* 219710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77171 /* 219717 */ // (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)
77172 /* 219717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
77173 /* 219720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77174 /* 219722 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77175 /* 219724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77176 /* 219728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77177 /* 219733 */ GIR_RootConstrainSelectedInstOperands,
77178 /* 219734 */ // GIR_Coverage, 23649,
77179 /* 219734 */ GIR_EraseRootFromParent_Done,
77180 /* 219735 */ // Label 6438: @219735
77181 /* 219735 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6439*/ GIMT_Encode4(219796), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24615 //
77182 /* 219742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77183 /* 219746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77184 /* 219750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77185 /* 219754 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77186 /* 219757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77187 /* 219761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77188 /* 219765 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77189 /* 219769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77190 /* 219771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77191 /* 219778 */ // (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)
77192 /* 219778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
77193 /* 219781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77194 /* 219783 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77195 /* 219785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77196 /* 219789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77197 /* 219794 */ GIR_RootConstrainSelectedInstOperands,
77198 /* 219795 */ // GIR_Coverage, 24615,
77199 /* 219795 */ GIR_EraseRootFromParent_Done,
77200 /* 219796 */ // Label 6439: @219796
77201 /* 219796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6440*/ GIMT_Encode4(219857), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2165 //
77202 /* 219803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77203 /* 219807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77204 /* 219811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77205 /* 219815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77206 /* 219819 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77207 /* 219822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77208 /* 219826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77209 /* 219830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77210 /* 219832 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77211 /* 219839 */ // (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)
77212 /* 219839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
77213 /* 219842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77214 /* 219844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77215 /* 219846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77216 /* 219850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77217 /* 219855 */ GIR_RootConstrainSelectedInstOperands,
77218 /* 219856 */ // GIR_Coverage, 2165,
77219 /* 219856 */ GIR_EraseRootFromParent_Done,
77220 /* 219857 */ // Label 6440: @219857
77221 /* 219857 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6441*/ GIMT_Encode4(219918), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6414 //
77222 /* 219864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77223 /* 219868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77224 /* 219872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77225 /* 219876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77226 /* 219880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77227 /* 219883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77228 /* 219887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77229 /* 219891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77230 /* 219893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77231 /* 219900 */ // (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)
77232 /* 219900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
77233 /* 219903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77234 /* 219905 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77235 /* 219907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77236 /* 219911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77237 /* 219916 */ GIR_RootConstrainSelectedInstOperands,
77238 /* 219917 */ // GIR_Coverage, 6414,
77239 /* 219917 */ GIR_EraseRootFromParent_Done,
77240 /* 219918 */ // Label 6441: @219918
77241 /* 219918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6442*/ GIMT_Encode4(219948), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2163 //
77242 /* 219925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77243 /* 219929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77244 /* 219933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77245 /* 219937 */ // (strict_fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
77246 /* 219937 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
77247 /* 219942 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77248 /* 219946 */ GIR_RootConstrainSelectedInstOperands,
77249 /* 219947 */ // GIR_Coverage, 2163,
77250 /* 219947 */ GIR_Done,
77251 /* 219948 */ // Label 6442: @219948
77252 /* 219948 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6443*/ GIMT_Encode4(219978), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6410 //
77253 /* 219955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77254 /* 219959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77255 /* 219963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77256 /* 219967 */ // (strict_fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
77257 /* 219967 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
77258 /* 219972 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77259 /* 219976 */ GIR_RootConstrainSelectedInstOperands,
77260 /* 219977 */ // GIR_Coverage, 6410,
77261 /* 219977 */ GIR_Done,
77262 /* 219978 */ // Label 6443: @219978
77263 /* 219978 */ GIM_Reject,
77264 /* 219979 */ // Label 6437: @219979
77265 /* 219979 */ GIM_Reject,
77266 /* 219980 */ // Label 6345: @219980
77267 /* 219980 */ GIM_Try, /*On fail goto*//*Label 6444*/ GIMT_Encode4(220138),
77268 /* 219985 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
77269 /* 219988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
77270 /* 219991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77271 /* 219995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6445*/ GIMT_Encode4(220052), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24591 //
77272 /* 220002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77273 /* 220006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77274 /* 220010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77275 /* 220013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77276 /* 220017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77277 /* 220021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77278 /* 220025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77279 /* 220027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77280 /* 220034 */ // (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)
77281 /* 220034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
77282 /* 220037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77283 /* 220039 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77284 /* 220041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77285 /* 220045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77286 /* 220050 */ GIR_RootConstrainSelectedInstOperands,
77287 /* 220051 */ // GIR_Coverage, 24591,
77288 /* 220051 */ GIR_EraseRootFromParent_Done,
77289 /* 220052 */ // Label 6445: @220052
77290 /* 220052 */ GIM_Try, /*On fail goto*//*Label 6446*/ GIMT_Encode4(220137),
77291 /* 220057 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77292 /* 220061 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6447*/ GIMT_Encode4(220114), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6378 //
77293 /* 220068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77294 /* 220072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77295 /* 220076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77296 /* 220079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77297 /* 220083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77298 /* 220087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77299 /* 220089 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77300 /* 220096 */ // (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)
77301 /* 220096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
77302 /* 220099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77303 /* 220101 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77304 /* 220103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77305 /* 220107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77306 /* 220112 */ GIR_RootConstrainSelectedInstOperands,
77307 /* 220113 */ // GIR_Coverage, 6378,
77308 /* 220113 */ GIR_EraseRootFromParent_Done,
77309 /* 220114 */ // Label 6447: @220114
77310 /* 220114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6448*/ GIMT_Encode4(220136), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6374 //
77311 /* 220121 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77312 /* 220125 */ // (strict_fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
77313 /* 220125 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
77314 /* 220130 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77315 /* 220134 */ GIR_RootConstrainSelectedInstOperands,
77316 /* 220135 */ // GIR_Coverage, 6374,
77317 /* 220135 */ GIR_Done,
77318 /* 220136 */ // Label 6448: @220136
77319 /* 220136 */ GIM_Reject,
77320 /* 220137 */ // Label 6446: @220137
77321 /* 220137 */ GIM_Reject,
77322 /* 220138 */ // Label 6444: @220138
77323 /* 220138 */ GIM_Reject,
77324 /* 220139 */ // Label 6346: @220139
77325 /* 220139 */ GIM_Try, /*On fail goto*//*Label 6449*/ GIMT_Encode4(220479),
77326 /* 220144 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
77327 /* 220147 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
77328 /* 220150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6450*/ GIMT_Encode4(220211), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23647 //
77329 /* 220157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77330 /* 220161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77331 /* 220165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77332 /* 220169 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77333 /* 220172 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77334 /* 220176 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77335 /* 220180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77336 /* 220184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77337 /* 220186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77338 /* 220193 */ // (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)
77339 /* 220193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
77340 /* 220196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77341 /* 220198 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77342 /* 220200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77343 /* 220204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77344 /* 220209 */ GIR_RootConstrainSelectedInstOperands,
77345 /* 220210 */ // GIR_Coverage, 23647,
77346 /* 220210 */ GIR_EraseRootFromParent_Done,
77347 /* 220211 */ // Label 6450: @220211
77348 /* 220211 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6451*/ GIMT_Encode4(220272), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24623 //
77349 /* 220218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77350 /* 220222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77351 /* 220226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77352 /* 220230 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77353 /* 220233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77354 /* 220237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77355 /* 220241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77356 /* 220245 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77357 /* 220247 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77358 /* 220254 */ // (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)
77359 /* 220254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
77360 /* 220257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77361 /* 220259 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77362 /* 220261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77363 /* 220265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77364 /* 220270 */ GIR_RootConstrainSelectedInstOperands,
77365 /* 220271 */ // GIR_Coverage, 24623,
77366 /* 220271 */ GIR_EraseRootFromParent_Done,
77367 /* 220272 */ // Label 6451: @220272
77368 /* 220272 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6452*/ GIMT_Encode4(220333), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2161 //
77369 /* 220279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77370 /* 220283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77371 /* 220287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77372 /* 220291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77373 /* 220295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77374 /* 220298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77375 /* 220302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77376 /* 220306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77377 /* 220308 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77378 /* 220315 */ // (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)
77379 /* 220315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
77380 /* 220318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77381 /* 220320 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77382 /* 220322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77383 /* 220326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77384 /* 220331 */ GIR_RootConstrainSelectedInstOperands,
77385 /* 220332 */ // GIR_Coverage, 2161,
77386 /* 220332 */ GIR_EraseRootFromParent_Done,
77387 /* 220333 */ // Label 6452: @220333
77388 /* 220333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6453*/ GIMT_Encode4(220394), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6426 //
77389 /* 220340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77390 /* 220344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77391 /* 220348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77392 /* 220352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77393 /* 220356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77394 /* 220359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77395 /* 220363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77396 /* 220367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77397 /* 220369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77398 /* 220376 */ // (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)
77399 /* 220376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
77400 /* 220379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77401 /* 220381 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77402 /* 220383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77403 /* 220387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77404 /* 220392 */ GIR_RootConstrainSelectedInstOperands,
77405 /* 220393 */ // GIR_Coverage, 6426,
77406 /* 220393 */ GIR_EraseRootFromParent_Done,
77407 /* 220394 */ // Label 6453: @220394
77408 /* 220394 */ GIM_Try, /*On fail goto*//*Label 6454*/ GIMT_Encode4(220448),
77409 /* 220399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77410 /* 220403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77411 /* 220407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77412 /* 220411 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6455*/ GIMT_Encode4(220429), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2159 //
77413 /* 220418 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77414 /* 220418 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
77415 /* 220423 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77416 /* 220427 */ GIR_RootConstrainSelectedInstOperands,
77417 /* 220428 */ // GIR_Coverage, 2159,
77418 /* 220428 */ GIR_Done,
77419 /* 220429 */ // Label 6455: @220429
77420 /* 220429 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6456*/ GIMT_Encode4(220447), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2175 //
77421 /* 220436 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77422 /* 220436 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
77423 /* 220441 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77424 /* 220445 */ GIR_RootConstrainSelectedInstOperands,
77425 /* 220446 */ // GIR_Coverage, 2175,
77426 /* 220446 */ GIR_Done,
77427 /* 220447 */ // Label 6456: @220447
77428 /* 220447 */ GIM_Reject,
77429 /* 220448 */ // Label 6454: @220448
77430 /* 220448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6457*/ GIMT_Encode4(220478), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6422 //
77431 /* 220455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77432 /* 220459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77433 /* 220463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77434 /* 220467 */ // (strict_fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
77435 /* 220467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
77436 /* 220472 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77437 /* 220476 */ GIR_RootConstrainSelectedInstOperands,
77438 /* 220477 */ // GIR_Coverage, 6422,
77439 /* 220477 */ GIR_Done,
77440 /* 220478 */ // Label 6457: @220478
77441 /* 220478 */ GIM_Reject,
77442 /* 220479 */ // Label 6449: @220479
77443 /* 220479 */ GIM_Reject,
77444 /* 220480 */ // Label 6347: @220480
77445 /* 220480 */ GIM_Try, /*On fail goto*//*Label 6458*/ GIMT_Encode4(220796),
77446 /* 220485 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
77447 /* 220488 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
77448 /* 220491 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6459*/ GIMT_Encode4(220552), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23651 //
77449 /* 220498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77450 /* 220502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77451 /* 220506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77452 /* 220510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77453 /* 220513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77454 /* 220517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77455 /* 220521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77456 /* 220525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77457 /* 220527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77458 /* 220534 */ // (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)
77459 /* 220534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
77460 /* 220537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77461 /* 220539 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77462 /* 220541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77463 /* 220545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77464 /* 220550 */ GIR_RootConstrainSelectedInstOperands,
77465 /* 220551 */ // GIR_Coverage, 23651,
77466 /* 220551 */ GIR_EraseRootFromParent_Done,
77467 /* 220552 */ // Label 6459: @220552
77468 /* 220552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6460*/ GIMT_Encode4(220613), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24631 //
77469 /* 220559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77470 /* 220563 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77471 /* 220567 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77472 /* 220571 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77473 /* 220574 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77474 /* 220578 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77475 /* 220582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77476 /* 220586 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77477 /* 220588 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77478 /* 220595 */ // (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)
77479 /* 220595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
77480 /* 220598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77481 /* 220600 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77482 /* 220602 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77483 /* 220606 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77484 /* 220611 */ GIR_RootConstrainSelectedInstOperands,
77485 /* 220612 */ // GIR_Coverage, 24631,
77486 /* 220612 */ GIR_EraseRootFromParent_Done,
77487 /* 220613 */ // Label 6460: @220613
77488 /* 220613 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6461*/ GIMT_Encode4(220674), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2169 //
77489 /* 220620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77490 /* 220624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77491 /* 220628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77492 /* 220632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77493 /* 220636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77494 /* 220639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77495 /* 220643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77496 /* 220647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77497 /* 220649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77498 /* 220656 */ // (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)
77499 /* 220656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
77500 /* 220659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77501 /* 220661 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77502 /* 220663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77503 /* 220667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77504 /* 220672 */ GIR_RootConstrainSelectedInstOperands,
77505 /* 220673 */ // GIR_Coverage, 2169,
77506 /* 220673 */ GIR_EraseRootFromParent_Done,
77507 /* 220674 */ // Label 6461: @220674
77508 /* 220674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6462*/ GIMT_Encode4(220735), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6438 //
77509 /* 220681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77510 /* 220685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77511 /* 220689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77512 /* 220693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77513 /* 220697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77514 /* 220700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77515 /* 220704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77516 /* 220708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77517 /* 220710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77518 /* 220717 */ // (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)
77519 /* 220717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
77520 /* 220720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77521 /* 220722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77522 /* 220724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77523 /* 220728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77524 /* 220733 */ GIR_RootConstrainSelectedInstOperands,
77525 /* 220734 */ // GIR_Coverage, 6438,
77526 /* 220734 */ GIR_EraseRootFromParent_Done,
77527 /* 220735 */ // Label 6462: @220735
77528 /* 220735 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6463*/ GIMT_Encode4(220765), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2167 //
77529 /* 220742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77530 /* 220746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77531 /* 220750 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77532 /* 220754 */ // (strict_fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
77533 /* 220754 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
77534 /* 220759 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77535 /* 220763 */ GIR_RootConstrainSelectedInstOperands,
77536 /* 220764 */ // GIR_Coverage, 2167,
77537 /* 220764 */ GIR_Done,
77538 /* 220765 */ // Label 6463: @220765
77539 /* 220765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6464*/ GIMT_Encode4(220795), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6434 //
77540 /* 220772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77541 /* 220776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77542 /* 220780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77543 /* 220784 */ // (strict_fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
77544 /* 220784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
77545 /* 220789 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77546 /* 220793 */ GIR_RootConstrainSelectedInstOperands,
77547 /* 220794 */ // GIR_Coverage, 6434,
77548 /* 220794 */ GIR_Done,
77549 /* 220795 */ // Label 6464: @220795
77550 /* 220795 */ GIM_Reject,
77551 /* 220796 */ // Label 6458: @220796
77552 /* 220796 */ GIM_Reject,
77553 /* 220797 */ // Label 6348: @220797
77554 /* 220797 */ GIM_Try, /*On fail goto*//*Label 6465*/ GIMT_Encode4(220955),
77555 /* 220802 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
77556 /* 220805 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
77557 /* 220808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77558 /* 220812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6466*/ GIMT_Encode4(220869), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24599 //
77559 /* 220819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77560 /* 220823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77561 /* 220827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77562 /* 220830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77563 /* 220834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77564 /* 220838 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77565 /* 220842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77566 /* 220844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77567 /* 220851 */ // (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)
77568 /* 220851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
77569 /* 220854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77570 /* 220856 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77571 /* 220858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77572 /* 220862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77573 /* 220867 */ GIR_RootConstrainSelectedInstOperands,
77574 /* 220868 */ // GIR_Coverage, 24599,
77575 /* 220868 */ GIR_EraseRootFromParent_Done,
77576 /* 220869 */ // Label 6466: @220869
77577 /* 220869 */ GIM_Try, /*On fail goto*//*Label 6467*/ GIMT_Encode4(220954),
77578 /* 220874 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77579 /* 220878 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6468*/ GIMT_Encode4(220931), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6390 //
77580 /* 220885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77581 /* 220889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77582 /* 220893 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77583 /* 220896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77584 /* 220900 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77585 /* 220904 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77586 /* 220906 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77587 /* 220913 */ // (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)
77588 /* 220913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
77589 /* 220916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77590 /* 220918 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77591 /* 220920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77592 /* 220924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77593 /* 220929 */ GIR_RootConstrainSelectedInstOperands,
77594 /* 220930 */ // GIR_Coverage, 6390,
77595 /* 220930 */ GIR_EraseRootFromParent_Done,
77596 /* 220931 */ // Label 6468: @220931
77597 /* 220931 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6469*/ GIMT_Encode4(220953), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6386 //
77598 /* 220938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77599 /* 220942 */ // (strict_fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
77600 /* 220942 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
77601 /* 220947 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77602 /* 220951 */ GIR_RootConstrainSelectedInstOperands,
77603 /* 220952 */ // GIR_Coverage, 6386,
77604 /* 220952 */ GIR_Done,
77605 /* 220953 */ // Label 6469: @220953
77606 /* 220953 */ GIM_Reject,
77607 /* 220954 */ // Label 6467: @220954
77608 /* 220954 */ GIM_Reject,
77609 /* 220955 */ // Label 6465: @220955
77610 /* 220955 */ GIM_Reject,
77611 /* 220956 */ // Label 6349: @220956
77612 /* 220956 */ GIM_Reject,
77613 /* 220957 */ // Label 77: @220957
77614 /* 220957 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6483*/ GIMT_Encode4(224491),
77615 /* 220968 */ /*GILLT_s16*//*Label 6470*/ GIMT_Encode4(221060),
77616 /* 220972 */ /*GILLT_s32*//*Label 6471*/ GIMT_Encode4(221156),
77617 /* 220976 */ /*GILLT_s64*//*Label 6472*/ GIMT_Encode4(221836),
77618 /* 220980 */ /*GILLT_s80*//*Label 6473*/ GIMT_Encode4(222642), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
77619 /* 221024 */ /*GILLT_v8s16*//*Label 6474*/ GIMT_Encode4(223183),
77620 /* 221028 */ /*GILLT_v16s16*//*Label 6475*/ GIMT_Encode4(223279),
77621 /* 221032 */ /*GILLT_v32s16*//*Label 6476*/ GIMT_Encode4(223375),
77622 /* 221036 */ /*GILLT_v4s32*//*Label 6477*/ GIMT_Encode4(223471),
77623 /* 221040 */ /*GILLT_v8s32*//*Label 6478*/ GIMT_Encode4(223690),
77624 /* 221044 */ /*GILLT_v16s32*//*Label 6479*/ GIMT_Encode4(223885),
77625 /* 221048 */ /*GILLT_v2s64*//*Label 6480*/ GIMT_Encode4(223981),
77626 /* 221052 */ /*GILLT_v4s64*//*Label 6481*/ GIMT_Encode4(224200),
77627 /* 221056 */ /*GILLT_v8s64*//*Label 6482*/ GIMT_Encode4(224395),
77628 /* 221060 */ // Label 6470: @221060
77629 /* 221060 */ GIM_Try, /*On fail goto*//*Label 6484*/ GIMT_Encode4(221155),
77630 /* 221065 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
77631 /* 221068 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
77632 /* 221071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77633 /* 221075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77634 /* 221079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6485*/ GIMT_Encode4(221132), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6126 //
77635 /* 221086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77636 /* 221090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77637 /* 221094 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77638 /* 221097 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77639 /* 221101 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77640 /* 221105 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77641 /* 221107 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77642 /* 221114 */ // (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)
77643 /* 221114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
77644 /* 221117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77645 /* 221119 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77646 /* 221121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77647 /* 221125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77648 /* 221130 */ GIR_RootConstrainSelectedInstOperands,
77649 /* 221131 */ // GIR_Coverage, 6126,
77650 /* 221131 */ GIR_EraseRootFromParent_Done,
77651 /* 221132 */ // Label 6485: @221132
77652 /* 221132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6486*/ GIMT_Encode4(221154), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6124 //
77653 /* 221139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77654 /* 221143 */ // (strict_fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
77655 /* 221143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
77656 /* 221148 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77657 /* 221152 */ GIR_RootConstrainSelectedInstOperands,
77658 /* 221153 */ // GIR_Coverage, 6124,
77659 /* 221153 */ GIR_Done,
77660 /* 221154 */ // Label 6486: @221154
77661 /* 221154 */ GIM_Reject,
77662 /* 221155 */ // Label 6484: @221155
77663 /* 221155 */ GIM_Reject,
77664 /* 221156 */ // Label 6471: @221156
77665 /* 221156 */ GIM_Try, /*On fail goto*//*Label 6487*/ GIMT_Encode4(221835),
77666 /* 221161 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
77667 /* 221164 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
77668 /* 221167 */ GIM_Try, /*On fail goto*//*Label 6488*/ GIMT_Encode4(221533),
77669 /* 221172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77670 /* 221176 */ GIM_Try, /*On fail goto*//*Label 6489*/ GIMT_Encode4(221354),
77671 /* 221181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77672 /* 221185 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6490*/ GIMT_Encode4(221241), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1006 //
77673 /* 221192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77674 /* 221196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77675 /* 221200 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77676 /* 221207 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77677 /* 221211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77678 /* 221213 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77679 /* 221220 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77680 /* 221220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
77681 /* 221223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77682 /* 221225 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77683 /* 221227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77684 /* 221231 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77685 /* 221234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77686 /* 221239 */ GIR_RootConstrainSelectedInstOperands,
77687 /* 221240 */ // GIR_Coverage, 1006,
77688 /* 221240 */ GIR_EraseRootFromParent_Done,
77689 /* 221241 */ // Label 6490: @221241
77690 /* 221241 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6491*/ GIMT_Encode4(221297), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1008 //
77691 /* 221248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77692 /* 221252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77693 /* 221256 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77694 /* 221263 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77695 /* 221267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77696 /* 221269 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77697 /* 221276 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77698 /* 221276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
77699 /* 221279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77700 /* 221281 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77701 /* 221283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77702 /* 221287 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77703 /* 221290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77704 /* 221295 */ GIR_RootConstrainSelectedInstOperands,
77705 /* 221296 */ // GIR_Coverage, 1008,
77706 /* 221296 */ GIR_EraseRootFromParent_Done,
77707 /* 221297 */ // Label 6491: @221297
77708 /* 221297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6492*/ GIMT_Encode4(221353), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 996 //
77709 /* 221304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77710 /* 221308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77711 /* 221312 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77712 /* 221315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77713 /* 221319 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77714 /* 221323 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77715 /* 221325 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77716 /* 221332 */ // (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)
77717 /* 221332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
77718 /* 221335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77719 /* 221337 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77720 /* 221339 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77721 /* 221343 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77722 /* 221346 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77723 /* 221351 */ GIR_RootConstrainSelectedInstOperands,
77724 /* 221352 */ // GIR_Coverage, 996,
77725 /* 221352 */ GIR_EraseRootFromParent_Done,
77726 /* 221353 */ // Label 6492: @221353
77727 /* 221353 */ GIM_Reject,
77728 /* 221354 */ // Label 6489: @221354
77729 /* 221354 */ GIM_Try, /*On fail goto*//*Label 6493*/ GIMT_Encode4(221532),
77730 /* 221359 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77731 /* 221363 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6494*/ GIMT_Encode4(221419), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 984 //
77732 /* 221370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77733 /* 221374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77734 /* 221378 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77735 /* 221385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77736 /* 221389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77737 /* 221391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77738 /* 221398 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77739 /* 221398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
77740 /* 221401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77741 /* 221403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77742 /* 221405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77743 /* 221409 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77744 /* 221412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77745 /* 221417 */ GIR_RootConstrainSelectedInstOperands,
77746 /* 221418 */ // GIR_Coverage, 984,
77747 /* 221418 */ GIR_EraseRootFromParent_Done,
77748 /* 221419 */ // Label 6494: @221419
77749 /* 221419 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6495*/ GIMT_Encode4(221475), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 986 //
77750 /* 221426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77751 /* 221430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77752 /* 221434 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77753 /* 221441 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77754 /* 221445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77755 /* 221447 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77756 /* 221454 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77757 /* 221454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
77758 /* 221457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77759 /* 221459 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77760 /* 221461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77761 /* 221465 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77762 /* 221468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77763 /* 221473 */ GIR_RootConstrainSelectedInstOperands,
77764 /* 221474 */ // GIR_Coverage, 986,
77765 /* 221474 */ GIR_EraseRootFromParent_Done,
77766 /* 221475 */ // Label 6495: @221475
77767 /* 221475 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6496*/ GIMT_Encode4(221531), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 974 //
77768 /* 221482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77769 /* 221486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77770 /* 221490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77771 /* 221493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77772 /* 221497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77773 /* 221501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77774 /* 221503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77775 /* 221510 */ // (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)
77776 /* 221510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
77777 /* 221513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77778 /* 221515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77779 /* 221517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77780 /* 221521 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77781 /* 221524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77782 /* 221529 */ GIR_RootConstrainSelectedInstOperands,
77783 /* 221530 */ // GIR_Coverage, 974,
77784 /* 221530 */ GIR_EraseRootFromParent_Done,
77785 /* 221531 */ // Label 6496: @221531
77786 /* 221531 */ GIM_Reject,
77787 /* 221532 */ // Label 6493: @221532
77788 /* 221532 */ GIM_Reject,
77789 /* 221533 */ // Label 6488: @221533
77790 /* 221533 */ GIM_Try, /*On fail goto*//*Label 6497*/ GIMT_Encode4(221653),
77791 /* 221538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77792 /* 221542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77793 /* 221546 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6498*/ GIMT_Encode4(221599), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2261 //
77794 /* 221553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77795 /* 221557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77796 /* 221561 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77797 /* 221564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77798 /* 221568 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77799 /* 221572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77800 /* 221574 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77801 /* 221581 */ // (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)
77802 /* 221581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
77803 /* 221584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77804 /* 221586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77805 /* 221588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77806 /* 221592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77807 /* 221597 */ GIR_RootConstrainSelectedInstOperands,
77808 /* 221598 */ // GIR_Coverage, 2261,
77809 /* 221598 */ GIR_EraseRootFromParent_Done,
77810 /* 221599 */ // Label 6498: @221599
77811 /* 221599 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6499*/ GIMT_Encode4(221652), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2269 //
77812 /* 221606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77813 /* 221610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77814 /* 221614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77815 /* 221617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77816 /* 221621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77817 /* 221625 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77818 /* 221627 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77819 /* 221634 */ // (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)
77820 /* 221634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
77821 /* 221637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77822 /* 221639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77823 /* 221641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77824 /* 221645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77825 /* 221650 */ GIR_RootConstrainSelectedInstOperands,
77826 /* 221651 */ // GIR_Coverage, 2269,
77827 /* 221651 */ GIR_EraseRootFromParent_Done,
77828 /* 221652 */ // Label 6499: @221652
77829 /* 221652 */ GIM_Reject,
77830 /* 221653 */ // Label 6497: @221653
77831 /* 221653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6500*/ GIMT_Encode4(221714), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6088 //
77832 /* 221660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77833 /* 221664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77834 /* 221668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77835 /* 221672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77836 /* 221676 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77837 /* 221679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77838 /* 221683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77839 /* 221687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77840 /* 221689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77841 /* 221696 */ // (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)
77842 /* 221696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
77843 /* 221699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77844 /* 221701 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77845 /* 221703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77846 /* 221707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77847 /* 221712 */ GIR_RootConstrainSelectedInstOperands,
77848 /* 221713 */ // GIR_Coverage, 6088,
77849 /* 221713 */ GIR_EraseRootFromParent_Done,
77850 /* 221714 */ // Label 6500: @221714
77851 /* 221714 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6501*/ GIMT_Encode4(221750), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 880 //
77852 /* 221721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77853 /* 221725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77854 /* 221729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77855 /* 221733 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
77856 /* 221733 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
77857 /* 221738 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
77858 /* 221744 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77859 /* 221748 */ GIR_RootConstrainSelectedInstOperands,
77860 /* 221749 */ // GIR_Coverage, 880,
77861 /* 221749 */ GIR_Done,
77862 /* 221750 */ // Label 6501: @221750
77863 /* 221750 */ GIM_Try, /*On fail goto*//*Label 6502*/ GIMT_Encode4(221804),
77864 /* 221755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77865 /* 221759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77866 /* 221763 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77867 /* 221767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6503*/ GIMT_Encode4(221785), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2259 //
77868 /* 221774 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77869 /* 221774 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
77870 /* 221779 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77871 /* 221783 */ GIR_RootConstrainSelectedInstOperands,
77872 /* 221784 */ // GIR_Coverage, 2259,
77873 /* 221784 */ GIR_Done,
77874 /* 221785 */ // Label 6503: @221785
77875 /* 221785 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6504*/ GIMT_Encode4(221803), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2267 //
77876 /* 221792 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77877 /* 221792 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
77878 /* 221797 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77879 /* 221801 */ GIR_RootConstrainSelectedInstOperands,
77880 /* 221802 */ // GIR_Coverage, 2267,
77881 /* 221802 */ GIR_Done,
77882 /* 221803 */ // Label 6504: @221803
77883 /* 221803 */ GIM_Reject,
77884 /* 221804 */ // Label 6502: @221804
77885 /* 221804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6505*/ GIMT_Encode4(221834), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6086 //
77886 /* 221811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77887 /* 221815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77888 /* 221819 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77889 /* 221823 */ // (strict_fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
77890 /* 221823 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
77891 /* 221828 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77892 /* 221832 */ GIR_RootConstrainSelectedInstOperands,
77893 /* 221833 */ // GIR_Coverage, 6086,
77894 /* 221833 */ GIR_Done,
77895 /* 221834 */ // Label 6505: @221834
77896 /* 221834 */ GIM_Reject,
77897 /* 221835 */ // Label 6487: @221835
77898 /* 221835 */ GIM_Reject,
77899 /* 221836 */ // Label 6472: @221836
77900 /* 221836 */ GIM_Try, /*On fail goto*//*Label 6506*/ GIMT_Encode4(222641),
77901 /* 221841 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
77902 /* 221844 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
77903 /* 221847 */ GIM_Try, /*On fail goto*//*Label 6507*/ GIMT_Encode4(222339),
77904 /* 221852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77905 /* 221856 */ GIM_Try, /*On fail goto*//*Label 6508*/ GIMT_Encode4(222097),
77906 /* 221861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77907 /* 221865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6509*/ GIMT_Encode4(221921), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1010 //
77908 /* 221872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77909 /* 221876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77910 /* 221880 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77911 /* 221887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77912 /* 221891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77913 /* 221893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77914 /* 221900 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77915 /* 221900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
77916 /* 221903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77917 /* 221905 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77918 /* 221907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77919 /* 221911 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77920 /* 221914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77921 /* 221919 */ GIR_RootConstrainSelectedInstOperands,
77922 /* 221920 */ // GIR_Coverage, 1010,
77923 /* 221920 */ GIR_EraseRootFromParent_Done,
77924 /* 221921 */ // Label 6509: @221921
77925 /* 221921 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6510*/ GIMT_Encode4(221977), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1012 //
77926 /* 221928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77927 /* 221932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77928 /* 221936 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77929 /* 221943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77930 /* 221947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77931 /* 221949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77932 /* 221956 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77933 /* 221956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
77934 /* 221959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77935 /* 221961 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77936 /* 221963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77937 /* 221967 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77938 /* 221970 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77939 /* 221975 */ GIR_RootConstrainSelectedInstOperands,
77940 /* 221976 */ // GIR_Coverage, 1012,
77941 /* 221976 */ GIR_EraseRootFromParent_Done,
77942 /* 221977 */ // Label 6510: @221977
77943 /* 221977 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6511*/ GIMT_Encode4(222040), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1000 //
77944 /* 221984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77945 /* 221988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
77946 /* 221992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77947 /* 221995 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77948 /* 221999 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77949 /* 222006 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77950 /* 222010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77951 /* 222012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77952 /* 222019 */ // (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)
77953 /* 222019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
77954 /* 222022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77955 /* 222024 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77956 /* 222026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77957 /* 222030 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77958 /* 222033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77959 /* 222038 */ GIR_RootConstrainSelectedInstOperands,
77960 /* 222039 */ // GIR_Coverage, 1000,
77961 /* 222039 */ GIR_EraseRootFromParent_Done,
77962 /* 222040 */ // Label 6511: @222040
77963 /* 222040 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6512*/ GIMT_Encode4(222096), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 998 //
77964 /* 222047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77965 /* 222051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77966 /* 222055 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77967 /* 222058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77968 /* 222062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77969 /* 222066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77970 /* 222068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77971 /* 222075 */ // (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)
77972 /* 222075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
77973 /* 222078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77974 /* 222080 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77975 /* 222082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77976 /* 222086 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77977 /* 222089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77978 /* 222094 */ GIR_RootConstrainSelectedInstOperands,
77979 /* 222095 */ // GIR_Coverage, 998,
77980 /* 222095 */ GIR_EraseRootFromParent_Done,
77981 /* 222096 */ // Label 6512: @222096
77982 /* 222096 */ GIM_Reject,
77983 /* 222097 */ // Label 6508: @222097
77984 /* 222097 */ GIM_Try, /*On fail goto*//*Label 6513*/ GIMT_Encode4(222338),
77985 /* 222102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77986 /* 222106 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6514*/ GIMT_Encode4(222162), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 988 //
77987 /* 222113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77988 /* 222117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77989 /* 222121 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77990 /* 222128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77991 /* 222132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77992 /* 222134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77993 /* 222141 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77994 /* 222141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
77995 /* 222144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77996 /* 222146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77997 /* 222148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77998 /* 222152 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77999 /* 222155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78000 /* 222160 */ GIR_RootConstrainSelectedInstOperands,
78001 /* 222161 */ // GIR_Coverage, 988,
78002 /* 222161 */ GIR_EraseRootFromParent_Done,
78003 /* 222162 */ // Label 6514: @222162
78004 /* 222162 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6515*/ GIMT_Encode4(222218), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 990 //
78005 /* 222169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78006 /* 222173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78007 /* 222177 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78008 /* 222184 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78009 /* 222188 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78010 /* 222190 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78011 /* 222197 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78012 /* 222197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
78013 /* 222200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78014 /* 222202 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78015 /* 222204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78016 /* 222208 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78017 /* 222211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78018 /* 222216 */ GIR_RootConstrainSelectedInstOperands,
78019 /* 222217 */ // GIR_Coverage, 990,
78020 /* 222217 */ GIR_EraseRootFromParent_Done,
78021 /* 222218 */ // Label 6515: @222218
78022 /* 222218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6516*/ GIMT_Encode4(222281), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 978 //
78023 /* 222225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78024 /* 222229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78025 /* 222233 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78026 /* 222236 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78027 /* 222240 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78028 /* 222247 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78029 /* 222251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78030 /* 222253 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78031 /* 222260 */ // (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)
78032 /* 222260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
78033 /* 222263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78034 /* 222265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78035 /* 222267 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78036 /* 222271 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78037 /* 222274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78038 /* 222279 */ GIR_RootConstrainSelectedInstOperands,
78039 /* 222280 */ // GIR_Coverage, 978,
78040 /* 222280 */ GIR_EraseRootFromParent_Done,
78041 /* 222281 */ // Label 6516: @222281
78042 /* 222281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6517*/ GIMT_Encode4(222337), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 976 //
78043 /* 222288 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78044 /* 222292 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78045 /* 222296 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78046 /* 222299 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78047 /* 222303 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78048 /* 222307 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78049 /* 222309 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78050 /* 222316 */ // (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)
78051 /* 222316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
78052 /* 222319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78053 /* 222321 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78054 /* 222323 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78055 /* 222327 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78056 /* 222330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78057 /* 222335 */ GIR_RootConstrainSelectedInstOperands,
78058 /* 222336 */ // GIR_Coverage, 976,
78059 /* 222336 */ GIR_EraseRootFromParent_Done,
78060 /* 222337 */ // Label 6517: @222337
78061 /* 222337 */ GIM_Reject,
78062 /* 222338 */ // Label 6513: @222338
78063 /* 222338 */ GIM_Reject,
78064 /* 222339 */ // Label 6507: @222339
78065 /* 222339 */ GIM_Try, /*On fail goto*//*Label 6518*/ GIMT_Encode4(222459),
78066 /* 222344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78067 /* 222348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78068 /* 222352 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6519*/ GIMT_Encode4(222405), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2265 //
78069 /* 222359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78070 /* 222363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78071 /* 222367 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78072 /* 222370 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78073 /* 222374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78074 /* 222378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78075 /* 222380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78076 /* 222387 */ // (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)
78077 /* 222387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
78078 /* 222390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78079 /* 222392 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78080 /* 222394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78081 /* 222398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78082 /* 222403 */ GIR_RootConstrainSelectedInstOperands,
78083 /* 222404 */ // GIR_Coverage, 2265,
78084 /* 222404 */ GIR_EraseRootFromParent_Done,
78085 /* 222405 */ // Label 6519: @222405
78086 /* 222405 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6520*/ GIMT_Encode4(222458), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2273 //
78087 /* 222412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78088 /* 222416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78089 /* 222420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78090 /* 222423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78091 /* 222427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78092 /* 222431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78093 /* 222433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78094 /* 222440 */ // (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)
78095 /* 222440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
78096 /* 222443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78097 /* 222445 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78098 /* 222447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78099 /* 222451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78100 /* 222456 */ GIR_RootConstrainSelectedInstOperands,
78101 /* 222457 */ // GIR_Coverage, 2273,
78102 /* 222457 */ GIR_EraseRootFromParent_Done,
78103 /* 222458 */ // Label 6520: @222458
78104 /* 222458 */ GIM_Reject,
78105 /* 222459 */ // Label 6518: @222459
78106 /* 222459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6521*/ GIMT_Encode4(222520), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6107 //
78107 /* 222466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78108 /* 222470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78109 /* 222474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78110 /* 222478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78111 /* 222482 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78112 /* 222485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78113 /* 222489 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78114 /* 222493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78115 /* 222495 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78116 /* 222502 */ // (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)
78117 /* 222502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
78118 /* 222505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78119 /* 222507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78120 /* 222509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78121 /* 222513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78122 /* 222518 */ GIR_RootConstrainSelectedInstOperands,
78123 /* 222519 */ // GIR_Coverage, 6107,
78124 /* 222519 */ GIR_EraseRootFromParent_Done,
78125 /* 222520 */ // Label 6521: @222520
78126 /* 222520 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6522*/ GIMT_Encode4(222556), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 882 //
78127 /* 222527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78128 /* 222531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78129 /* 222535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78130 /* 222539 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
78131 /* 222539 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
78132 /* 222544 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
78133 /* 222550 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
78134 /* 222554 */ GIR_RootConstrainSelectedInstOperands,
78135 /* 222555 */ // GIR_Coverage, 882,
78136 /* 222555 */ GIR_Done,
78137 /* 222556 */ // Label 6522: @222556
78138 /* 222556 */ GIM_Try, /*On fail goto*//*Label 6523*/ GIMT_Encode4(222610),
78139 /* 222561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78140 /* 222565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78141 /* 222569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78142 /* 222573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6524*/ GIMT_Encode4(222591), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2263 //
78143 /* 222580 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
78144 /* 222580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
78145 /* 222585 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78146 /* 222589 */ GIR_RootConstrainSelectedInstOperands,
78147 /* 222590 */ // GIR_Coverage, 2263,
78148 /* 222590 */ GIR_Done,
78149 /* 222591 */ // Label 6524: @222591
78150 /* 222591 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6525*/ GIMT_Encode4(222609), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2271 //
78151 /* 222598 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
78152 /* 222598 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
78153 /* 222603 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78154 /* 222607 */ GIR_RootConstrainSelectedInstOperands,
78155 /* 222608 */ // GIR_Coverage, 2271,
78156 /* 222608 */ GIR_Done,
78157 /* 222609 */ // Label 6525: @222609
78158 /* 222609 */ GIM_Reject,
78159 /* 222610 */ // Label 6523: @222610
78160 /* 222610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6526*/ GIMT_Encode4(222640), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6105 //
78161 /* 222617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78162 /* 222621 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78163 /* 222625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78164 /* 222629 */ // (strict_fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
78165 /* 222629 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
78166 /* 222634 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78167 /* 222638 */ GIR_RootConstrainSelectedInstOperands,
78168 /* 222639 */ // GIR_Coverage, 6105,
78169 /* 222639 */ GIR_Done,
78170 /* 222640 */ // Label 6526: @222640
78171 /* 222640 */ GIM_Reject,
78172 /* 222641 */ // Label 6506: @222641
78173 /* 222641 */ GIM_Reject,
78174 /* 222642 */ // Label 6473: @222642
78175 /* 222642 */ GIM_Try, /*On fail goto*//*Label 6527*/ GIMT_Encode4(223182),
78176 /* 222647 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
78177 /* 222650 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
78178 /* 222653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78179 /* 222657 */ GIM_Try, /*On fail goto*//*Label 6528*/ GIMT_Encode4(222905),
78180 /* 222662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78181 /* 222666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6529*/ GIMT_Encode4(222722), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1014 //
78182 /* 222673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78183 /* 222677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78184 /* 222681 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78185 /* 222688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78186 /* 222692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78187 /* 222694 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78188 /* 222701 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78189 /* 222701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
78190 /* 222704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78191 /* 222706 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78192 /* 222708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78193 /* 222712 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78194 /* 222715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78195 /* 222720 */ GIR_RootConstrainSelectedInstOperands,
78196 /* 222721 */ // GIR_Coverage, 1014,
78197 /* 222721 */ GIR_EraseRootFromParent_Done,
78198 /* 222722 */ // Label 6529: @222722
78199 /* 222722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6530*/ GIMT_Encode4(222778), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1016 //
78200 /* 222729 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78201 /* 222733 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78202 /* 222737 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78203 /* 222744 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78204 /* 222748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78205 /* 222750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78206 /* 222757 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78207 /* 222757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
78208 /* 222760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78209 /* 222762 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78210 /* 222764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78211 /* 222768 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78212 /* 222771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78213 /* 222776 */ GIR_RootConstrainSelectedInstOperands,
78214 /* 222777 */ // GIR_Coverage, 1016,
78215 /* 222777 */ GIR_EraseRootFromParent_Done,
78216 /* 222778 */ // Label 6530: @222778
78217 /* 222778 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6531*/ GIMT_Encode4(222841), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1002 //
78218 /* 222785 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78219 /* 222789 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78220 /* 222793 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78221 /* 222796 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78222 /* 222800 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78223 /* 222807 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78224 /* 222811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78225 /* 222813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78226 /* 222820 */ // (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)
78227 /* 222820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
78228 /* 222823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78229 /* 222825 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78230 /* 222827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78231 /* 222831 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78232 /* 222834 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78233 /* 222839 */ GIR_RootConstrainSelectedInstOperands,
78234 /* 222840 */ // GIR_Coverage, 1002,
78235 /* 222840 */ GIR_EraseRootFromParent_Done,
78236 /* 222841 */ // Label 6531: @222841
78237 /* 222841 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6532*/ GIMT_Encode4(222904), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1004 //
78238 /* 222848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78239 /* 222852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78240 /* 222856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78241 /* 222859 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78242 /* 222863 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
78243 /* 222870 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78244 /* 222874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78245 /* 222876 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78246 /* 222883 */ // (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)
78247 /* 222883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
78248 /* 222886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78249 /* 222888 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78250 /* 222890 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78251 /* 222894 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78252 /* 222897 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78253 /* 222902 */ GIR_RootConstrainSelectedInstOperands,
78254 /* 222903 */ // GIR_Coverage, 1004,
78255 /* 222903 */ GIR_EraseRootFromParent_Done,
78256 /* 222904 */ // Label 6532: @222904
78257 /* 222904 */ GIM_Reject,
78258 /* 222905 */ // Label 6528: @222905
78259 /* 222905 */ GIM_Try, /*On fail goto*//*Label 6533*/ GIMT_Encode4(223181),
78260 /* 222910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78261 /* 222914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6534*/ GIMT_Encode4(222970), GIMT_Encode2(GIFBS_HasX87), // Rule ID 992 //
78262 /* 222921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78263 /* 222925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78264 /* 222929 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78265 /* 222936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78266 /* 222940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78267 /* 222942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78268 /* 222949 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78269 /* 222949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
78270 /* 222952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78271 /* 222954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78272 /* 222956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78273 /* 222960 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78274 /* 222963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78275 /* 222968 */ GIR_RootConstrainSelectedInstOperands,
78276 /* 222969 */ // GIR_Coverage, 992,
78277 /* 222969 */ GIR_EraseRootFromParent_Done,
78278 /* 222970 */ // Label 6534: @222970
78279 /* 222970 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6535*/ GIMT_Encode4(223026), GIMT_Encode2(GIFBS_HasX87), // Rule ID 994 //
78280 /* 222977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78281 /* 222981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78282 /* 222985 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78283 /* 222992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78284 /* 222996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78285 /* 222998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78286 /* 223005 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78287 /* 223005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
78288 /* 223008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78289 /* 223010 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78290 /* 223012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78291 /* 223016 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78292 /* 223019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78293 /* 223024 */ GIR_RootConstrainSelectedInstOperands,
78294 /* 223025 */ // GIR_Coverage, 994,
78295 /* 223025 */ GIR_EraseRootFromParent_Done,
78296 /* 223026 */ // Label 6535: @223026
78297 /* 223026 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6536*/ GIMT_Encode4(223089), GIMT_Encode2(GIFBS_HasX87), // Rule ID 980 //
78298 /* 223033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78299 /* 223037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78300 /* 223041 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78301 /* 223044 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78302 /* 223048 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78303 /* 223055 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78304 /* 223059 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78305 /* 223061 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78306 /* 223068 */ // (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)
78307 /* 223068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
78308 /* 223071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78309 /* 223073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78310 /* 223075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78311 /* 223079 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78312 /* 223082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78313 /* 223087 */ GIR_RootConstrainSelectedInstOperands,
78314 /* 223088 */ // GIR_Coverage, 980,
78315 /* 223088 */ GIR_EraseRootFromParent_Done,
78316 /* 223089 */ // Label 6536: @223089
78317 /* 223089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6537*/ GIMT_Encode4(223152), GIMT_Encode2(GIFBS_HasX87), // Rule ID 982 //
78318 /* 223096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78319 /* 223100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78320 /* 223104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78321 /* 223107 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78322 /* 223111 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
78323 /* 223118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78324 /* 223122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78325 /* 223124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78326 /* 223131 */ // (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)
78327 /* 223131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
78328 /* 223134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78329 /* 223136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78330 /* 223138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78331 /* 223142 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78332 /* 223145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78333 /* 223150 */ GIR_RootConstrainSelectedInstOperands,
78334 /* 223151 */ // GIR_Coverage, 982,
78335 /* 223151 */ GIR_EraseRootFromParent_Done,
78336 /* 223152 */ // Label 6537: @223152
78337 /* 223152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6538*/ GIMT_Encode4(223180), GIMT_Encode2(GIFBS_HasX87), // Rule ID 884 //
78338 /* 223159 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78339 /* 223163 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
78340 /* 223163 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
78341 /* 223168 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
78342 /* 223174 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
78343 /* 223178 */ GIR_RootConstrainSelectedInstOperands,
78344 /* 223179 */ // GIR_Coverage, 884,
78345 /* 223179 */ GIR_Done,
78346 /* 223180 */ // Label 6538: @223180
78347 /* 223180 */ GIM_Reject,
78348 /* 223181 */ // Label 6533: @223181
78349 /* 223181 */ GIM_Reject,
78350 /* 223182 */ // Label 6527: @223182
78351 /* 223182 */ GIM_Reject,
78352 /* 223183 */ // Label 6474: @223183
78353 /* 223183 */ GIM_Try, /*On fail goto*//*Label 6539*/ GIMT_Encode4(223278),
78354 /* 223188 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
78355 /* 223191 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
78356 /* 223194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78357 /* 223198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78358 /* 223202 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6540*/ GIMT_Encode4(223255), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6696 //
78359 /* 223209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78360 /* 223213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78361 /* 223217 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78362 /* 223220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78363 /* 223224 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78364 /* 223228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78365 /* 223230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78366 /* 223237 */ // (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)
78367 /* 223237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
78368 /* 223240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78369 /* 223242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78370 /* 223244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78371 /* 223248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78372 /* 223253 */ GIR_RootConstrainSelectedInstOperands,
78373 /* 223254 */ // GIR_Coverage, 6696,
78374 /* 223254 */ GIR_EraseRootFromParent_Done,
78375 /* 223255 */ // Label 6540: @223255
78376 /* 223255 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6541*/ GIMT_Encode4(223277), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6692 //
78377 /* 223262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78378 /* 223266 */ // (strict_fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
78379 /* 223266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
78380 /* 223271 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78381 /* 223275 */ GIR_RootConstrainSelectedInstOperands,
78382 /* 223276 */ // GIR_Coverage, 6692,
78383 /* 223276 */ GIR_Done,
78384 /* 223277 */ // Label 6541: @223277
78385 /* 223277 */ GIM_Reject,
78386 /* 223278 */ // Label 6539: @223278
78387 /* 223278 */ GIM_Reject,
78388 /* 223279 */ // Label 6475: @223279
78389 /* 223279 */ GIM_Try, /*On fail goto*//*Label 6542*/ GIMT_Encode4(223374),
78390 /* 223284 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
78391 /* 223287 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
78392 /* 223290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78393 /* 223294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78394 /* 223298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6543*/ GIMT_Encode4(223351), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6708 //
78395 /* 223305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78396 /* 223309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78397 /* 223313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78398 /* 223316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78399 /* 223320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78400 /* 223324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78401 /* 223326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78402 /* 223333 */ // (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)
78403 /* 223333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
78404 /* 223336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78405 /* 223338 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78406 /* 223340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78407 /* 223344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78408 /* 223349 */ GIR_RootConstrainSelectedInstOperands,
78409 /* 223350 */ // GIR_Coverage, 6708,
78410 /* 223350 */ GIR_EraseRootFromParent_Done,
78411 /* 223351 */ // Label 6543: @223351
78412 /* 223351 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6544*/ GIMT_Encode4(223373), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6704 //
78413 /* 223358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78414 /* 223362 */ // (strict_fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
78415 /* 223362 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
78416 /* 223367 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78417 /* 223371 */ GIR_RootConstrainSelectedInstOperands,
78418 /* 223372 */ // GIR_Coverage, 6704,
78419 /* 223372 */ GIR_Done,
78420 /* 223373 */ // Label 6544: @223373
78421 /* 223373 */ GIM_Reject,
78422 /* 223374 */ // Label 6542: @223374
78423 /* 223374 */ GIM_Reject,
78424 /* 223375 */ // Label 6476: @223375
78425 /* 223375 */ GIM_Try, /*On fail goto*//*Label 6545*/ GIMT_Encode4(223470),
78426 /* 223380 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
78427 /* 223383 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
78428 /* 223386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78429 /* 223390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78430 /* 223394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6546*/ GIMT_Encode4(223447), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6684 //
78431 /* 223401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78432 /* 223405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78433 /* 223409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78434 /* 223412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78435 /* 223416 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78436 /* 223420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78437 /* 223422 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78438 /* 223429 */ // (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)
78439 /* 223429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
78440 /* 223432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78441 /* 223434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78442 /* 223436 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78443 /* 223440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78444 /* 223445 */ GIR_RootConstrainSelectedInstOperands,
78445 /* 223446 */ // GIR_Coverage, 6684,
78446 /* 223446 */ GIR_EraseRootFromParent_Done,
78447 /* 223447 */ // Label 6546: @223447
78448 /* 223447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6547*/ GIMT_Encode4(223469), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6680 //
78449 /* 223454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78450 /* 223458 */ // (strict_fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
78451 /* 223458 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
78452 /* 223463 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78453 /* 223467 */ GIR_RootConstrainSelectedInstOperands,
78454 /* 223468 */ // GIR_Coverage, 6680,
78455 /* 223468 */ GIR_Done,
78456 /* 223469 */ // Label 6547: @223469
78457 /* 223469 */ GIM_Reject,
78458 /* 223470 */ // Label 6545: @223470
78459 /* 223470 */ GIM_Reject,
78460 /* 223471 */ // Label 6477: @223471
78461 /* 223471 */ GIM_Try, /*On fail goto*//*Label 6548*/ GIMT_Encode4(223689),
78462 /* 223476 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
78463 /* 223479 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
78464 /* 223482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6549*/ GIMT_Encode4(223543), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2237 //
78465 /* 223489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78466 /* 223493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78467 /* 223497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78468 /* 223501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78469 /* 223505 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78470 /* 223508 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78471 /* 223512 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78472 /* 223516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78473 /* 223518 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78474 /* 223525 */ // (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)
78475 /* 223525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
78476 /* 223528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78477 /* 223530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78478 /* 223532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78479 /* 223536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78480 /* 223541 */ GIR_RootConstrainSelectedInstOperands,
78481 /* 223542 */ // GIR_Coverage, 2237,
78482 /* 223542 */ GIR_EraseRootFromParent_Done,
78483 /* 223543 */ // Label 6549: @223543
78484 /* 223543 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6550*/ GIMT_Encode4(223604), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6636 //
78485 /* 223550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78486 /* 223554 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78487 /* 223558 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78488 /* 223562 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78489 /* 223566 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78490 /* 223569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78491 /* 223573 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78492 /* 223577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78493 /* 223579 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78494 /* 223586 */ // (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)
78495 /* 223586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
78496 /* 223589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78497 /* 223591 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78498 /* 223593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78499 /* 223597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78500 /* 223602 */ GIR_RootConstrainSelectedInstOperands,
78501 /* 223603 */ // GIR_Coverage, 6636,
78502 /* 223603 */ GIR_EraseRootFromParent_Done,
78503 /* 223604 */ // Label 6550: @223604
78504 /* 223604 */ GIM_Try, /*On fail goto*//*Label 6551*/ GIMT_Encode4(223658),
78505 /* 223609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78506 /* 223613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78507 /* 223617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78508 /* 223621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6552*/ GIMT_Encode4(223639), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2235 //
78509 /* 223628 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78510 /* 223628 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
78511 /* 223633 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78512 /* 223637 */ GIR_RootConstrainSelectedInstOperands,
78513 /* 223638 */ // GIR_Coverage, 2235,
78514 /* 223638 */ GIR_Done,
78515 /* 223639 */ // Label 6552: @223639
78516 /* 223639 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6553*/ GIMT_Encode4(223657), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2251 //
78517 /* 223646 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78518 /* 223646 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
78519 /* 223651 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78520 /* 223655 */ GIR_RootConstrainSelectedInstOperands,
78521 /* 223656 */ // GIR_Coverage, 2251,
78522 /* 223656 */ GIR_Done,
78523 /* 223657 */ // Label 6553: @223657
78524 /* 223657 */ GIM_Reject,
78525 /* 223658 */ // Label 6551: @223658
78526 /* 223658 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6554*/ GIMT_Encode4(223688), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6632 //
78527 /* 223665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78528 /* 223669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78529 /* 223673 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78530 /* 223677 */ // (strict_fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
78531 /* 223677 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
78532 /* 223682 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78533 /* 223686 */ GIR_RootConstrainSelectedInstOperands,
78534 /* 223687 */ // GIR_Coverage, 6632,
78535 /* 223687 */ GIR_Done,
78536 /* 223688 */ // Label 6554: @223688
78537 /* 223688 */ GIM_Reject,
78538 /* 223689 */ // Label 6548: @223689
78539 /* 223689 */ GIM_Reject,
78540 /* 223690 */ // Label 6478: @223690
78541 /* 223690 */ GIM_Try, /*On fail goto*//*Label 6555*/ GIMT_Encode4(223884),
78542 /* 223695 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
78543 /* 223698 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
78544 /* 223701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6556*/ GIMT_Encode4(223762), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2245 //
78545 /* 223708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78546 /* 223712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78547 /* 223716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78548 /* 223720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78549 /* 223724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78550 /* 223727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78551 /* 223731 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78552 /* 223735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78553 /* 223737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78554 /* 223744 */ // (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)
78555 /* 223744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
78556 /* 223747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78557 /* 223749 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78558 /* 223751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78559 /* 223755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78560 /* 223760 */ GIR_RootConstrainSelectedInstOperands,
78561 /* 223761 */ // GIR_Coverage, 2245,
78562 /* 223761 */ GIR_EraseRootFromParent_Done,
78563 /* 223762 */ // Label 6556: @223762
78564 /* 223762 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6557*/ GIMT_Encode4(223823), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6648 //
78565 /* 223769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78566 /* 223773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78567 /* 223777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78568 /* 223781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78569 /* 223785 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78570 /* 223788 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78571 /* 223792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78572 /* 223796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78573 /* 223798 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78574 /* 223805 */ // (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)
78575 /* 223805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
78576 /* 223808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78577 /* 223810 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78578 /* 223812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78579 /* 223816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78580 /* 223821 */ GIR_RootConstrainSelectedInstOperands,
78581 /* 223822 */ // GIR_Coverage, 6648,
78582 /* 223822 */ GIR_EraseRootFromParent_Done,
78583 /* 223823 */ // Label 6557: @223823
78584 /* 223823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6558*/ GIMT_Encode4(223853), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2243 //
78585 /* 223830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78586 /* 223834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78587 /* 223838 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78588 /* 223842 */ // (strict_fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
78589 /* 223842 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
78590 /* 223847 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78591 /* 223851 */ GIR_RootConstrainSelectedInstOperands,
78592 /* 223852 */ // GIR_Coverage, 2243,
78593 /* 223852 */ GIR_Done,
78594 /* 223853 */ // Label 6558: @223853
78595 /* 223853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6559*/ GIMT_Encode4(223883), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6644 //
78596 /* 223860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78597 /* 223864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78598 /* 223868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78599 /* 223872 */ // (strict_fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
78600 /* 223872 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
78601 /* 223877 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78602 /* 223881 */ GIR_RootConstrainSelectedInstOperands,
78603 /* 223882 */ // GIR_Coverage, 6644,
78604 /* 223882 */ GIR_Done,
78605 /* 223883 */ // Label 6559: @223883
78606 /* 223883 */ GIM_Reject,
78607 /* 223884 */ // Label 6555: @223884
78608 /* 223884 */ GIM_Reject,
78609 /* 223885 */ // Label 6479: @223885
78610 /* 223885 */ GIM_Try, /*On fail goto*//*Label 6560*/ GIMT_Encode4(223980),
78611 /* 223890 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
78612 /* 223893 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
78613 /* 223896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78614 /* 223900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78615 /* 223904 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6561*/ GIMT_Encode4(223957), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6612 //
78616 /* 223911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78617 /* 223915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78618 /* 223919 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78619 /* 223922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78620 /* 223926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78621 /* 223930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78622 /* 223932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78623 /* 223939 */ // (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)
78624 /* 223939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
78625 /* 223942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78626 /* 223944 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78627 /* 223946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78628 /* 223950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78629 /* 223955 */ GIR_RootConstrainSelectedInstOperands,
78630 /* 223956 */ // GIR_Coverage, 6612,
78631 /* 223956 */ GIR_EraseRootFromParent_Done,
78632 /* 223957 */ // Label 6561: @223957
78633 /* 223957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6562*/ GIMT_Encode4(223979), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6608 //
78634 /* 223964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78635 /* 223968 */ // (strict_fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
78636 /* 223968 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
78637 /* 223973 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78638 /* 223977 */ GIR_RootConstrainSelectedInstOperands,
78639 /* 223978 */ // GIR_Coverage, 6608,
78640 /* 223978 */ GIR_Done,
78641 /* 223979 */ // Label 6562: @223979
78642 /* 223979 */ GIM_Reject,
78643 /* 223980 */ // Label 6560: @223980
78644 /* 223980 */ GIM_Reject,
78645 /* 223981 */ // Label 6480: @223981
78646 /* 223981 */ GIM_Try, /*On fail goto*//*Label 6563*/ GIMT_Encode4(224199),
78647 /* 223986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
78648 /* 223989 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
78649 /* 223992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6564*/ GIMT_Encode4(224053), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2241 //
78650 /* 223999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78651 /* 224003 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78652 /* 224007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78653 /* 224011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78654 /* 224015 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78655 /* 224018 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78656 /* 224022 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78657 /* 224026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78658 /* 224028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78659 /* 224035 */ // (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)
78660 /* 224035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
78661 /* 224038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78662 /* 224040 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78663 /* 224042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78664 /* 224046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78665 /* 224051 */ GIR_RootConstrainSelectedInstOperands,
78666 /* 224052 */ // GIR_Coverage, 2241,
78667 /* 224052 */ GIR_EraseRootFromParent_Done,
78668 /* 224053 */ // Label 6564: @224053
78669 /* 224053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6565*/ GIMT_Encode4(224114), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6660 //
78670 /* 224060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78671 /* 224064 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78672 /* 224068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78673 /* 224072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78674 /* 224076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78675 /* 224079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78676 /* 224083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78677 /* 224087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78678 /* 224089 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78679 /* 224096 */ // (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)
78680 /* 224096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
78681 /* 224099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78682 /* 224101 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78683 /* 224103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78684 /* 224107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78685 /* 224112 */ GIR_RootConstrainSelectedInstOperands,
78686 /* 224113 */ // GIR_Coverage, 6660,
78687 /* 224113 */ GIR_EraseRootFromParent_Done,
78688 /* 224114 */ // Label 6565: @224114
78689 /* 224114 */ GIM_Try, /*On fail goto*//*Label 6566*/ GIMT_Encode4(224168),
78690 /* 224119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78691 /* 224123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78692 /* 224127 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78693 /* 224131 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6567*/ GIMT_Encode4(224149), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2239 //
78694 /* 224138 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78695 /* 224138 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
78696 /* 224143 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78697 /* 224147 */ GIR_RootConstrainSelectedInstOperands,
78698 /* 224148 */ // GIR_Coverage, 2239,
78699 /* 224148 */ GIR_Done,
78700 /* 224149 */ // Label 6567: @224149
78701 /* 224149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6568*/ GIMT_Encode4(224167), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2255 //
78702 /* 224156 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78703 /* 224156 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
78704 /* 224161 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78705 /* 224165 */ GIR_RootConstrainSelectedInstOperands,
78706 /* 224166 */ // GIR_Coverage, 2255,
78707 /* 224166 */ GIR_Done,
78708 /* 224167 */ // Label 6568: @224167
78709 /* 224167 */ GIM_Reject,
78710 /* 224168 */ // Label 6566: @224168
78711 /* 224168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6569*/ GIMT_Encode4(224198), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6656 //
78712 /* 224175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78713 /* 224179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78714 /* 224183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78715 /* 224187 */ // (strict_fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
78716 /* 224187 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
78717 /* 224192 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78718 /* 224196 */ GIR_RootConstrainSelectedInstOperands,
78719 /* 224197 */ // GIR_Coverage, 6656,
78720 /* 224197 */ GIR_Done,
78721 /* 224198 */ // Label 6569: @224198
78722 /* 224198 */ GIM_Reject,
78723 /* 224199 */ // Label 6563: @224199
78724 /* 224199 */ GIM_Reject,
78725 /* 224200 */ // Label 6481: @224200
78726 /* 224200 */ GIM_Try, /*On fail goto*//*Label 6570*/ GIMT_Encode4(224394),
78727 /* 224205 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
78728 /* 224208 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
78729 /* 224211 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6571*/ GIMT_Encode4(224272), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2249 //
78730 /* 224218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78731 /* 224222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78732 /* 224226 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78733 /* 224230 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78734 /* 224234 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78735 /* 224237 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78736 /* 224241 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78737 /* 224245 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78738 /* 224247 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78739 /* 224254 */ // (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)
78740 /* 224254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
78741 /* 224257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78742 /* 224259 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78743 /* 224261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78744 /* 224265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78745 /* 224270 */ GIR_RootConstrainSelectedInstOperands,
78746 /* 224271 */ // GIR_Coverage, 2249,
78747 /* 224271 */ GIR_EraseRootFromParent_Done,
78748 /* 224272 */ // Label 6571: @224272
78749 /* 224272 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6572*/ GIMT_Encode4(224333), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6672 //
78750 /* 224279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78751 /* 224283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78752 /* 224287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78753 /* 224291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78754 /* 224295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78755 /* 224298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78756 /* 224302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78757 /* 224306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78758 /* 224308 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78759 /* 224315 */ // (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)
78760 /* 224315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
78761 /* 224318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78762 /* 224320 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78763 /* 224322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78764 /* 224326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78765 /* 224331 */ GIR_RootConstrainSelectedInstOperands,
78766 /* 224332 */ // GIR_Coverage, 6672,
78767 /* 224332 */ GIR_EraseRootFromParent_Done,
78768 /* 224333 */ // Label 6572: @224333
78769 /* 224333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6573*/ GIMT_Encode4(224363), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2247 //
78770 /* 224340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78771 /* 224344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78772 /* 224348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78773 /* 224352 */ // (strict_fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
78774 /* 224352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
78775 /* 224357 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78776 /* 224361 */ GIR_RootConstrainSelectedInstOperands,
78777 /* 224362 */ // GIR_Coverage, 2247,
78778 /* 224362 */ GIR_Done,
78779 /* 224363 */ // Label 6573: @224363
78780 /* 224363 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6574*/ GIMT_Encode4(224393), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6668 //
78781 /* 224370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78782 /* 224374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78783 /* 224378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78784 /* 224382 */ // (strict_fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
78785 /* 224382 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
78786 /* 224387 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78787 /* 224391 */ GIR_RootConstrainSelectedInstOperands,
78788 /* 224392 */ // GIR_Coverage, 6668,
78789 /* 224392 */ GIR_Done,
78790 /* 224393 */ // Label 6574: @224393
78791 /* 224393 */ GIM_Reject,
78792 /* 224394 */ // Label 6570: @224394
78793 /* 224394 */ GIM_Reject,
78794 /* 224395 */ // Label 6482: @224395
78795 /* 224395 */ GIM_Try, /*On fail goto*//*Label 6575*/ GIMT_Encode4(224490),
78796 /* 224400 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
78797 /* 224403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
78798 /* 224406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78799 /* 224410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78800 /* 224414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6576*/ GIMT_Encode4(224467), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6624 //
78801 /* 224421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78802 /* 224425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78803 /* 224429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78804 /* 224432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78805 /* 224436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78806 /* 224440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78807 /* 224442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78808 /* 224449 */ // (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)
78809 /* 224449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
78810 /* 224452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78811 /* 224454 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78812 /* 224456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78813 /* 224460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78814 /* 224465 */ GIR_RootConstrainSelectedInstOperands,
78815 /* 224466 */ // GIR_Coverage, 6624,
78816 /* 224466 */ GIR_EraseRootFromParent_Done,
78817 /* 224467 */ // Label 6576: @224467
78818 /* 224467 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6577*/ GIMT_Encode4(224489), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6620 //
78819 /* 224474 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78820 /* 224478 */ // (strict_fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
78821 /* 224478 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
78822 /* 224483 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78823 /* 224487 */ GIR_RootConstrainSelectedInstOperands,
78824 /* 224488 */ // GIR_Coverage, 6620,
78825 /* 224488 */ GIR_Done,
78826 /* 224489 */ // Label 6577: @224489
78827 /* 224489 */ GIM_Reject,
78828 /* 224490 */ // Label 6575: @224490
78829 /* 224490 */ GIM_Reject,
78830 /* 224491 */ // Label 6483: @224491
78831 /* 224491 */ GIM_Reject,
78832 /* 224492 */ // Label 78: @224492
78833 /* 224492 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6590*/ GIMT_Encode4(230271),
78834 /* 224503 */ /*GILLT_s16*//*Label 6578*/ GIMT_Encode4(224595),
78835 /* 224507 */ /*GILLT_s32*//*Label 6579*/ GIMT_Encode4(224836),
78836 /* 224511 */ /*GILLT_s64*//*Label 6580*/ GIMT_Encode4(225541), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
78837 /* 224559 */ /*GILLT_v8s16*//*Label 6581*/ GIMT_Encode4(226246),
78838 /* 224563 */ /*GILLT_v16s16*//*Label 6582*/ GIMT_Encode4(226487),
78839 /* 224567 */ /*GILLT_v32s16*//*Label 6583*/ GIMT_Encode4(226728),
78840 /* 224571 */ /*GILLT_v4s32*//*Label 6584*/ GIMT_Encode4(226969),
78841 /* 224575 */ /*GILLT_v8s32*//*Label 6585*/ GIMT_Encode4(227674),
78842 /* 224579 */ /*GILLT_v16s32*//*Label 6586*/ GIMT_Encode4(228379),
78843 /* 224583 */ /*GILLT_v2s64*//*Label 6587*/ GIMT_Encode4(228620),
78844 /* 224587 */ /*GILLT_v4s64*//*Label 6588*/ GIMT_Encode4(229325),
78845 /* 224591 */ /*GILLT_v8s64*//*Label 6589*/ GIMT_Encode4(230030),
78846 /* 224595 */ // Label 6578: @224595
78847 /* 224595 */ GIM_Try, /*On fail goto*//*Label 6591*/ GIMT_Encode4(224835),
78848 /* 224600 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
78849 /* 224603 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
78850 /* 224606 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
78851 /* 224609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78852 /* 224613 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6592*/ GIMT_Encode4(224676), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10158 //
78853 /* 224620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78854 /* 224624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78855 /* 224628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78856 /* 224631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78857 /* 224635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78858 /* 224639 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78859 /* 224643 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78860 /* 224647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78861 /* 224649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78862 /* 224656 */ // (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)
78863 /* 224656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
78864 /* 224659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78865 /* 224661 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78866 /* 224663 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
78867 /* 224665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78868 /* 224669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78869 /* 224674 */ GIR_RootConstrainSelectedInstOperands,
78870 /* 224675 */ // GIR_Coverage, 10158,
78871 /* 224675 */ GIR_EraseRootFromParent_Done,
78872 /* 224676 */ // Label 6592: @224676
78873 /* 224676 */ GIM_Try, /*On fail goto*//*Label 6593*/ GIMT_Encode4(224834),
78874 /* 224681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78875 /* 224685 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6594*/ GIMT_Encode4(224744), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10156 //
78876 /* 224692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78877 /* 224696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78878 /* 224700 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78879 /* 224703 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78880 /* 224707 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78881 /* 224711 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78882 /* 224715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78883 /* 224717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78884 /* 224724 */ // (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)
78885 /* 224724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
78886 /* 224727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78887 /* 224729 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
78888 /* 224731 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
78889 /* 224733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78890 /* 224737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78891 /* 224742 */ GIR_RootConstrainSelectedInstOperands,
78892 /* 224743 */ // GIR_Coverage, 10156,
78893 /* 224743 */ GIR_EraseRootFromParent_Done,
78894 /* 224744 */ // Label 6594: @224744
78895 /* 224744 */ GIM_Try, /*On fail goto*//*Label 6595*/ GIMT_Encode4(224833),
78896 /* 224749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78897 /* 224753 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6596*/ GIMT_Encode4(224808), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10153 //
78898 /* 224760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
78899 /* 224764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78900 /* 224768 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78901 /* 224771 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78902 /* 224775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78903 /* 224779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78904 /* 224781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78905 /* 224788 */ // (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)
78906 /* 224788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
78907 /* 224791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78908 /* 224793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78909 /* 224795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
78910 /* 224797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78911 /* 224801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78912 /* 224806 */ GIR_RootConstrainSelectedInstOperands,
78913 /* 224807 */ // GIR_Coverage, 10153,
78914 /* 224807 */ GIR_EraseRootFromParent_Done,
78915 /* 224808 */ // Label 6596: @224808
78916 /* 224808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6597*/ GIMT_Encode4(224832), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10151 //
78917 /* 224815 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78918 /* 224819 */ // (strict_fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
78919 /* 224819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
78920 /* 224822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78921 /* 224824 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78922 /* 224826 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
78923 /* 224828 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
78924 /* 224830 */ GIR_RootConstrainSelectedInstOperands,
78925 /* 224831 */ // GIR_Coverage, 10151,
78926 /* 224831 */ GIR_EraseRootFromParent_Done,
78927 /* 224832 */ // Label 6597: @224832
78928 /* 224832 */ GIM_Reject,
78929 /* 224833 */ // Label 6595: @224833
78930 /* 224833 */ GIM_Reject,
78931 /* 224834 */ // Label 6593: @224834
78932 /* 224834 */ GIM_Reject,
78933 /* 224835 */ // Label 6591: @224835
78934 /* 224835 */ GIM_Reject,
78935 /* 224836 */ // Label 6579: @224836
78936 /* 224836 */ GIM_Try, /*On fail goto*//*Label 6598*/ GIMT_Encode4(225540),
78937 /* 224841 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
78938 /* 224844 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
78939 /* 224847 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
78940 /* 224850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6599*/ GIMT_Encode4(224917), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1279 //
78941 /* 224857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78942 /* 224861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78943 /* 224865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78944 /* 224869 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78945 /* 224872 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78946 /* 224876 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78947 /* 224880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78948 /* 224884 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78949 /* 224888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78950 /* 224890 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78951 /* 224897 */ // (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)
78952 /* 224897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
78953 /* 224900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78954 /* 224902 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78955 /* 224904 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
78956 /* 224906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78957 /* 224910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78958 /* 224915 */ GIR_RootConstrainSelectedInstOperands,
78959 /* 224916 */ // GIR_Coverage, 1279,
78960 /* 224916 */ GIR_EraseRootFromParent_Done,
78961 /* 224917 */ // Label 6599: @224917
78962 /* 224917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6600*/ GIMT_Encode4(224984), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10140 //
78963 /* 224924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78964 /* 224928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78965 /* 224932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78966 /* 224936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78967 /* 224939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78968 /* 224943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78969 /* 224947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78970 /* 224951 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78971 /* 224955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78972 /* 224957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78973 /* 224964 */ // (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)
78974 /* 224964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
78975 /* 224967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78976 /* 224969 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78977 /* 224971 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
78978 /* 224973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78979 /* 224977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78980 /* 224982 */ GIR_RootConstrainSelectedInstOperands,
78981 /* 224983 */ // GIR_Coverage, 10140,
78982 /* 224983 */ GIR_EraseRootFromParent_Done,
78983 /* 224984 */ // Label 6600: @224984
78984 /* 224984 */ GIM_Try, /*On fail goto*//*Label 6601*/ GIMT_Encode4(225181),
78985 /* 224989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78986 /* 224993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6602*/ GIMT_Encode4(225056), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 23536 //
78987 /* 225000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78988 /* 225004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78989 /* 225008 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78990 /* 225011 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78991 /* 225015 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78992 /* 225019 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78993 /* 225023 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78994 /* 225027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78995 /* 225029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78996 /* 225036 */ // (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)
78997 /* 225036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
78998 /* 225039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78999 /* 225041 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79000 /* 225043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79001 /* 225047 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79002 /* 225049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79003 /* 225054 */ GIR_RootConstrainSelectedInstOperands,
79004 /* 225055 */ // GIR_Coverage, 23536,
79005 /* 225055 */ GIR_EraseRootFromParent_Done,
79006 /* 225056 */ // Label 6602: @225056
79007 /* 225056 */ GIM_Try, /*On fail goto*//*Label 6603*/ GIMT_Encode4(225180),
79008 /* 225061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79009 /* 225065 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79010 /* 225069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6604*/ GIMT_Encode4(225124), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1277 //
79011 /* 225076 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79012 /* 225080 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79013 /* 225084 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79014 /* 225087 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79015 /* 225091 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79016 /* 225095 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79017 /* 225097 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79018 /* 225104 */ // (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)
79019 /* 225104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
79020 /* 225107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79021 /* 225109 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79022 /* 225111 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79023 /* 225113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79024 /* 225117 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79025 /* 225122 */ GIR_RootConstrainSelectedInstOperands,
79026 /* 225123 */ // GIR_Coverage, 1277,
79027 /* 225123 */ GIR_EraseRootFromParent_Done,
79028 /* 225124 */ // Label 6604: @225124
79029 /* 225124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6605*/ GIMT_Encode4(225179), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1341 //
79030 /* 225131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79031 /* 225135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79032 /* 225139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79033 /* 225142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79034 /* 225146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79035 /* 225150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79036 /* 225152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79037 /* 225159 */ // (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)
79038 /* 225159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
79039 /* 225162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79040 /* 225164 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79041 /* 225166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79042 /* 225170 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79043 /* 225172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79044 /* 225177 */ GIR_RootConstrainSelectedInstOperands,
79045 /* 225178 */ // GIR_Coverage, 1341,
79046 /* 225178 */ GIR_EraseRootFromParent_Done,
79047 /* 225179 */ // Label 6605: @225179
79048 /* 225179 */ GIM_Reject,
79049 /* 225180 */ // Label 6603: @225180
79050 /* 225180 */ GIM_Reject,
79051 /* 225181 */ // Label 6601: @225181
79052 /* 225181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6606*/ GIMT_Encode4(225248), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10138 //
79053 /* 225188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79054 /* 225192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79055 /* 225196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79056 /* 225200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79057 /* 225204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79058 /* 225207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79059 /* 225211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79060 /* 225215 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79061 /* 225219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79062 /* 225221 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79063 /* 225228 */ // (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)
79064 /* 225228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
79065 /* 225231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79066 /* 225233 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79067 /* 225235 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79068 /* 225237 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79069 /* 225241 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79070 /* 225246 */ GIR_RootConstrainSelectedInstOperands,
79071 /* 225247 */ // GIR_Coverage, 10138,
79072 /* 225247 */ GIR_EraseRootFromParent_Done,
79073 /* 225248 */ // Label 6606: @225248
79074 /* 225248 */ GIM_Try, /*On fail goto*//*Label 6607*/ GIMT_Encode4(225376),
79075 /* 225253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79076 /* 225257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79077 /* 225261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79078 /* 225265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6608*/ GIMT_Encode4(225320), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1275 //
79079 /* 225272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79080 /* 225276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79081 /* 225280 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79082 /* 225283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79083 /* 225287 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79084 /* 225291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79085 /* 225293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79086 /* 225300 */ // (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)
79087 /* 225300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
79088 /* 225303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79089 /* 225305 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79090 /* 225307 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79091 /* 225309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79092 /* 225313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79093 /* 225318 */ GIR_RootConstrainSelectedInstOperands,
79094 /* 225319 */ // GIR_Coverage, 1275,
79095 /* 225319 */ GIR_EraseRootFromParent_Done,
79096 /* 225320 */ // Label 6608: @225320
79097 /* 225320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6609*/ GIMT_Encode4(225375), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1339 //
79098 /* 225327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79099 /* 225331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79100 /* 225335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79101 /* 225338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79102 /* 225342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79103 /* 225346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79104 /* 225348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79105 /* 225355 */ // (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)
79106 /* 225355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
79107 /* 225358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79108 /* 225360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79109 /* 225362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
79110 /* 225364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79111 /* 225368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79112 /* 225373 */ GIR_RootConstrainSelectedInstOperands,
79113 /* 225374 */ // GIR_Coverage, 1339,
79114 /* 225374 */ GIR_EraseRootFromParent_Done,
79115 /* 225375 */ // Label 6609: @225375
79116 /* 225375 */ GIM_Reject,
79117 /* 225376 */ // Label 6607: @225376
79118 /* 225376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6610*/ GIMT_Encode4(225443), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10135 //
79119 /* 225383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79120 /* 225387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79121 /* 225391 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79122 /* 225395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79123 /* 225399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79124 /* 225403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79125 /* 225406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79126 /* 225410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79127 /* 225414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79128 /* 225416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79129 /* 225423 */ // (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)
79130 /* 225423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
79131 /* 225426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79132 /* 225428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79133 /* 225430 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79134 /* 225432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79135 /* 225436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79136 /* 225441 */ GIR_RootConstrainSelectedInstOperands,
79137 /* 225442 */ // GIR_Coverage, 10135,
79138 /* 225442 */ GIR_EraseRootFromParent_Done,
79139 /* 225443 */ // Label 6610: @225443
79140 /* 225443 */ GIM_Try, /*On fail goto*//*Label 6611*/ GIMT_Encode4(225503),
79141 /* 225448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79142 /* 225452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79143 /* 225456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79144 /* 225460 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79145 /* 225464 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6612*/ GIMT_Encode4(225484), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1273 //
79146 /* 225471 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
79147 /* 225471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
79148 /* 225474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79149 /* 225476 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79150 /* 225478 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79151 /* 225480 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79152 /* 225482 */ GIR_RootConstrainSelectedInstOperands,
79153 /* 225483 */ // GIR_Coverage, 1273,
79154 /* 225483 */ GIR_EraseRootFromParent_Done,
79155 /* 225484 */ // Label 6612: @225484
79156 /* 225484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6613*/ GIMT_Encode4(225502), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1337 //
79157 /* 225491 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
79158 /* 225491 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
79159 /* 225496 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79160 /* 225500 */ GIR_RootConstrainSelectedInstOperands,
79161 /* 225501 */ // GIR_Coverage, 1337,
79162 /* 225501 */ GIR_Done,
79163 /* 225502 */ // Label 6613: @225502
79164 /* 225502 */ GIM_Reject,
79165 /* 225503 */ // Label 6611: @225503
79166 /* 225503 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6614*/ GIMT_Encode4(225539), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10133 //
79167 /* 225510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79168 /* 225514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79169 /* 225518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79170 /* 225522 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79171 /* 225526 */ // (strict_fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
79172 /* 225526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
79173 /* 225529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79174 /* 225531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79175 /* 225533 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79176 /* 225535 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79177 /* 225537 */ GIR_RootConstrainSelectedInstOperands,
79178 /* 225538 */ // GIR_Coverage, 10133,
79179 /* 225538 */ GIR_EraseRootFromParent_Done,
79180 /* 225539 */ // Label 6614: @225539
79181 /* 225539 */ GIM_Reject,
79182 /* 225540 */ // Label 6598: @225540
79183 /* 225540 */ GIM_Reject,
79184 /* 225541 */ // Label 6580: @225541
79185 /* 225541 */ GIM_Try, /*On fail goto*//*Label 6615*/ GIMT_Encode4(226245),
79186 /* 225546 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
79187 /* 225549 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
79188 /* 225552 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
79189 /* 225555 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6616*/ GIMT_Encode4(225622), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1287 //
79190 /* 225562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79191 /* 225566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79192 /* 225570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79193 /* 225574 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79194 /* 225577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79195 /* 225581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79196 /* 225585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79197 /* 225589 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79198 /* 225593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79199 /* 225595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79200 /* 225602 */ // (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)
79201 /* 225602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
79202 /* 225605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79203 /* 225607 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79204 /* 225609 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79205 /* 225611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79206 /* 225615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79207 /* 225620 */ GIR_RootConstrainSelectedInstOperands,
79208 /* 225621 */ // GIR_Coverage, 1287,
79209 /* 225621 */ GIR_EraseRootFromParent_Done,
79210 /* 225622 */ // Label 6616: @225622
79211 /* 225622 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6617*/ GIMT_Encode4(225689), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10149 //
79212 /* 225629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79213 /* 225633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79214 /* 225637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79215 /* 225641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79216 /* 225644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79217 /* 225648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79218 /* 225652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79219 /* 225656 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79220 /* 225660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79221 /* 225662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79222 /* 225669 */ // (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)
79223 /* 225669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
79224 /* 225672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79225 /* 225674 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79226 /* 225676 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79227 /* 225678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79228 /* 225682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79229 /* 225687 */ GIR_RootConstrainSelectedInstOperands,
79230 /* 225688 */ // GIR_Coverage, 10149,
79231 /* 225688 */ GIR_EraseRootFromParent_Done,
79232 /* 225689 */ // Label 6617: @225689
79233 /* 225689 */ GIM_Try, /*On fail goto*//*Label 6618*/ GIMT_Encode4(225886),
79234 /* 225694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79235 /* 225698 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6619*/ GIMT_Encode4(225761), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 23564 //
79236 /* 225705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79237 /* 225709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79238 /* 225713 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79239 /* 225716 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79240 /* 225720 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79241 /* 225724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79242 /* 225728 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79243 /* 225732 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79244 /* 225734 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79245 /* 225741 */ // (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)
79246 /* 225741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
79247 /* 225744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79248 /* 225746 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79249 /* 225748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79250 /* 225752 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79251 /* 225754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79252 /* 225759 */ GIR_RootConstrainSelectedInstOperands,
79253 /* 225760 */ // GIR_Coverage, 23564,
79254 /* 225760 */ GIR_EraseRootFromParent_Done,
79255 /* 225761 */ // Label 6619: @225761
79256 /* 225761 */ GIM_Try, /*On fail goto*//*Label 6620*/ GIMT_Encode4(225885),
79257 /* 225766 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79258 /* 225770 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79259 /* 225774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6621*/ GIMT_Encode4(225829), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1285 //
79260 /* 225781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79261 /* 225785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79262 /* 225789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79263 /* 225792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79264 /* 225796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79265 /* 225800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79266 /* 225802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79267 /* 225809 */ // (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)
79268 /* 225809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
79269 /* 225812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79270 /* 225814 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79271 /* 225816 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79272 /* 225818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79273 /* 225822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79274 /* 225827 */ GIR_RootConstrainSelectedInstOperands,
79275 /* 225828 */ // GIR_Coverage, 1285,
79276 /* 225828 */ GIR_EraseRootFromParent_Done,
79277 /* 225829 */ // Label 6621: @225829
79278 /* 225829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6622*/ GIMT_Encode4(225884), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1425 //
79279 /* 225836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79280 /* 225840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79281 /* 225844 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79282 /* 225847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79283 /* 225851 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79284 /* 225855 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79285 /* 225857 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79286 /* 225864 */ // (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)
79287 /* 225864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
79288 /* 225867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79289 /* 225869 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79290 /* 225871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79291 /* 225875 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79292 /* 225877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79293 /* 225882 */ GIR_RootConstrainSelectedInstOperands,
79294 /* 225883 */ // GIR_Coverage, 1425,
79295 /* 225883 */ GIR_EraseRootFromParent_Done,
79296 /* 225884 */ // Label 6622: @225884
79297 /* 225884 */ GIM_Reject,
79298 /* 225885 */ // Label 6620: @225885
79299 /* 225885 */ GIM_Reject,
79300 /* 225886 */ // Label 6618: @225886
79301 /* 225886 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6623*/ GIMT_Encode4(225953), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10147 //
79302 /* 225893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79303 /* 225897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79304 /* 225901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79305 /* 225905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79306 /* 225909 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79307 /* 225912 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79308 /* 225916 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79309 /* 225920 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79310 /* 225924 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79311 /* 225926 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79312 /* 225933 */ // (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)
79313 /* 225933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
79314 /* 225936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79315 /* 225938 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79316 /* 225940 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79317 /* 225942 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79318 /* 225946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79319 /* 225951 */ GIR_RootConstrainSelectedInstOperands,
79320 /* 225952 */ // GIR_Coverage, 10147,
79321 /* 225952 */ GIR_EraseRootFromParent_Done,
79322 /* 225953 */ // Label 6623: @225953
79323 /* 225953 */ GIM_Try, /*On fail goto*//*Label 6624*/ GIMT_Encode4(226081),
79324 /* 225958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79325 /* 225962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79326 /* 225966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79327 /* 225970 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6625*/ GIMT_Encode4(226025), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1283 //
79328 /* 225977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79329 /* 225981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79330 /* 225985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79331 /* 225988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79332 /* 225992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79333 /* 225996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79334 /* 225998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79335 /* 226005 */ // (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)
79336 /* 226005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
79337 /* 226008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79338 /* 226010 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79339 /* 226012 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79340 /* 226014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79341 /* 226018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79342 /* 226023 */ GIR_RootConstrainSelectedInstOperands,
79343 /* 226024 */ // GIR_Coverage, 1283,
79344 /* 226024 */ GIR_EraseRootFromParent_Done,
79345 /* 226025 */ // Label 6625: @226025
79346 /* 226025 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6626*/ GIMT_Encode4(226080), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1423 //
79347 /* 226032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79348 /* 226036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79349 /* 226040 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79350 /* 226043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79351 /* 226047 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79352 /* 226051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79353 /* 226053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79354 /* 226060 */ // (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)
79355 /* 226060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
79356 /* 226063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79357 /* 226065 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79358 /* 226067 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
79359 /* 226069 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79360 /* 226073 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79361 /* 226078 */ GIR_RootConstrainSelectedInstOperands,
79362 /* 226079 */ // GIR_Coverage, 1423,
79363 /* 226079 */ GIR_EraseRootFromParent_Done,
79364 /* 226080 */ // Label 6626: @226080
79365 /* 226080 */ GIM_Reject,
79366 /* 226081 */ // Label 6624: @226081
79367 /* 226081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6627*/ GIMT_Encode4(226148), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10144 //
79368 /* 226088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79369 /* 226092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79370 /* 226096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79371 /* 226100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79372 /* 226104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79373 /* 226108 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79374 /* 226111 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79375 /* 226115 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79376 /* 226119 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79377 /* 226121 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79378 /* 226128 */ // (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)
79379 /* 226128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
79380 /* 226131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79381 /* 226133 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79382 /* 226135 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79383 /* 226137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79384 /* 226141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79385 /* 226146 */ GIR_RootConstrainSelectedInstOperands,
79386 /* 226147 */ // GIR_Coverage, 10144,
79387 /* 226147 */ GIR_EraseRootFromParent_Done,
79388 /* 226148 */ // Label 6627: @226148
79389 /* 226148 */ GIM_Try, /*On fail goto*//*Label 6628*/ GIMT_Encode4(226208),
79390 /* 226153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79391 /* 226157 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79392 /* 226161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79393 /* 226165 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79394 /* 226169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6629*/ GIMT_Encode4(226189), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1281 //
79395 /* 226176 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
79396 /* 226176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
79397 /* 226179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79398 /* 226181 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79399 /* 226183 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79400 /* 226185 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79401 /* 226187 */ GIR_RootConstrainSelectedInstOperands,
79402 /* 226188 */ // GIR_Coverage, 1281,
79403 /* 226188 */ GIR_EraseRootFromParent_Done,
79404 /* 226189 */ // Label 6629: @226189
79405 /* 226189 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6630*/ GIMT_Encode4(226207), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1421 //
79406 /* 226196 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
79407 /* 226196 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
79408 /* 226201 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79409 /* 226205 */ GIR_RootConstrainSelectedInstOperands,
79410 /* 226206 */ // GIR_Coverage, 1421,
79411 /* 226206 */ GIR_Done,
79412 /* 226207 */ // Label 6630: @226207
79413 /* 226207 */ GIM_Reject,
79414 /* 226208 */ // Label 6628: @226208
79415 /* 226208 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6631*/ GIMT_Encode4(226244), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10142 //
79416 /* 226215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79417 /* 226219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79418 /* 226223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79419 /* 226227 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79420 /* 226231 */ // (strict_fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
79421 /* 226231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
79422 /* 226234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79423 /* 226236 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79424 /* 226238 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79425 /* 226240 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79426 /* 226242 */ GIR_RootConstrainSelectedInstOperands,
79427 /* 226243 */ // GIR_Coverage, 10142,
79428 /* 226243 */ GIR_EraseRootFromParent_Done,
79429 /* 226244 */ // Label 6631: @226244
79430 /* 226244 */ GIM_Reject,
79431 /* 226245 */ // Label 6615: @226245
79432 /* 226245 */ GIM_Reject,
79433 /* 226246 */ // Label 6581: @226246
79434 /* 226246 */ GIM_Try, /*On fail goto*//*Label 6632*/ GIMT_Encode4(226486),
79435 /* 226251 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
79436 /* 226254 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
79437 /* 226257 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
79438 /* 226260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79439 /* 226264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6633*/ GIMT_Encode4(226327), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9617 //
79440 /* 226271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79441 /* 226275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79442 /* 226279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79443 /* 226282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79444 /* 226286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79445 /* 226290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79446 /* 226294 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79447 /* 226298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79448 /* 226300 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79449 /* 226307 */ // (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)
79450 /* 226307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
79451 /* 226310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79452 /* 226312 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79453 /* 226314 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79454 /* 226316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79455 /* 226320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79456 /* 226325 */ GIR_RootConstrainSelectedInstOperands,
79457 /* 226326 */ // GIR_Coverage, 9617,
79458 /* 226326 */ GIR_EraseRootFromParent_Done,
79459 /* 226327 */ // Label 6633: @226327
79460 /* 226327 */ GIM_Try, /*On fail goto*//*Label 6634*/ GIMT_Encode4(226485),
79461 /* 226332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79462 /* 226336 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6635*/ GIMT_Encode4(226395), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9077 //
79463 /* 226343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79464 /* 226347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79465 /* 226351 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79466 /* 226354 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79467 /* 226358 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79468 /* 226362 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79469 /* 226366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79470 /* 226368 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79471 /* 226375 */ // (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)
79472 /* 226375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
79473 /* 226378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79474 /* 226380 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79475 /* 226382 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79476 /* 226384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79477 /* 226388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79478 /* 226393 */ GIR_RootConstrainSelectedInstOperands,
79479 /* 226394 */ // GIR_Coverage, 9077,
79480 /* 226394 */ GIR_EraseRootFromParent_Done,
79481 /* 226395 */ // Label 6635: @226395
79482 /* 226395 */ GIM_Try, /*On fail goto*//*Label 6636*/ GIMT_Encode4(226484),
79483 /* 226400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79484 /* 226404 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6637*/ GIMT_Encode4(226459), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8436 //
79485 /* 226411 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79486 /* 226415 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79487 /* 226419 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79488 /* 226422 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79489 /* 226426 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79490 /* 226430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79491 /* 226432 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79492 /* 226439 */ // (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)
79493 /* 226439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
79494 /* 226442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79495 /* 226444 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79496 /* 226446 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79497 /* 226448 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79498 /* 226452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79499 /* 226457 */ GIR_RootConstrainSelectedInstOperands,
79500 /* 226458 */ // GIR_Coverage, 8436,
79501 /* 226458 */ GIR_EraseRootFromParent_Done,
79502 /* 226459 */ // Label 6637: @226459
79503 /* 226459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6638*/ GIMT_Encode4(226483), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8432 //
79504 /* 226466 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79505 /* 226470 */ // (strict_fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
79506 /* 226470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
79507 /* 226473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79508 /* 226475 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79509 /* 226477 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79510 /* 226479 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79511 /* 226481 */ GIR_RootConstrainSelectedInstOperands,
79512 /* 226482 */ // GIR_Coverage, 8432,
79513 /* 226482 */ GIR_EraseRootFromParent_Done,
79514 /* 226483 */ // Label 6638: @226483
79515 /* 226483 */ GIM_Reject,
79516 /* 226484 */ // Label 6636: @226484
79517 /* 226484 */ GIM_Reject,
79518 /* 226485 */ // Label 6634: @226485
79519 /* 226485 */ GIM_Reject,
79520 /* 226486 */ // Label 6632: @226486
79521 /* 226486 */ GIM_Reject,
79522 /* 226487 */ // Label 6582: @226487
79523 /* 226487 */ GIM_Try, /*On fail goto*//*Label 6639*/ GIMT_Encode4(226727),
79524 /* 226492 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
79525 /* 226495 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
79526 /* 226498 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
79527 /* 226501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79528 /* 226505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6640*/ GIMT_Encode4(226568), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9607 //
79529 /* 226512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79530 /* 226516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79531 /* 226520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79532 /* 226523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79533 /* 226527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79534 /* 226531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79535 /* 226535 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79536 /* 226539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79537 /* 226541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79538 /* 226548 */ // (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)
79539 /* 226548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
79540 /* 226551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79541 /* 226553 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79542 /* 226555 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79543 /* 226557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79544 /* 226561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79545 /* 226566 */ GIR_RootConstrainSelectedInstOperands,
79546 /* 226567 */ // GIR_Coverage, 9607,
79547 /* 226567 */ GIR_EraseRootFromParent_Done,
79548 /* 226568 */ // Label 6640: @226568
79549 /* 226568 */ GIM_Try, /*On fail goto*//*Label 6641*/ GIMT_Encode4(226726),
79550 /* 226573 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79551 /* 226577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6642*/ GIMT_Encode4(226636), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9067 //
79552 /* 226584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79553 /* 226588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79554 /* 226592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79555 /* 226595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79556 /* 226599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79557 /* 226603 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79558 /* 226607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79559 /* 226609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79560 /* 226616 */ // (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)
79561 /* 226616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
79562 /* 226619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79563 /* 226621 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79564 /* 226623 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79565 /* 226625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79566 /* 226629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79567 /* 226634 */ GIR_RootConstrainSelectedInstOperands,
79568 /* 226635 */ // GIR_Coverage, 9067,
79569 /* 226635 */ GIR_EraseRootFromParent_Done,
79570 /* 226636 */ // Label 6642: @226636
79571 /* 226636 */ GIM_Try, /*On fail goto*//*Label 6643*/ GIMT_Encode4(226725),
79572 /* 226641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79573 /* 226645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6644*/ GIMT_Encode4(226700), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8424 //
79574 /* 226652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79575 /* 226656 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79576 /* 226660 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79577 /* 226663 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79578 /* 226667 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79579 /* 226671 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79580 /* 226673 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79581 /* 226680 */ // (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)
79582 /* 226680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
79583 /* 226683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79584 /* 226685 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79585 /* 226687 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79586 /* 226689 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79587 /* 226693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79588 /* 226698 */ GIR_RootConstrainSelectedInstOperands,
79589 /* 226699 */ // GIR_Coverage, 8424,
79590 /* 226699 */ GIR_EraseRootFromParent_Done,
79591 /* 226700 */ // Label 6644: @226700
79592 /* 226700 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6645*/ GIMT_Encode4(226724), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8420 //
79593 /* 226707 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79594 /* 226711 */ // (strict_fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
79595 /* 226711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
79596 /* 226714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79597 /* 226716 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79598 /* 226718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79599 /* 226720 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79600 /* 226722 */ GIR_RootConstrainSelectedInstOperands,
79601 /* 226723 */ // GIR_Coverage, 8420,
79602 /* 226723 */ GIR_EraseRootFromParent_Done,
79603 /* 226724 */ // Label 6645: @226724
79604 /* 226724 */ GIM_Reject,
79605 /* 226725 */ // Label 6643: @226725
79606 /* 226725 */ GIM_Reject,
79607 /* 226726 */ // Label 6641: @226726
79608 /* 226726 */ GIM_Reject,
79609 /* 226727 */ // Label 6639: @226727
79610 /* 226727 */ GIM_Reject,
79611 /* 226728 */ // Label 6583: @226728
79612 /* 226728 */ GIM_Try, /*On fail goto*//*Label 6646*/ GIMT_Encode4(226968),
79613 /* 226733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
79614 /* 226736 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
79615 /* 226739 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
79616 /* 226742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79617 /* 226746 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6647*/ GIMT_Encode4(226809), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 9595 //
79618 /* 226753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79619 /* 226757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79620 /* 226761 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79621 /* 226764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79622 /* 226768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79623 /* 226772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79624 /* 226776 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79625 /* 226780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79626 /* 226782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79627 /* 226789 */ // (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)
79628 /* 226789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
79629 /* 226792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79630 /* 226794 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79631 /* 226796 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79632 /* 226798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79633 /* 226802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79634 /* 226807 */ GIR_RootConstrainSelectedInstOperands,
79635 /* 226808 */ // GIR_Coverage, 9595,
79636 /* 226808 */ GIR_EraseRootFromParent_Done,
79637 /* 226809 */ // Label 6647: @226809
79638 /* 226809 */ GIM_Try, /*On fail goto*//*Label 6648*/ GIMT_Encode4(226967),
79639 /* 226814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79640 /* 226818 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6649*/ GIMT_Encode4(226877), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 9055 //
79641 /* 226825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79642 /* 226829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79643 /* 226833 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79644 /* 226836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79645 /* 226840 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79646 /* 226844 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79647 /* 226848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79648 /* 226850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79649 /* 226857 */ // (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)
79650 /* 226857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
79651 /* 226860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79652 /* 226862 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79653 /* 226864 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79654 /* 226866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79655 /* 226870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79656 /* 226875 */ GIR_RootConstrainSelectedInstOperands,
79657 /* 226876 */ // GIR_Coverage, 9055,
79658 /* 226876 */ GIR_EraseRootFromParent_Done,
79659 /* 226877 */ // Label 6649: @226877
79660 /* 226877 */ GIM_Try, /*On fail goto*//*Label 6650*/ GIMT_Encode4(226966),
79661 /* 226882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79662 /* 226886 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6651*/ GIMT_Encode4(226941), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 8409 //
79663 /* 226893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79664 /* 226897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79665 /* 226901 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79666 /* 226904 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79667 /* 226908 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79668 /* 226912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79669 /* 226914 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79670 /* 226921 */ // (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)
79671 /* 226921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
79672 /* 226924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79673 /* 226926 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79674 /* 226928 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79675 /* 226930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79676 /* 226934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79677 /* 226939 */ GIR_RootConstrainSelectedInstOperands,
79678 /* 226940 */ // GIR_Coverage, 8409,
79679 /* 226940 */ GIR_EraseRootFromParent_Done,
79680 /* 226941 */ // Label 6651: @226941
79681 /* 226941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6652*/ GIMT_Encode4(226965), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 8405 //
79682 /* 226948 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79683 /* 226952 */ // (strict_fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
79684 /* 226952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
79685 /* 226955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79686 /* 226957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79687 /* 226959 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79688 /* 226961 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79689 /* 226963 */ GIR_RootConstrainSelectedInstOperands,
79690 /* 226964 */ // GIR_Coverage, 8405,
79691 /* 226964 */ GIR_EraseRootFromParent_Done,
79692 /* 226965 */ // Label 6652: @226965
79693 /* 226965 */ GIM_Reject,
79694 /* 226966 */ // Label 6650: @226966
79695 /* 226966 */ GIM_Reject,
79696 /* 226967 */ // Label 6648: @226967
79697 /* 226967 */ GIM_Reject,
79698 /* 226968 */ // Label 6646: @226968
79699 /* 226968 */ GIM_Reject,
79700 /* 226969 */ // Label 6584: @226969
79701 /* 226969 */ GIM_Try, /*On fail goto*//*Label 6653*/ GIMT_Encode4(227673),
79702 /* 226974 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
79703 /* 226977 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
79704 /* 226980 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
79705 /* 226983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6654*/ GIMT_Encode4(227050), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1119 //
79706 /* 226990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79707 /* 226994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79708 /* 226998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79709 /* 227002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79710 /* 227005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79711 /* 227009 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79712 /* 227013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79713 /* 227017 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79714 /* 227021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79715 /* 227023 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79716 /* 227030 */ // (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)
79717 /* 227030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
79718 /* 227033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79719 /* 227035 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79720 /* 227037 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79721 /* 227039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79722 /* 227043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79723 /* 227048 */ GIR_RootConstrainSelectedInstOperands,
79724 /* 227049 */ // GIR_Coverage, 1119,
79725 /* 227049 */ GIR_EraseRootFromParent_Done,
79726 /* 227050 */ // Label 6654: @227050
79727 /* 227050 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6655*/ GIMT_Encode4(227117), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9649 //
79728 /* 227057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79729 /* 227061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79730 /* 227065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79731 /* 227069 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79732 /* 227072 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79733 /* 227076 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79734 /* 227080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79735 /* 227084 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79736 /* 227088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79737 /* 227090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79738 /* 227097 */ // (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)
79739 /* 227097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
79740 /* 227100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79741 /* 227102 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79742 /* 227104 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79743 /* 227106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79744 /* 227110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79745 /* 227115 */ GIR_RootConstrainSelectedInstOperands,
79746 /* 227116 */ // GIR_Coverage, 9649,
79747 /* 227116 */ GIR_EraseRootFromParent_Done,
79748 /* 227117 */ // Label 6655: @227117
79749 /* 227117 */ GIM_Try, /*On fail goto*//*Label 6656*/ GIMT_Encode4(227314),
79750 /* 227122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79751 /* 227126 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6657*/ GIMT_Encode4(227189), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23544 //
79752 /* 227133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79753 /* 227137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79754 /* 227141 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79755 /* 227144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79756 /* 227148 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79757 /* 227152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79758 /* 227156 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79759 /* 227160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79760 /* 227162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79761 /* 227169 */ // (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)
79762 /* 227169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
79763 /* 227172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79764 /* 227174 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79765 /* 227176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79766 /* 227180 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79767 /* 227182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79768 /* 227187 */ GIR_RootConstrainSelectedInstOperands,
79769 /* 227188 */ // GIR_Coverage, 23544,
79770 /* 227188 */ GIR_EraseRootFromParent_Done,
79771 /* 227189 */ // Label 6657: @227189
79772 /* 227189 */ GIM_Try, /*On fail goto*//*Label 6658*/ GIMT_Encode4(227313),
79773 /* 227194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79774 /* 227198 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79775 /* 227202 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6659*/ GIMT_Encode4(227257), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1117 //
79776 /* 227209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79777 /* 227213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79778 /* 227217 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79779 /* 227220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79780 /* 227224 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79781 /* 227228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79782 /* 227230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79783 /* 227237 */ // (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)
79784 /* 227237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
79785 /* 227240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79786 /* 227242 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79787 /* 227244 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79788 /* 227246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79789 /* 227250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79790 /* 227255 */ GIR_RootConstrainSelectedInstOperands,
79791 /* 227256 */ // GIR_Coverage, 1117,
79792 /* 227256 */ GIR_EraseRootFromParent_Done,
79793 /* 227257 */ // Label 6659: @227257
79794 /* 227257 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6660*/ GIMT_Encode4(227312), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1365 //
79795 /* 227264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79796 /* 227268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79797 /* 227272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79798 /* 227275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79799 /* 227279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79800 /* 227283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79801 /* 227285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79802 /* 227292 */ // (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)
79803 /* 227292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
79804 /* 227295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79805 /* 227297 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79806 /* 227299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79807 /* 227303 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79808 /* 227305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79809 /* 227310 */ GIR_RootConstrainSelectedInstOperands,
79810 /* 227311 */ // GIR_Coverage, 1365,
79811 /* 227311 */ GIR_EraseRootFromParent_Done,
79812 /* 227312 */ // Label 6660: @227312
79813 /* 227312 */ GIM_Reject,
79814 /* 227313 */ // Label 6658: @227313
79815 /* 227313 */ GIM_Reject,
79816 /* 227314 */ // Label 6656: @227314
79817 /* 227314 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6661*/ GIMT_Encode4(227381), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9109 //
79818 /* 227321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79819 /* 227325 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79820 /* 227329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79821 /* 227333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79822 /* 227337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79823 /* 227340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79824 /* 227344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79825 /* 227348 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79826 /* 227352 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79827 /* 227354 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79828 /* 227361 */ // (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)
79829 /* 227361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
79830 /* 227364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79831 /* 227366 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79832 /* 227368 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79833 /* 227370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79834 /* 227374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79835 /* 227379 */ GIR_RootConstrainSelectedInstOperands,
79836 /* 227380 */ // GIR_Coverage, 9109,
79837 /* 227380 */ GIR_EraseRootFromParent_Done,
79838 /* 227381 */ // Label 6661: @227381
79839 /* 227381 */ GIM_Try, /*On fail goto*//*Label 6662*/ GIMT_Encode4(227509),
79840 /* 227386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79841 /* 227390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79842 /* 227394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79843 /* 227398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6663*/ GIMT_Encode4(227453), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1115 //
79844 /* 227405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79845 /* 227409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79846 /* 227413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79847 /* 227416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79848 /* 227420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79849 /* 227424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79850 /* 227426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79851 /* 227433 */ // (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)
79852 /* 227433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
79853 /* 227436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79854 /* 227438 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79855 /* 227440 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79856 /* 227442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79857 /* 227446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79858 /* 227451 */ GIR_RootConstrainSelectedInstOperands,
79859 /* 227452 */ // GIR_Coverage, 1115,
79860 /* 227452 */ GIR_EraseRootFromParent_Done,
79861 /* 227453 */ // Label 6663: @227453
79862 /* 227453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6664*/ GIMT_Encode4(227508), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1363 //
79863 /* 227460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79864 /* 227464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79865 /* 227468 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79866 /* 227471 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79867 /* 227475 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79868 /* 227479 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79869 /* 227481 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79870 /* 227488 */ // (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)
79871 /* 227488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
79872 /* 227491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79873 /* 227493 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79874 /* 227495 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
79875 /* 227497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79876 /* 227501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79877 /* 227506 */ GIR_RootConstrainSelectedInstOperands,
79878 /* 227507 */ // GIR_Coverage, 1363,
79879 /* 227507 */ GIR_EraseRootFromParent_Done,
79880 /* 227508 */ // Label 6664: @227508
79881 /* 227508 */ GIM_Reject,
79882 /* 227509 */ // Label 6662: @227509
79883 /* 227509 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6665*/ GIMT_Encode4(227576), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8475 //
79884 /* 227516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79885 /* 227520 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79886 /* 227524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79887 /* 227528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79888 /* 227532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79889 /* 227536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79890 /* 227539 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79891 /* 227543 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79892 /* 227547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79893 /* 227549 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79894 /* 227556 */ // (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)
79895 /* 227556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
79896 /* 227559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79897 /* 227561 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79898 /* 227563 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79899 /* 227565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79900 /* 227569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79901 /* 227574 */ GIR_RootConstrainSelectedInstOperands,
79902 /* 227575 */ // GIR_Coverage, 8475,
79903 /* 227575 */ GIR_EraseRootFromParent_Done,
79904 /* 227576 */ // Label 6665: @227576
79905 /* 227576 */ GIM_Try, /*On fail goto*//*Label 6666*/ GIMT_Encode4(227636),
79906 /* 227581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79907 /* 227585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79908 /* 227589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79909 /* 227593 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79910 /* 227597 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6667*/ GIMT_Encode4(227617), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1113 //
79911 /* 227604 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
79912 /* 227604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
79913 /* 227607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79914 /* 227609 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79915 /* 227611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79916 /* 227613 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79917 /* 227615 */ GIR_RootConstrainSelectedInstOperands,
79918 /* 227616 */ // GIR_Coverage, 1113,
79919 /* 227616 */ GIR_EraseRootFromParent_Done,
79920 /* 227617 */ // Label 6667: @227617
79921 /* 227617 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6668*/ GIMT_Encode4(227635), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1361 //
79922 /* 227624 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
79923 /* 227624 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
79924 /* 227629 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79925 /* 227633 */ GIR_RootConstrainSelectedInstOperands,
79926 /* 227634 */ // GIR_Coverage, 1361,
79927 /* 227634 */ GIR_Done,
79928 /* 227635 */ // Label 6668: @227635
79929 /* 227635 */ GIM_Reject,
79930 /* 227636 */ // Label 6666: @227636
79931 /* 227636 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6669*/ GIMT_Encode4(227672), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8471 //
79932 /* 227643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79933 /* 227647 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79934 /* 227651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79935 /* 227655 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79936 /* 227659 */ // (strict_fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
79937 /* 227659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
79938 /* 227662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79939 /* 227664 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79940 /* 227666 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79941 /* 227668 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79942 /* 227670 */ GIR_RootConstrainSelectedInstOperands,
79943 /* 227671 */ // GIR_Coverage, 8471,
79944 /* 227671 */ GIR_EraseRootFromParent_Done,
79945 /* 227672 */ // Label 6669: @227672
79946 /* 227672 */ GIM_Reject,
79947 /* 227673 */ // Label 6653: @227673
79948 /* 227673 */ GIM_Reject,
79949 /* 227674 */ // Label 6585: @227674
79950 /* 227674 */ GIM_Try, /*On fail goto*//*Label 6670*/ GIMT_Encode4(228378),
79951 /* 227679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
79952 /* 227682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
79953 /* 227685 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
79954 /* 227688 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6671*/ GIMT_Encode4(227755), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1127 //
79955 /* 227695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79956 /* 227699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79957 /* 227703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79958 /* 227707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79959 /* 227710 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79960 /* 227714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79961 /* 227718 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79962 /* 227722 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79963 /* 227726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79964 /* 227728 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79965 /* 227735 */ // (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)
79966 /* 227735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
79967 /* 227738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79968 /* 227740 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79969 /* 227742 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79970 /* 227744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79971 /* 227748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79972 /* 227753 */ GIR_RootConstrainSelectedInstOperands,
79973 /* 227754 */ // GIR_Coverage, 1127,
79974 /* 227754 */ GIR_EraseRootFromParent_Done,
79975 /* 227755 */ // Label 6671: @227755
79976 /* 227755 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6672*/ GIMT_Encode4(227822), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9639 //
79977 /* 227762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79978 /* 227766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79979 /* 227770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79980 /* 227774 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79981 /* 227777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79982 /* 227781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79983 /* 227785 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79984 /* 227789 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79985 /* 227793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79986 /* 227795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79987 /* 227802 */ // (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)
79988 /* 227802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
79989 /* 227805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79990 /* 227807 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79991 /* 227809 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79992 /* 227811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79993 /* 227815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79994 /* 227820 */ GIR_RootConstrainSelectedInstOperands,
79995 /* 227821 */ // GIR_Coverage, 9639,
79996 /* 227821 */ GIR_EraseRootFromParent_Done,
79997 /* 227822 */ // Label 6672: @227822
79998 /* 227822 */ GIM_Try, /*On fail goto*//*Label 6673*/ GIMT_Encode4(228019),
79999 /* 227827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80000 /* 227831 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6674*/ GIMT_Encode4(227894), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23546 //
80001 /* 227838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80002 /* 227842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80003 /* 227846 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80004 /* 227849 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80005 /* 227853 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80006 /* 227857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80007 /* 227861 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80008 /* 227865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80009 /* 227867 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80010 /* 227874 */ // (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)
80011 /* 227874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
80012 /* 227877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80013 /* 227879 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80014 /* 227881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80015 /* 227885 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80016 /* 227887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80017 /* 227892 */ GIR_RootConstrainSelectedInstOperands,
80018 /* 227893 */ // GIR_Coverage, 23546,
80019 /* 227893 */ GIR_EraseRootFromParent_Done,
80020 /* 227894 */ // Label 6674: @227894
80021 /* 227894 */ GIM_Try, /*On fail goto*//*Label 6675*/ GIMT_Encode4(228018),
80022 /* 227899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80023 /* 227903 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80024 /* 227907 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6676*/ GIMT_Encode4(227962), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1125 //
80025 /* 227914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80026 /* 227918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80027 /* 227922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80028 /* 227925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80029 /* 227929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80030 /* 227933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80031 /* 227935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80032 /* 227942 */ // (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)
80033 /* 227942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
80034 /* 227945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80035 /* 227947 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80036 /* 227949 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80037 /* 227951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80038 /* 227955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80039 /* 227960 */ GIR_RootConstrainSelectedInstOperands,
80040 /* 227961 */ // GIR_Coverage, 1125,
80041 /* 227961 */ GIR_EraseRootFromParent_Done,
80042 /* 227962 */ // Label 6676: @227962
80043 /* 227962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6677*/ GIMT_Encode4(228017), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1371 //
80044 /* 227969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80045 /* 227973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80046 /* 227977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80047 /* 227980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80048 /* 227984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80049 /* 227988 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80050 /* 227990 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80051 /* 227997 */ // (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)
80052 /* 227997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
80053 /* 228000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80054 /* 228002 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80055 /* 228004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80056 /* 228008 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80057 /* 228010 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80058 /* 228015 */ GIR_RootConstrainSelectedInstOperands,
80059 /* 228016 */ // GIR_Coverage, 1371,
80060 /* 228016 */ GIR_EraseRootFromParent_Done,
80061 /* 228017 */ // Label 6677: @228017
80062 /* 228017 */ GIM_Reject,
80063 /* 228018 */ // Label 6675: @228018
80064 /* 228018 */ GIM_Reject,
80065 /* 228019 */ // Label 6673: @228019
80066 /* 228019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6678*/ GIMT_Encode4(228086), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9099 //
80067 /* 228026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80068 /* 228030 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80069 /* 228034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80070 /* 228038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80071 /* 228042 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80072 /* 228045 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80073 /* 228049 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80074 /* 228053 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80075 /* 228057 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80076 /* 228059 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80077 /* 228066 */ // (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)
80078 /* 228066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
80079 /* 228069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80080 /* 228071 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80081 /* 228073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80082 /* 228075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80083 /* 228079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80084 /* 228084 */ GIR_RootConstrainSelectedInstOperands,
80085 /* 228085 */ // GIR_Coverage, 9099,
80086 /* 228085 */ GIR_EraseRootFromParent_Done,
80087 /* 228086 */ // Label 6678: @228086
80088 /* 228086 */ GIM_Try, /*On fail goto*//*Label 6679*/ GIMT_Encode4(228214),
80089 /* 228091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80090 /* 228095 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80091 /* 228099 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80092 /* 228103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6680*/ GIMT_Encode4(228158), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1123 //
80093 /* 228110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80094 /* 228114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80095 /* 228118 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80096 /* 228121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80097 /* 228125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80098 /* 228129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80099 /* 228131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80100 /* 228138 */ // (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)
80101 /* 228138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
80102 /* 228141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80103 /* 228143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80104 /* 228145 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80105 /* 228147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80106 /* 228151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80107 /* 228156 */ GIR_RootConstrainSelectedInstOperands,
80108 /* 228157 */ // GIR_Coverage, 1123,
80109 /* 228157 */ GIR_EraseRootFromParent_Done,
80110 /* 228158 */ // Label 6680: @228158
80111 /* 228158 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6681*/ GIMT_Encode4(228213), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1369 //
80112 /* 228165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80113 /* 228169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80114 /* 228173 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80115 /* 228176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80116 /* 228180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80117 /* 228184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80118 /* 228186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80119 /* 228193 */ // (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)
80120 /* 228193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
80121 /* 228196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80122 /* 228198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80123 /* 228200 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80124 /* 228202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80125 /* 228206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80126 /* 228211 */ GIR_RootConstrainSelectedInstOperands,
80127 /* 228212 */ // GIR_Coverage, 1369,
80128 /* 228212 */ GIR_EraseRootFromParent_Done,
80129 /* 228213 */ // Label 6681: @228213
80130 /* 228213 */ GIM_Reject,
80131 /* 228214 */ // Label 6679: @228214
80132 /* 228214 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6682*/ GIMT_Encode4(228281), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8463 //
80133 /* 228221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80134 /* 228225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80135 /* 228229 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80136 /* 228233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80137 /* 228237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80138 /* 228241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80139 /* 228244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80140 /* 228248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80141 /* 228252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80142 /* 228254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80143 /* 228261 */ // (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)
80144 /* 228261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
80145 /* 228264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80146 /* 228266 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80147 /* 228268 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80148 /* 228270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80149 /* 228274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80150 /* 228279 */ GIR_RootConstrainSelectedInstOperands,
80151 /* 228280 */ // GIR_Coverage, 8463,
80152 /* 228280 */ GIR_EraseRootFromParent_Done,
80153 /* 228281 */ // Label 6682: @228281
80154 /* 228281 */ GIM_Try, /*On fail goto*//*Label 6683*/ GIMT_Encode4(228341),
80155 /* 228286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80156 /* 228290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80157 /* 228294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80158 /* 228298 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80159 /* 228302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6684*/ GIMT_Encode4(228322), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1121 //
80160 /* 228309 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
80161 /* 228309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
80162 /* 228312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80163 /* 228314 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80164 /* 228316 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80165 /* 228318 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80166 /* 228320 */ GIR_RootConstrainSelectedInstOperands,
80167 /* 228321 */ // GIR_Coverage, 1121,
80168 /* 228321 */ GIR_EraseRootFromParent_Done,
80169 /* 228322 */ // Label 6684: @228322
80170 /* 228322 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6685*/ GIMT_Encode4(228340), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1367 //
80171 /* 228329 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
80172 /* 228329 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
80173 /* 228334 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80174 /* 228338 */ GIR_RootConstrainSelectedInstOperands,
80175 /* 228339 */ // GIR_Coverage, 1367,
80176 /* 228339 */ GIR_Done,
80177 /* 228340 */ // Label 6685: @228340
80178 /* 228340 */ GIM_Reject,
80179 /* 228341 */ // Label 6683: @228341
80180 /* 228341 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6686*/ GIMT_Encode4(228377), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8459 //
80181 /* 228348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80182 /* 228352 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80183 /* 228356 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80184 /* 228360 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80185 /* 228364 */ // (strict_fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
80186 /* 228364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
80187 /* 228367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80188 /* 228369 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80189 /* 228371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80190 /* 228373 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80191 /* 228375 */ GIR_RootConstrainSelectedInstOperands,
80192 /* 228376 */ // GIR_Coverage, 8459,
80193 /* 228376 */ GIR_EraseRootFromParent_Done,
80194 /* 228377 */ // Label 6686: @228377
80195 /* 228377 */ GIM_Reject,
80196 /* 228378 */ // Label 6670: @228378
80197 /* 228378 */ GIM_Reject,
80198 /* 228379 */ // Label 6586: @228379
80199 /* 228379 */ GIM_Try, /*On fail goto*//*Label 6687*/ GIMT_Encode4(228619),
80200 /* 228384 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
80201 /* 228387 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
80202 /* 228390 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
80203 /* 228393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80204 /* 228397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6688*/ GIMT_Encode4(228460), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9627 //
80205 /* 228404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80206 /* 228408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80207 /* 228412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80208 /* 228415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80209 /* 228419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80210 /* 228423 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80211 /* 228427 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80212 /* 228431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80213 /* 228433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80214 /* 228440 */ // (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)
80215 /* 228440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
80216 /* 228443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80217 /* 228445 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80218 /* 228447 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80219 /* 228449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80220 /* 228453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80221 /* 228458 */ GIR_RootConstrainSelectedInstOperands,
80222 /* 228459 */ // GIR_Coverage, 9627,
80223 /* 228459 */ GIR_EraseRootFromParent_Done,
80224 /* 228460 */ // Label 6688: @228460
80225 /* 228460 */ GIM_Try, /*On fail goto*//*Label 6689*/ GIMT_Encode4(228618),
80226 /* 228465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80227 /* 228469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6690*/ GIMT_Encode4(228528), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9087 //
80228 /* 228476 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80229 /* 228480 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80230 /* 228484 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80231 /* 228487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80232 /* 228491 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80233 /* 228495 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80234 /* 228499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80235 /* 228501 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80236 /* 228508 */ // (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)
80237 /* 228508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
80238 /* 228511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80239 /* 228513 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80240 /* 228515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80241 /* 228517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80242 /* 228521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80243 /* 228526 */ GIR_RootConstrainSelectedInstOperands,
80244 /* 228527 */ // GIR_Coverage, 9087,
80245 /* 228527 */ GIR_EraseRootFromParent_Done,
80246 /* 228528 */ // Label 6690: @228528
80247 /* 228528 */ GIM_Try, /*On fail goto*//*Label 6691*/ GIMT_Encode4(228617),
80248 /* 228533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80249 /* 228537 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6692*/ GIMT_Encode4(228592), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8448 //
80250 /* 228544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80251 /* 228548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80252 /* 228552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80253 /* 228555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80254 /* 228559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80255 /* 228563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80256 /* 228565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80257 /* 228572 */ // (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)
80258 /* 228572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
80259 /* 228575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80260 /* 228577 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80261 /* 228579 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80262 /* 228581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80263 /* 228585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80264 /* 228590 */ GIR_RootConstrainSelectedInstOperands,
80265 /* 228591 */ // GIR_Coverage, 8448,
80266 /* 228591 */ GIR_EraseRootFromParent_Done,
80267 /* 228592 */ // Label 6692: @228592
80268 /* 228592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6693*/ GIMT_Encode4(228616), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8444 //
80269 /* 228599 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80270 /* 228603 */ // (strict_fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
80271 /* 228603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
80272 /* 228606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80273 /* 228608 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80274 /* 228610 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80275 /* 228612 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80276 /* 228614 */ GIR_RootConstrainSelectedInstOperands,
80277 /* 228615 */ // GIR_Coverage, 8444,
80278 /* 228615 */ GIR_EraseRootFromParent_Done,
80279 /* 228616 */ // Label 6693: @228616
80280 /* 228616 */ GIM_Reject,
80281 /* 228617 */ // Label 6691: @228617
80282 /* 228617 */ GIM_Reject,
80283 /* 228618 */ // Label 6689: @228618
80284 /* 228618 */ GIM_Reject,
80285 /* 228619 */ // Label 6687: @228619
80286 /* 228619 */ GIM_Reject,
80287 /* 228620 */ // Label 6587: @228620
80288 /* 228620 */ GIM_Try, /*On fail goto*//*Label 6694*/ GIMT_Encode4(229324),
80289 /* 228625 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
80290 /* 228628 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
80291 /* 228631 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
80292 /* 228634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6695*/ GIMT_Encode4(228701), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1167 //
80293 /* 228641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80294 /* 228645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80295 /* 228649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80296 /* 228653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80297 /* 228656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80298 /* 228660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80299 /* 228664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80300 /* 228668 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80301 /* 228672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80302 /* 228674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80303 /* 228681 */ // (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)
80304 /* 228681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
80305 /* 228684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80306 /* 228686 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80307 /* 228688 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80308 /* 228690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80309 /* 228694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80310 /* 228699 */ GIR_RootConstrainSelectedInstOperands,
80311 /* 228700 */ // GIR_Coverage, 1167,
80312 /* 228700 */ GIR_EraseRootFromParent_Done,
80313 /* 228701 */ // Label 6695: @228701
80314 /* 228701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6696*/ GIMT_Encode4(228768), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9681 //
80315 /* 228708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80316 /* 228712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80317 /* 228716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80318 /* 228720 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80319 /* 228723 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80320 /* 228727 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80321 /* 228731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80322 /* 228735 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80323 /* 228739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80324 /* 228741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80325 /* 228748 */ // (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)
80326 /* 228748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
80327 /* 228751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80328 /* 228753 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80329 /* 228755 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80330 /* 228757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80331 /* 228761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80332 /* 228766 */ GIR_RootConstrainSelectedInstOperands,
80333 /* 228767 */ // GIR_Coverage, 9681,
80334 /* 228767 */ GIR_EraseRootFromParent_Done,
80335 /* 228768 */ // Label 6696: @228768
80336 /* 228768 */ GIM_Try, /*On fail goto*//*Label 6697*/ GIMT_Encode4(228965),
80337 /* 228773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80338 /* 228777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6698*/ GIMT_Encode4(228840), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23572 //
80339 /* 228784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80340 /* 228788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80341 /* 228792 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80342 /* 228795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80343 /* 228799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80344 /* 228803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80345 /* 228807 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80346 /* 228811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80347 /* 228813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80348 /* 228820 */ // (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)
80349 /* 228820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
80350 /* 228823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80351 /* 228825 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80352 /* 228827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80353 /* 228831 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80354 /* 228833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80355 /* 228838 */ GIR_RootConstrainSelectedInstOperands,
80356 /* 228839 */ // GIR_Coverage, 23572,
80357 /* 228839 */ GIR_EraseRootFromParent_Done,
80358 /* 228840 */ // Label 6698: @228840
80359 /* 228840 */ GIM_Try, /*On fail goto*//*Label 6699*/ GIMT_Encode4(228964),
80360 /* 228845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80361 /* 228849 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80362 /* 228853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6700*/ GIMT_Encode4(228908), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1165 //
80363 /* 228860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80364 /* 228864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80365 /* 228868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80366 /* 228871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80367 /* 228875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80368 /* 228879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80369 /* 228881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80370 /* 228888 */ // (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)
80371 /* 228888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
80372 /* 228891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80373 /* 228893 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80374 /* 228895 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80375 /* 228897 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80376 /* 228901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80377 /* 228906 */ GIR_RootConstrainSelectedInstOperands,
80378 /* 228907 */ // GIR_Coverage, 1165,
80379 /* 228907 */ GIR_EraseRootFromParent_Done,
80380 /* 228908 */ // Label 6700: @228908
80381 /* 228908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6701*/ GIMT_Encode4(228963), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1449 //
80382 /* 228915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80383 /* 228919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80384 /* 228923 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80385 /* 228926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80386 /* 228930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80387 /* 228934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80388 /* 228936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80389 /* 228943 */ // (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)
80390 /* 228943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
80391 /* 228946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80392 /* 228948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80393 /* 228950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80394 /* 228954 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80395 /* 228956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80396 /* 228961 */ GIR_RootConstrainSelectedInstOperands,
80397 /* 228962 */ // GIR_Coverage, 1449,
80398 /* 228962 */ GIR_EraseRootFromParent_Done,
80399 /* 228963 */ // Label 6701: @228963
80400 /* 228963 */ GIM_Reject,
80401 /* 228964 */ // Label 6699: @228964
80402 /* 228964 */ GIM_Reject,
80403 /* 228965 */ // Label 6697: @228965
80404 /* 228965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6702*/ GIMT_Encode4(229032), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9141 //
80405 /* 228972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80406 /* 228976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80407 /* 228980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80408 /* 228984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80409 /* 228988 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80410 /* 228991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80411 /* 228995 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80412 /* 228999 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80413 /* 229003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80414 /* 229005 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80415 /* 229012 */ // (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)
80416 /* 229012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
80417 /* 229015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80418 /* 229017 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80419 /* 229019 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80420 /* 229021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80421 /* 229025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80422 /* 229030 */ GIR_RootConstrainSelectedInstOperands,
80423 /* 229031 */ // GIR_Coverage, 9141,
80424 /* 229031 */ GIR_EraseRootFromParent_Done,
80425 /* 229032 */ // Label 6702: @229032
80426 /* 229032 */ GIM_Try, /*On fail goto*//*Label 6703*/ GIMT_Encode4(229160),
80427 /* 229037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80428 /* 229041 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80429 /* 229045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80430 /* 229049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6704*/ GIMT_Encode4(229104), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1163 //
80431 /* 229056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80432 /* 229060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80433 /* 229064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80434 /* 229067 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80435 /* 229071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80436 /* 229075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80437 /* 229077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80438 /* 229084 */ // (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)
80439 /* 229084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
80440 /* 229087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80441 /* 229089 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80442 /* 229091 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80443 /* 229093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80444 /* 229097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80445 /* 229102 */ GIR_RootConstrainSelectedInstOperands,
80446 /* 229103 */ // GIR_Coverage, 1163,
80447 /* 229103 */ GIR_EraseRootFromParent_Done,
80448 /* 229104 */ // Label 6704: @229104
80449 /* 229104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6705*/ GIMT_Encode4(229159), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1447 //
80450 /* 229111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80451 /* 229115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80452 /* 229119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80453 /* 229122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80454 /* 229126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80455 /* 229130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80456 /* 229132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80457 /* 229139 */ // (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)
80458 /* 229139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
80459 /* 229142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80460 /* 229144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80461 /* 229146 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80462 /* 229148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80463 /* 229152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80464 /* 229157 */ GIR_RootConstrainSelectedInstOperands,
80465 /* 229158 */ // GIR_Coverage, 1447,
80466 /* 229158 */ GIR_EraseRootFromParent_Done,
80467 /* 229159 */ // Label 6705: @229159
80468 /* 229159 */ GIM_Reject,
80469 /* 229160 */ // Label 6703: @229160
80470 /* 229160 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6706*/ GIMT_Encode4(229227), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8514 //
80471 /* 229167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80472 /* 229171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80473 /* 229175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80474 /* 229179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80475 /* 229183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80476 /* 229187 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80477 /* 229190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80478 /* 229194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80479 /* 229198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80480 /* 229200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80481 /* 229207 */ // (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)
80482 /* 229207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
80483 /* 229210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80484 /* 229212 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80485 /* 229214 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80486 /* 229216 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80487 /* 229220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80488 /* 229225 */ GIR_RootConstrainSelectedInstOperands,
80489 /* 229226 */ // GIR_Coverage, 8514,
80490 /* 229226 */ GIR_EraseRootFromParent_Done,
80491 /* 229227 */ // Label 6706: @229227
80492 /* 229227 */ GIM_Try, /*On fail goto*//*Label 6707*/ GIMT_Encode4(229287),
80493 /* 229232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80494 /* 229236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80495 /* 229240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80496 /* 229244 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80497 /* 229248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6708*/ GIMT_Encode4(229268), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1161 //
80498 /* 229255 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
80499 /* 229255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
80500 /* 229258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80501 /* 229260 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80502 /* 229262 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80503 /* 229264 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80504 /* 229266 */ GIR_RootConstrainSelectedInstOperands,
80505 /* 229267 */ // GIR_Coverage, 1161,
80506 /* 229267 */ GIR_EraseRootFromParent_Done,
80507 /* 229268 */ // Label 6708: @229268
80508 /* 229268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6709*/ GIMT_Encode4(229286), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1445 //
80509 /* 229275 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
80510 /* 229275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
80511 /* 229280 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80512 /* 229284 */ GIR_RootConstrainSelectedInstOperands,
80513 /* 229285 */ // GIR_Coverage, 1445,
80514 /* 229285 */ GIR_Done,
80515 /* 229286 */ // Label 6709: @229286
80516 /* 229286 */ GIM_Reject,
80517 /* 229287 */ // Label 6707: @229287
80518 /* 229287 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6710*/ GIMT_Encode4(229323), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8510 //
80519 /* 229294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80520 /* 229298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80521 /* 229302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80522 /* 229306 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80523 /* 229310 */ // (strict_fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
80524 /* 229310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
80525 /* 229313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80526 /* 229315 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80527 /* 229317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80528 /* 229319 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80529 /* 229321 */ GIR_RootConstrainSelectedInstOperands,
80530 /* 229322 */ // GIR_Coverage, 8510,
80531 /* 229322 */ GIR_EraseRootFromParent_Done,
80532 /* 229323 */ // Label 6710: @229323
80533 /* 229323 */ GIM_Reject,
80534 /* 229324 */ // Label 6694: @229324
80535 /* 229324 */ GIM_Reject,
80536 /* 229325 */ // Label 6588: @229325
80537 /* 229325 */ GIM_Try, /*On fail goto*//*Label 6711*/ GIMT_Encode4(230029),
80538 /* 229330 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
80539 /* 229333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
80540 /* 229336 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
80541 /* 229339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6712*/ GIMT_Encode4(229406), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1175 //
80542 /* 229346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80543 /* 229350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80544 /* 229354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80545 /* 229358 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80546 /* 229361 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80547 /* 229365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80548 /* 229369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80549 /* 229373 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80550 /* 229377 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80551 /* 229379 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80552 /* 229386 */ // (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)
80553 /* 229386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
80554 /* 229389 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80555 /* 229391 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80556 /* 229393 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80557 /* 229395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80558 /* 229399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80559 /* 229404 */ GIR_RootConstrainSelectedInstOperands,
80560 /* 229405 */ // GIR_Coverage, 1175,
80561 /* 229405 */ GIR_EraseRootFromParent_Done,
80562 /* 229406 */ // Label 6712: @229406
80563 /* 229406 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6713*/ GIMT_Encode4(229473), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9671 //
80564 /* 229413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80565 /* 229417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80566 /* 229421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80567 /* 229425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80568 /* 229428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80569 /* 229432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80570 /* 229436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80571 /* 229440 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80572 /* 229444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80573 /* 229446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80574 /* 229453 */ // (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)
80575 /* 229453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
80576 /* 229456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80577 /* 229458 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80578 /* 229460 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80579 /* 229462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80580 /* 229466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80581 /* 229471 */ GIR_RootConstrainSelectedInstOperands,
80582 /* 229472 */ // GIR_Coverage, 9671,
80583 /* 229472 */ GIR_EraseRootFromParent_Done,
80584 /* 229473 */ // Label 6713: @229473
80585 /* 229473 */ GIM_Try, /*On fail goto*//*Label 6714*/ GIMT_Encode4(229670),
80586 /* 229478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80587 /* 229482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6715*/ GIMT_Encode4(229545), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23574 //
80588 /* 229489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80589 /* 229493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80590 /* 229497 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80591 /* 229500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80592 /* 229504 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80593 /* 229508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80594 /* 229512 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80595 /* 229516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80596 /* 229518 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80597 /* 229525 */ // (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)
80598 /* 229525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
80599 /* 229528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80600 /* 229530 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80601 /* 229532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80602 /* 229536 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80603 /* 229538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80604 /* 229543 */ GIR_RootConstrainSelectedInstOperands,
80605 /* 229544 */ // GIR_Coverage, 23574,
80606 /* 229544 */ GIR_EraseRootFromParent_Done,
80607 /* 229545 */ // Label 6715: @229545
80608 /* 229545 */ GIM_Try, /*On fail goto*//*Label 6716*/ GIMT_Encode4(229669),
80609 /* 229550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80610 /* 229554 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80611 /* 229558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6717*/ GIMT_Encode4(229613), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1173 //
80612 /* 229565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80613 /* 229569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80614 /* 229573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80615 /* 229576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80616 /* 229580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80617 /* 229584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80618 /* 229586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80619 /* 229593 */ // (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)
80620 /* 229593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
80621 /* 229596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80622 /* 229598 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80623 /* 229600 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80624 /* 229602 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80625 /* 229606 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80626 /* 229611 */ GIR_RootConstrainSelectedInstOperands,
80627 /* 229612 */ // GIR_Coverage, 1173,
80628 /* 229612 */ GIR_EraseRootFromParent_Done,
80629 /* 229613 */ // Label 6717: @229613
80630 /* 229613 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6718*/ GIMT_Encode4(229668), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1455 //
80631 /* 229620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80632 /* 229624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80633 /* 229628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80634 /* 229631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80635 /* 229635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80636 /* 229639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80637 /* 229641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80638 /* 229648 */ // (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)
80639 /* 229648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
80640 /* 229651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80641 /* 229653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80642 /* 229655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80643 /* 229659 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80644 /* 229661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80645 /* 229666 */ GIR_RootConstrainSelectedInstOperands,
80646 /* 229667 */ // GIR_Coverage, 1455,
80647 /* 229667 */ GIR_EraseRootFromParent_Done,
80648 /* 229668 */ // Label 6718: @229668
80649 /* 229668 */ GIM_Reject,
80650 /* 229669 */ // Label 6716: @229669
80651 /* 229669 */ GIM_Reject,
80652 /* 229670 */ // Label 6714: @229670
80653 /* 229670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6719*/ GIMT_Encode4(229737), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9131 //
80654 /* 229677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80655 /* 229681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80656 /* 229685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80657 /* 229689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80658 /* 229693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80659 /* 229696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80660 /* 229700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80661 /* 229704 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80662 /* 229708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80663 /* 229710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80664 /* 229717 */ // (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)
80665 /* 229717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
80666 /* 229720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80667 /* 229722 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80668 /* 229724 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80669 /* 229726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80670 /* 229730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80671 /* 229735 */ GIR_RootConstrainSelectedInstOperands,
80672 /* 229736 */ // GIR_Coverage, 9131,
80673 /* 229736 */ GIR_EraseRootFromParent_Done,
80674 /* 229737 */ // Label 6719: @229737
80675 /* 229737 */ GIM_Try, /*On fail goto*//*Label 6720*/ GIMT_Encode4(229865),
80676 /* 229742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80677 /* 229746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80678 /* 229750 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80679 /* 229754 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6721*/ GIMT_Encode4(229809), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1171 //
80680 /* 229761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80681 /* 229765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80682 /* 229769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80683 /* 229772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80684 /* 229776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80685 /* 229780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80686 /* 229782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80687 /* 229789 */ // (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)
80688 /* 229789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
80689 /* 229792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80690 /* 229794 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80691 /* 229796 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80692 /* 229798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80693 /* 229802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80694 /* 229807 */ GIR_RootConstrainSelectedInstOperands,
80695 /* 229808 */ // GIR_Coverage, 1171,
80696 /* 229808 */ GIR_EraseRootFromParent_Done,
80697 /* 229809 */ // Label 6721: @229809
80698 /* 229809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6722*/ GIMT_Encode4(229864), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1453 //
80699 /* 229816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80700 /* 229820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80701 /* 229824 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80702 /* 229827 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80703 /* 229831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80704 /* 229835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80705 /* 229837 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80706 /* 229844 */ // (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)
80707 /* 229844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
80708 /* 229847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80709 /* 229849 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80710 /* 229851 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80711 /* 229853 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80712 /* 229857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80713 /* 229862 */ GIR_RootConstrainSelectedInstOperands,
80714 /* 229863 */ // GIR_Coverage, 1453,
80715 /* 229863 */ GIR_EraseRootFromParent_Done,
80716 /* 229864 */ // Label 6722: @229864
80717 /* 229864 */ GIM_Reject,
80718 /* 229865 */ // Label 6720: @229865
80719 /* 229865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6723*/ GIMT_Encode4(229932), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8502 //
80720 /* 229872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80721 /* 229876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80722 /* 229880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80723 /* 229884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80724 /* 229888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80725 /* 229892 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80726 /* 229895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80727 /* 229899 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80728 /* 229903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80729 /* 229905 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80730 /* 229912 */ // (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)
80731 /* 229912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
80732 /* 229915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80733 /* 229917 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80734 /* 229919 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80735 /* 229921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80736 /* 229925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80737 /* 229930 */ GIR_RootConstrainSelectedInstOperands,
80738 /* 229931 */ // GIR_Coverage, 8502,
80739 /* 229931 */ GIR_EraseRootFromParent_Done,
80740 /* 229932 */ // Label 6723: @229932
80741 /* 229932 */ GIM_Try, /*On fail goto*//*Label 6724*/ GIMT_Encode4(229992),
80742 /* 229937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80743 /* 229941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80744 /* 229945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80745 /* 229949 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80746 /* 229953 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6725*/ GIMT_Encode4(229973), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1169 //
80747 /* 229960 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
80748 /* 229960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
80749 /* 229963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80750 /* 229965 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80751 /* 229967 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80752 /* 229969 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80753 /* 229971 */ GIR_RootConstrainSelectedInstOperands,
80754 /* 229972 */ // GIR_Coverage, 1169,
80755 /* 229972 */ GIR_EraseRootFromParent_Done,
80756 /* 229973 */ // Label 6725: @229973
80757 /* 229973 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6726*/ GIMT_Encode4(229991), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1451 //
80758 /* 229980 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
80759 /* 229980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
80760 /* 229985 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80761 /* 229989 */ GIR_RootConstrainSelectedInstOperands,
80762 /* 229990 */ // GIR_Coverage, 1451,
80763 /* 229990 */ GIR_Done,
80764 /* 229991 */ // Label 6726: @229991
80765 /* 229991 */ GIM_Reject,
80766 /* 229992 */ // Label 6724: @229992
80767 /* 229992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6727*/ GIMT_Encode4(230028), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8498 //
80768 /* 229999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80769 /* 230003 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80770 /* 230007 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80771 /* 230011 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80772 /* 230015 */ // (strict_fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
80773 /* 230015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
80774 /* 230018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80775 /* 230020 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80776 /* 230022 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80777 /* 230024 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80778 /* 230026 */ GIR_RootConstrainSelectedInstOperands,
80779 /* 230027 */ // GIR_Coverage, 8498,
80780 /* 230027 */ GIR_EraseRootFromParent_Done,
80781 /* 230028 */ // Label 6727: @230028
80782 /* 230028 */ GIM_Reject,
80783 /* 230029 */ // Label 6711: @230029
80784 /* 230029 */ GIM_Reject,
80785 /* 230030 */ // Label 6589: @230030
80786 /* 230030 */ GIM_Try, /*On fail goto*//*Label 6728*/ GIMT_Encode4(230270),
80787 /* 230035 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
80788 /* 230038 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
80789 /* 230041 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
80790 /* 230044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80791 /* 230048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6729*/ GIMT_Encode4(230111), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9659 //
80792 /* 230055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80793 /* 230059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80794 /* 230063 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80795 /* 230066 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80796 /* 230070 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80797 /* 230074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80798 /* 230078 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80799 /* 230082 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80800 /* 230084 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80801 /* 230091 */ // (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)
80802 /* 230091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
80803 /* 230094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80804 /* 230096 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80805 /* 230098 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80806 /* 230100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80807 /* 230104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80808 /* 230109 */ GIR_RootConstrainSelectedInstOperands,
80809 /* 230110 */ // GIR_Coverage, 9659,
80810 /* 230110 */ GIR_EraseRootFromParent_Done,
80811 /* 230111 */ // Label 6729: @230111
80812 /* 230111 */ GIM_Try, /*On fail goto*//*Label 6730*/ GIMT_Encode4(230269),
80813 /* 230116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80814 /* 230120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6731*/ GIMT_Encode4(230179), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9119 //
80815 /* 230127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80816 /* 230131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80817 /* 230135 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80818 /* 230138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80819 /* 230142 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80820 /* 230146 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80821 /* 230150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80822 /* 230152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80823 /* 230159 */ // (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)
80824 /* 230159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
80825 /* 230162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80826 /* 230164 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80827 /* 230166 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80828 /* 230168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80829 /* 230172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80830 /* 230177 */ GIR_RootConstrainSelectedInstOperands,
80831 /* 230178 */ // GIR_Coverage, 9119,
80832 /* 230178 */ GIR_EraseRootFromParent_Done,
80833 /* 230179 */ // Label 6731: @230179
80834 /* 230179 */ GIM_Try, /*On fail goto*//*Label 6732*/ GIMT_Encode4(230268),
80835 /* 230184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80836 /* 230188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6733*/ GIMT_Encode4(230243), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8487 //
80837 /* 230195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80838 /* 230199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80839 /* 230203 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80840 /* 230206 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80841 /* 230210 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80842 /* 230214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80843 /* 230216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80844 /* 230223 */ // (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)
80845 /* 230223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
80846 /* 230226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80847 /* 230228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80848 /* 230230 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80849 /* 230232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80850 /* 230236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80851 /* 230241 */ GIR_RootConstrainSelectedInstOperands,
80852 /* 230242 */ // GIR_Coverage, 8487,
80853 /* 230242 */ GIR_EraseRootFromParent_Done,
80854 /* 230243 */ // Label 6733: @230243
80855 /* 230243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6734*/ GIMT_Encode4(230267), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8483 //
80856 /* 230250 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80857 /* 230254 */ // (strict_fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
80858 /* 230254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
80859 /* 230257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80860 /* 230259 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80861 /* 230261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80862 /* 230263 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80863 /* 230265 */ GIR_RootConstrainSelectedInstOperands,
80864 /* 230266 */ // GIR_Coverage, 8483,
80865 /* 230266 */ GIR_EraseRootFromParent_Done,
80866 /* 230267 */ // Label 6734: @230267
80867 /* 230267 */ GIM_Reject,
80868 /* 230268 */ // Label 6732: @230268
80869 /* 230268 */ GIM_Reject,
80870 /* 230269 */ // Label 6730: @230269
80871 /* 230269 */ GIM_Reject,
80872 /* 230270 */ // Label 6728: @230270
80873 /* 230270 */ GIM_Reject,
80874 /* 230271 */ // Label 6590: @230271
80875 /* 230271 */ GIM_Reject,
80876 /* 230272 */ // Label 79: @230272
80877 /* 230272 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6748*/ GIMT_Encode4(232399),
80878 /* 230283 */ /*GILLT_s16*//*Label 6735*/ GIMT_Encode4(230375),
80879 /* 230287 */ /*GILLT_s32*//*Label 6736*/ GIMT_Encode4(230494),
80880 /* 230291 */ /*GILLT_s64*//*Label 6737*/ GIMT_Encode4(230843),
80881 /* 230295 */ /*GILLT_s80*//*Label 6738*/ GIMT_Encode4(231192), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
80882 /* 230339 */ /*GILLT_v8s16*//*Label 6739*/ GIMT_Encode4(231228),
80883 /* 230343 */ /*GILLT_v16s16*//*Label 6740*/ GIMT_Encode4(231315),
80884 /* 230347 */ /*GILLT_v32s16*//*Label 6741*/ GIMT_Encode4(231402),
80885 /* 230351 */ /*GILLT_v4s32*//*Label 6742*/ GIMT_Encode4(231489),
80886 /* 230355 */ /*GILLT_v8s32*//*Label 6743*/ GIMT_Encode4(231685),
80887 /* 230359 */ /*GILLT_v16s32*//*Label 6744*/ GIMT_Encode4(231857),
80888 /* 230363 */ /*GILLT_v2s64*//*Label 6745*/ GIMT_Encode4(231944),
80889 /* 230367 */ /*GILLT_v4s64*//*Label 6746*/ GIMT_Encode4(232140),
80890 /* 230371 */ /*GILLT_v8s64*//*Label 6747*/ GIMT_Encode4(232312),
80891 /* 230375 */ // Label 6735: @230375
80892 /* 230375 */ GIM_Try, /*On fail goto*//*Label 6749*/ GIMT_Encode4(230493),
80893 /* 230380 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
80894 /* 230383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80895 /* 230387 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6750*/ GIMT_Encode4(230455), GIMT_Encode2(GIFBS_HasFP16_OptForSize), // Rule ID 21572 //
80896 /* 230394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80897 /* 230398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80898 /* 230402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80899 /* 230405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80900 /* 230409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80901 /* 230413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80902 /* 230415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80903 /* 230422 */ // (strict_fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
80904 /* 230422 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
80905 /* 230425 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
80906 /* 230429 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
80907 /* 230434 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
80908 /* 230436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
80909 /* 230439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80910 /* 230441 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
80911 /* 230444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
80912 /* 230448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80913 /* 230453 */ GIR_RootConstrainSelectedInstOperands,
80914 /* 230454 */ // GIR_Coverage, 21572,
80915 /* 230454 */ GIR_EraseRootFromParent_Done,
80916 /* 230455 */ // Label 6750: @230455
80917 /* 230455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6751*/ GIMT_Encode4(230492), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21570 //
80918 /* 230462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80919 /* 230466 */ // (strict_fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
80920 /* 230466 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
80921 /* 230469 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
80922 /* 230473 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
80923 /* 230478 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
80924 /* 230480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
80925 /* 230483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80926 /* 230485 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
80927 /* 230488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
80928 /* 230490 */ GIR_RootConstrainSelectedInstOperands,
80929 /* 230491 */ // GIR_Coverage, 21570,
80930 /* 230491 */ GIR_EraseRootFromParent_Done,
80931 /* 230492 */ // Label 6751: @230492
80932 /* 230492 */ GIM_Reject,
80933 /* 230493 */ // Label 6749: @230493
80934 /* 230493 */ GIM_Reject,
80935 /* 230494 */ // Label 6736: @230494
80936 /* 230494 */ GIM_Try, /*On fail goto*//*Label 6752*/ GIMT_Encode4(230842),
80937 /* 230499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
80938 /* 230502 */ GIM_Try, /*On fail goto*//*Label 6753*/ GIMT_Encode4(230631),
80939 /* 230507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80940 /* 230511 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6754*/ GIMT_Encode4(230562), GIMT_Encode2(GIFBS_OptForSize_UseSSE1), // Rule ID 2429 //
80941 /* 230518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80942 /* 230522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80943 /* 230526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80944 /* 230529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80945 /* 230533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80946 /* 230537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80947 /* 230539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80948 /* 230546 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
80949 /* 230546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
80950 /* 230549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80951 /* 230551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
80952 /* 230555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80953 /* 230560 */ GIR_RootConstrainSelectedInstOperands,
80954 /* 230561 */ // GIR_Coverage, 2429,
80955 /* 230561 */ GIR_EraseRootFromParent_Done,
80956 /* 230562 */ // Label 6754: @230562
80957 /* 230562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6755*/ GIMT_Encode4(230630), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18369 //
80958 /* 230569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80959 /* 230573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80960 /* 230577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80961 /* 230580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80962 /* 230584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80963 /* 230588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80964 /* 230590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80965 /* 230597 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
80966 /* 230597 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
80967 /* 230600 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
80968 /* 230604 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
80969 /* 230609 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
80970 /* 230611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
80971 /* 230614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80972 /* 230616 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
80973 /* 230619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
80974 /* 230623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80975 /* 230628 */ GIR_RootConstrainSelectedInstOperands,
80976 /* 230629 */ // GIR_Coverage, 18369,
80977 /* 230629 */ GIR_EraseRootFromParent_Done,
80978 /* 230630 */ // Label 6755: @230630
80979 /* 230630 */ GIM_Reject,
80980 /* 230631 */ // Label 6753: @230631
80981 /* 230631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6756*/ GIMT_Encode4(230703), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21576 //
80982 /* 230638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80983 /* 230642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80984 /* 230646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80985 /* 230650 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80986 /* 230653 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80987 /* 230657 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80988 /* 230661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80989 /* 230663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80990 /* 230670 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
80991 /* 230670 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
80992 /* 230673 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
80993 /* 230677 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
80994 /* 230682 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
80995 /* 230684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
80996 /* 230687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80997 /* 230689 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
80998 /* 230692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
80999 /* 230696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81000 /* 230701 */ GIR_RootConstrainSelectedInstOperands,
81001 /* 230702 */ // GIR_Coverage, 21576,
81002 /* 230702 */ GIR_EraseRootFromParent_Done,
81003 /* 230703 */ // Label 6756: @230703
81004 /* 230703 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6757*/ GIMT_Encode4(230735), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1024 //
81005 /* 230710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81006 /* 230714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81007 /* 230718 */ // (strict_fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
81008 /* 230718 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
81009 /* 230723 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
81010 /* 230729 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
81011 /* 230733 */ GIR_RootConstrainSelectedInstOperands,
81012 /* 230734 */ // GIR_Coverage, 1024,
81013 /* 230734 */ GIR_Done,
81014 /* 230735 */ // Label 6757: @230735
81015 /* 230735 */ GIM_Try, /*On fail goto*//*Label 6758*/ GIMT_Encode4(230800),
81016 /* 230740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81017 /* 230744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81018 /* 230748 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6759*/ GIMT_Encode4(230766), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2427 //
81019 /* 230755 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
81020 /* 230755 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
81021 /* 230760 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81022 /* 230764 */ GIR_RootConstrainSelectedInstOperands,
81023 /* 230765 */ // GIR_Coverage, 2427,
81024 /* 230765 */ GIR_Done,
81025 /* 230766 */ // Label 6759: @230766
81026 /* 230766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6760*/ GIMT_Encode4(230799), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18367 //
81027 /* 230773 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
81028 /* 230773 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
81029 /* 230776 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81030 /* 230780 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81031 /* 230785 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81032 /* 230787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
81033 /* 230790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81034 /* 230792 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81035 /* 230795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
81036 /* 230797 */ GIR_RootConstrainSelectedInstOperands,
81037 /* 230798 */ // GIR_Coverage, 18367,
81038 /* 230798 */ GIR_EraseRootFromParent_Done,
81039 /* 230799 */ // Label 6760: @230799
81040 /* 230799 */ GIM_Reject,
81041 /* 230800 */ // Label 6758: @230800
81042 /* 230800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6761*/ GIMT_Encode4(230841), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21574 //
81043 /* 230807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81044 /* 230811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81045 /* 230815 */ // (strict_fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
81046 /* 230815 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
81047 /* 230818 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81048 /* 230822 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81049 /* 230827 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81050 /* 230829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
81051 /* 230832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81052 /* 230834 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81053 /* 230837 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
81054 /* 230839 */ GIR_RootConstrainSelectedInstOperands,
81055 /* 230840 */ // GIR_Coverage, 21574,
81056 /* 230840 */ GIR_EraseRootFromParent_Done,
81057 /* 230841 */ // Label 6761: @230841
81058 /* 230841 */ GIM_Reject,
81059 /* 230842 */ // Label 6752: @230842
81060 /* 230842 */ GIM_Reject,
81061 /* 230843 */ // Label 6737: @230843
81062 /* 230843 */ GIM_Try, /*On fail goto*//*Label 6762*/ GIMT_Encode4(231191),
81063 /* 230848 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
81064 /* 230851 */ GIM_Try, /*On fail goto*//*Label 6763*/ GIMT_Encode4(230980),
81065 /* 230856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81066 /* 230860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6764*/ GIMT_Encode4(230911), GIMT_Encode2(GIFBS_OptForSize_UseSSE2), // Rule ID 2445 //
81067 /* 230867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81068 /* 230871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81069 /* 230875 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81070 /* 230878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81071 /* 230882 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81072 /* 230886 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81073 /* 230888 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81074 /* 230895 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
81075 /* 230895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
81076 /* 230898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81077 /* 230900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
81078 /* 230904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81079 /* 230909 */ GIR_RootConstrainSelectedInstOperands,
81080 /* 230910 */ // GIR_Coverage, 2445,
81081 /* 230910 */ GIR_EraseRootFromParent_Done,
81082 /* 230911 */ // Label 6764: @230911
81083 /* 230911 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6765*/ GIMT_Encode4(230979), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18373 //
81084 /* 230918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81085 /* 230922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81086 /* 230926 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81087 /* 230929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81088 /* 230933 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81089 /* 230937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81090 /* 230939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81091 /* 230946 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
81092 /* 230946 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
81093 /* 230949 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81094 /* 230953 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81095 /* 230958 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81096 /* 230960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
81097 /* 230963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81098 /* 230965 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81099 /* 230968 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81100 /* 230972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81101 /* 230977 */ GIR_RootConstrainSelectedInstOperands,
81102 /* 230978 */ // GIR_Coverage, 18373,
81103 /* 230978 */ GIR_EraseRootFromParent_Done,
81104 /* 230979 */ // Label 6765: @230979
81105 /* 230979 */ GIM_Reject,
81106 /* 230980 */ // Label 6763: @230980
81107 /* 230980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6766*/ GIMT_Encode4(231052), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21580 //
81108 /* 230987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81109 /* 230991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81110 /* 230995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81111 /* 230999 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81112 /* 231002 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81113 /* 231006 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81114 /* 231010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81115 /* 231012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81116 /* 231019 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
81117 /* 231019 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
81118 /* 231022 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81119 /* 231026 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81120 /* 231031 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81121 /* 231033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
81122 /* 231036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81123 /* 231038 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81124 /* 231041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81125 /* 231045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81126 /* 231050 */ GIR_RootConstrainSelectedInstOperands,
81127 /* 231051 */ // GIR_Coverage, 21580,
81128 /* 231051 */ GIR_EraseRootFromParent_Done,
81129 /* 231052 */ // Label 6766: @231052
81130 /* 231052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6767*/ GIMT_Encode4(231084), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1026 //
81131 /* 231059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81132 /* 231063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81133 /* 231067 */ // (strict_fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
81134 /* 231067 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
81135 /* 231072 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
81136 /* 231078 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
81137 /* 231082 */ GIR_RootConstrainSelectedInstOperands,
81138 /* 231083 */ // GIR_Coverage, 1026,
81139 /* 231083 */ GIR_Done,
81140 /* 231084 */ // Label 6767: @231084
81141 /* 231084 */ GIM_Try, /*On fail goto*//*Label 6768*/ GIMT_Encode4(231149),
81142 /* 231089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81143 /* 231093 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81144 /* 231097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6769*/ GIMT_Encode4(231115), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2443 //
81145 /* 231104 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
81146 /* 231104 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
81147 /* 231109 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81148 /* 231113 */ GIR_RootConstrainSelectedInstOperands,
81149 /* 231114 */ // GIR_Coverage, 2443,
81150 /* 231114 */ GIR_Done,
81151 /* 231115 */ // Label 6769: @231115
81152 /* 231115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6770*/ GIMT_Encode4(231148), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18371 //
81153 /* 231122 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
81154 /* 231122 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
81155 /* 231125 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81156 /* 231129 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81157 /* 231134 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81158 /* 231136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
81159 /* 231139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81160 /* 231141 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81161 /* 231144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
81162 /* 231146 */ GIR_RootConstrainSelectedInstOperands,
81163 /* 231147 */ // GIR_Coverage, 18371,
81164 /* 231147 */ GIR_EraseRootFromParent_Done,
81165 /* 231148 */ // Label 6770: @231148
81166 /* 231148 */ GIM_Reject,
81167 /* 231149 */ // Label 6768: @231149
81168 /* 231149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6771*/ GIMT_Encode4(231190), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21578 //
81169 /* 231156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81170 /* 231160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81171 /* 231164 */ // (strict_fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
81172 /* 231164 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
81173 /* 231167 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81174 /* 231171 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81175 /* 231176 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81176 /* 231178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
81177 /* 231181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81178 /* 231183 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81179 /* 231186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
81180 /* 231188 */ GIR_RootConstrainSelectedInstOperands,
81181 /* 231189 */ // GIR_Coverage, 21578,
81182 /* 231189 */ GIR_EraseRootFromParent_Done,
81183 /* 231190 */ // Label 6771: @231190
81184 /* 231190 */ GIM_Reject,
81185 /* 231191 */ // Label 6762: @231191
81186 /* 231191 */ GIM_Reject,
81187 /* 231192 */ // Label 6738: @231192
81188 /* 231192 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6772*/ GIMT_Encode4(231227), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1028 //
81189 /* 231199 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
81190 /* 231202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81191 /* 231206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81192 /* 231210 */ // (strict_fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
81193 /* 231210 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
81194 /* 231215 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
81195 /* 231221 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
81196 /* 231225 */ GIR_RootConstrainSelectedInstOperands,
81197 /* 231226 */ // GIR_Coverage, 1028,
81198 /* 231226 */ GIR_Done,
81199 /* 231227 */ // Label 6772: @231227
81200 /* 231227 */ GIM_Reject,
81201 /* 231228 */ // Label 6739: @231228
81202 /* 231228 */ GIM_Try, /*On fail goto*//*Label 6773*/ GIMT_Encode4(231314),
81203 /* 231233 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
81204 /* 231236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81205 /* 231240 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6774*/ GIMT_Encode4(231291), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12015 //
81206 /* 231247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81207 /* 231251 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81208 /* 231255 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81209 /* 231258 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81210 /* 231262 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81211 /* 231266 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81212 /* 231268 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81213 /* 231275 */ // (strict_fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
81214 /* 231275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
81215 /* 231278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81216 /* 231280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81217 /* 231284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81218 /* 231289 */ GIR_RootConstrainSelectedInstOperands,
81219 /* 231290 */ // GIR_Coverage, 12015,
81220 /* 231290 */ GIR_EraseRootFromParent_Done,
81221 /* 231291 */ // Label 6774: @231291
81222 /* 231291 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6775*/ GIMT_Encode4(231313), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12011 //
81223 /* 231298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81224 /* 231302 */ // (strict_fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
81225 /* 231302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
81226 /* 231307 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81227 /* 231311 */ GIR_RootConstrainSelectedInstOperands,
81228 /* 231312 */ // GIR_Coverage, 12011,
81229 /* 231312 */ GIR_Done,
81230 /* 231313 */ // Label 6775: @231313
81231 /* 231313 */ GIM_Reject,
81232 /* 231314 */ // Label 6773: @231314
81233 /* 231314 */ GIM_Reject,
81234 /* 231315 */ // Label 6740: @231315
81235 /* 231315 */ GIM_Try, /*On fail goto*//*Label 6776*/ GIMT_Encode4(231401),
81236 /* 231320 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
81237 /* 231323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81238 /* 231327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6777*/ GIMT_Encode4(231378), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12027 //
81239 /* 231334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81240 /* 231338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81241 /* 231342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81242 /* 231345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81243 /* 231349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81244 /* 231353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81245 /* 231355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81246 /* 231362 */ // (strict_fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
81247 /* 231362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
81248 /* 231365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81249 /* 231367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81250 /* 231371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81251 /* 231376 */ GIR_RootConstrainSelectedInstOperands,
81252 /* 231377 */ // GIR_Coverage, 12027,
81253 /* 231377 */ GIR_EraseRootFromParent_Done,
81254 /* 231378 */ // Label 6777: @231378
81255 /* 231378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6778*/ GIMT_Encode4(231400), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12023 //
81256 /* 231385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81257 /* 231389 */ // (strict_fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
81258 /* 231389 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
81259 /* 231394 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81260 /* 231398 */ GIR_RootConstrainSelectedInstOperands,
81261 /* 231399 */ // GIR_Coverage, 12023,
81262 /* 231399 */ GIR_Done,
81263 /* 231400 */ // Label 6778: @231400
81264 /* 231400 */ GIM_Reject,
81265 /* 231401 */ // Label 6776: @231401
81266 /* 231401 */ GIM_Reject,
81267 /* 231402 */ // Label 6741: @231402
81268 /* 231402 */ GIM_Try, /*On fail goto*//*Label 6779*/ GIMT_Encode4(231488),
81269 /* 231407 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
81270 /* 231410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81271 /* 231414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6780*/ GIMT_Encode4(231465), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 12003 //
81272 /* 231421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81273 /* 231425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81274 /* 231429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81275 /* 231432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81276 /* 231436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81277 /* 231440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81278 /* 231442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81279 /* 231449 */ // (strict_fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
81280 /* 231449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
81281 /* 231452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81282 /* 231454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81283 /* 231458 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81284 /* 231463 */ GIR_RootConstrainSelectedInstOperands,
81285 /* 231464 */ // GIR_Coverage, 12003,
81286 /* 231464 */ GIR_EraseRootFromParent_Done,
81287 /* 231465 */ // Label 6780: @231465
81288 /* 231465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6781*/ GIMT_Encode4(231487), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11999 //
81289 /* 231472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81290 /* 231476 */ // (strict_fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
81291 /* 231476 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
81292 /* 231481 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81293 /* 231485 */ GIR_RootConstrainSelectedInstOperands,
81294 /* 231486 */ // GIR_Coverage, 11999,
81295 /* 231486 */ GIR_Done,
81296 /* 231487 */ // Label 6781: @231487
81297 /* 231487 */ GIM_Reject,
81298 /* 231488 */ // Label 6779: @231488
81299 /* 231488 */ GIM_Reject,
81300 /* 231489 */ // Label 6742: @231489
81301 /* 231489 */ GIM_Try, /*On fail goto*//*Label 6782*/ GIMT_Encode4(231684),
81302 /* 231494 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
81303 /* 231497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6783*/ GIMT_Encode4(231552), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2433 //
81304 /* 231504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81305 /* 231508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81306 /* 231512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81307 /* 231516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81308 /* 231519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81309 /* 231523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81310 /* 231527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81311 /* 231529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81312 /* 231536 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
81313 /* 231536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
81314 /* 231539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81315 /* 231541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81316 /* 231545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81317 /* 231550 */ GIR_RootConstrainSelectedInstOperands,
81318 /* 231551 */ // GIR_Coverage, 2433,
81319 /* 231551 */ GIR_EraseRootFromParent_Done,
81320 /* 231552 */ // Label 6783: @231552
81321 /* 231552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6784*/ GIMT_Encode4(231607), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12063 //
81322 /* 231559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81323 /* 231563 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81324 /* 231567 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81325 /* 231571 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81326 /* 231574 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81327 /* 231578 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81328 /* 231582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81329 /* 231584 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81330 /* 231591 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
81331 /* 231591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
81332 /* 231594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81333 /* 231596 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81334 /* 231600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81335 /* 231605 */ GIR_RootConstrainSelectedInstOperands,
81336 /* 231606 */ // GIR_Coverage, 12063,
81337 /* 231606 */ GIR_EraseRootFromParent_Done,
81338 /* 231607 */ // Label 6784: @231607
81339 /* 231607 */ GIM_Try, /*On fail goto*//*Label 6785*/ GIMT_Encode4(231657),
81340 /* 231612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81341 /* 231616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81342 /* 231620 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6786*/ GIMT_Encode4(231638), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2431 //
81343 /* 231627 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
81344 /* 231627 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
81345 /* 231632 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81346 /* 231636 */ GIR_RootConstrainSelectedInstOperands,
81347 /* 231637 */ // GIR_Coverage, 2431,
81348 /* 231637 */ GIR_Done,
81349 /* 231638 */ // Label 6786: @231638
81350 /* 231638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6787*/ GIMT_Encode4(231656), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2439 //
81351 /* 231645 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
81352 /* 231645 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
81353 /* 231650 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81354 /* 231654 */ GIR_RootConstrainSelectedInstOperands,
81355 /* 231655 */ // GIR_Coverage, 2439,
81356 /* 231655 */ GIR_Done,
81357 /* 231656 */ // Label 6787: @231656
81358 /* 231656 */ GIM_Reject,
81359 /* 231657 */ // Label 6785: @231657
81360 /* 231657 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6788*/ GIMT_Encode4(231683), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12059 //
81361 /* 231664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81362 /* 231668 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81363 /* 231672 */ // (strict_fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
81364 /* 231672 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
81365 /* 231677 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81366 /* 231681 */ GIR_RootConstrainSelectedInstOperands,
81367 /* 231682 */ // GIR_Coverage, 12059,
81368 /* 231682 */ GIR_Done,
81369 /* 231683 */ // Label 6788: @231683
81370 /* 231683 */ GIM_Reject,
81371 /* 231684 */ // Label 6782: @231684
81372 /* 231684 */ GIM_Reject,
81373 /* 231685 */ // Label 6743: @231685
81374 /* 231685 */ GIM_Try, /*On fail goto*//*Label 6789*/ GIMT_Encode4(231856),
81375 /* 231690 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
81376 /* 231693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6790*/ GIMT_Encode4(231748), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2437 //
81377 /* 231700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81378 /* 231704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81379 /* 231708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81380 /* 231712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81381 /* 231715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81382 /* 231719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81383 /* 231723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81384 /* 231725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81385 /* 231732 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
81386 /* 231732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
81387 /* 231735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81388 /* 231737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81389 /* 231741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81390 /* 231746 */ GIR_RootConstrainSelectedInstOperands,
81391 /* 231747 */ // GIR_Coverage, 2437,
81392 /* 231747 */ GIR_EraseRootFromParent_Done,
81393 /* 231748 */ // Label 6790: @231748
81394 /* 231748 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6791*/ GIMT_Encode4(231803), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12075 //
81395 /* 231755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81396 /* 231759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81397 /* 231763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81398 /* 231767 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81399 /* 231770 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81400 /* 231774 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81401 /* 231778 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81402 /* 231780 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81403 /* 231787 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
81404 /* 231787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
81405 /* 231790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81406 /* 231792 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81407 /* 231796 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81408 /* 231801 */ GIR_RootConstrainSelectedInstOperands,
81409 /* 231802 */ // GIR_Coverage, 12075,
81410 /* 231802 */ GIR_EraseRootFromParent_Done,
81411 /* 231803 */ // Label 6791: @231803
81412 /* 231803 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6792*/ GIMT_Encode4(231829), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2435 //
81413 /* 231810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81414 /* 231814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81415 /* 231818 */ // (strict_fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
81416 /* 231818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
81417 /* 231823 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81418 /* 231827 */ GIR_RootConstrainSelectedInstOperands,
81419 /* 231828 */ // GIR_Coverage, 2435,
81420 /* 231828 */ GIR_Done,
81421 /* 231829 */ // Label 6792: @231829
81422 /* 231829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6793*/ GIMT_Encode4(231855), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12071 //
81423 /* 231836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81424 /* 231840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81425 /* 231844 */ // (strict_fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
81426 /* 231844 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
81427 /* 231849 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81428 /* 231853 */ GIR_RootConstrainSelectedInstOperands,
81429 /* 231854 */ // GIR_Coverage, 12071,
81430 /* 231854 */ GIR_Done,
81431 /* 231855 */ // Label 6793: @231855
81432 /* 231855 */ GIM_Reject,
81433 /* 231856 */ // Label 6789: @231856
81434 /* 231856 */ GIM_Reject,
81435 /* 231857 */ // Label 6744: @231857
81436 /* 231857 */ GIM_Try, /*On fail goto*//*Label 6794*/ GIMT_Encode4(231943),
81437 /* 231862 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
81438 /* 231865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81439 /* 231869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6795*/ GIMT_Encode4(231920), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12039 //
81440 /* 231876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81441 /* 231880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81442 /* 231884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81443 /* 231887 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81444 /* 231891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81445 /* 231895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81446 /* 231897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81447 /* 231904 */ // (strict_fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
81448 /* 231904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
81449 /* 231907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81450 /* 231909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81451 /* 231913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81452 /* 231918 */ GIR_RootConstrainSelectedInstOperands,
81453 /* 231919 */ // GIR_Coverage, 12039,
81454 /* 231919 */ GIR_EraseRootFromParent_Done,
81455 /* 231920 */ // Label 6795: @231920
81456 /* 231920 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6796*/ GIMT_Encode4(231942), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12035 //
81457 /* 231927 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81458 /* 231931 */ // (strict_fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
81459 /* 231931 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
81460 /* 231936 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81461 /* 231940 */ GIR_RootConstrainSelectedInstOperands,
81462 /* 231941 */ // GIR_Coverage, 12035,
81463 /* 231941 */ GIR_Done,
81464 /* 231942 */ // Label 6796: @231942
81465 /* 231942 */ GIM_Reject,
81466 /* 231943 */ // Label 6794: @231943
81467 /* 231943 */ GIM_Reject,
81468 /* 231944 */ // Label 6745: @231944
81469 /* 231944 */ GIM_Try, /*On fail goto*//*Label 6797*/ GIMT_Encode4(232139),
81470 /* 231949 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
81471 /* 231952 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6798*/ GIMT_Encode4(232007), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2449 //
81472 /* 231959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81473 /* 231963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81474 /* 231967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81475 /* 231971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81476 /* 231974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81477 /* 231978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81478 /* 231982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81479 /* 231984 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81480 /* 231991 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
81481 /* 231991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
81482 /* 231994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81483 /* 231996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81484 /* 232000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81485 /* 232005 */ GIR_RootConstrainSelectedInstOperands,
81486 /* 232006 */ // GIR_Coverage, 2449,
81487 /* 232006 */ GIR_EraseRootFromParent_Done,
81488 /* 232007 */ // Label 6798: @232007
81489 /* 232007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6799*/ GIMT_Encode4(232062), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12087 //
81490 /* 232014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81491 /* 232018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81492 /* 232022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81493 /* 232026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81494 /* 232029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81495 /* 232033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81496 /* 232037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81497 /* 232039 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81498 /* 232046 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
81499 /* 232046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
81500 /* 232049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81501 /* 232051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81502 /* 232055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81503 /* 232060 */ GIR_RootConstrainSelectedInstOperands,
81504 /* 232061 */ // GIR_Coverage, 12087,
81505 /* 232061 */ GIR_EraseRootFromParent_Done,
81506 /* 232062 */ // Label 6799: @232062
81507 /* 232062 */ GIM_Try, /*On fail goto*//*Label 6800*/ GIMT_Encode4(232112),
81508 /* 232067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81509 /* 232071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81510 /* 232075 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6801*/ GIMT_Encode4(232093), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2447 //
81511 /* 232082 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
81512 /* 232082 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
81513 /* 232087 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81514 /* 232091 */ GIR_RootConstrainSelectedInstOperands,
81515 /* 232092 */ // GIR_Coverage, 2447,
81516 /* 232092 */ GIR_Done,
81517 /* 232093 */ // Label 6801: @232093
81518 /* 232093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6802*/ GIMT_Encode4(232111), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2455 //
81519 /* 232100 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
81520 /* 232100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
81521 /* 232105 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81522 /* 232109 */ GIR_RootConstrainSelectedInstOperands,
81523 /* 232110 */ // GIR_Coverage, 2455,
81524 /* 232110 */ GIR_Done,
81525 /* 232111 */ // Label 6802: @232111
81526 /* 232111 */ GIM_Reject,
81527 /* 232112 */ // Label 6800: @232112
81528 /* 232112 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6803*/ GIMT_Encode4(232138), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12083 //
81529 /* 232119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81530 /* 232123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81531 /* 232127 */ // (strict_fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
81532 /* 232127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
81533 /* 232132 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81534 /* 232136 */ GIR_RootConstrainSelectedInstOperands,
81535 /* 232137 */ // GIR_Coverage, 12083,
81536 /* 232137 */ GIR_Done,
81537 /* 232138 */ // Label 6803: @232138
81538 /* 232138 */ GIM_Reject,
81539 /* 232139 */ // Label 6797: @232139
81540 /* 232139 */ GIM_Reject,
81541 /* 232140 */ // Label 6746: @232140
81542 /* 232140 */ GIM_Try, /*On fail goto*//*Label 6804*/ GIMT_Encode4(232311),
81543 /* 232145 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
81544 /* 232148 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6805*/ GIMT_Encode4(232203), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2453 //
81545 /* 232155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81546 /* 232159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81547 /* 232163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81548 /* 232167 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81549 /* 232170 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81550 /* 232174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81551 /* 232178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81552 /* 232180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81553 /* 232187 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
81554 /* 232187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
81555 /* 232190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81556 /* 232192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81557 /* 232196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81558 /* 232201 */ GIR_RootConstrainSelectedInstOperands,
81559 /* 232202 */ // GIR_Coverage, 2453,
81560 /* 232202 */ GIR_EraseRootFromParent_Done,
81561 /* 232203 */ // Label 6805: @232203
81562 /* 232203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6806*/ GIMT_Encode4(232258), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12099 //
81563 /* 232210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81564 /* 232214 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81565 /* 232218 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81566 /* 232222 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81567 /* 232225 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81568 /* 232229 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81569 /* 232233 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81570 /* 232235 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81571 /* 232242 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
81572 /* 232242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
81573 /* 232245 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81574 /* 232247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81575 /* 232251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81576 /* 232256 */ GIR_RootConstrainSelectedInstOperands,
81577 /* 232257 */ // GIR_Coverage, 12099,
81578 /* 232257 */ GIR_EraseRootFromParent_Done,
81579 /* 232258 */ // Label 6806: @232258
81580 /* 232258 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6807*/ GIMT_Encode4(232284), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2451 //
81581 /* 232265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81582 /* 232269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81583 /* 232273 */ // (strict_fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
81584 /* 232273 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
81585 /* 232278 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81586 /* 232282 */ GIR_RootConstrainSelectedInstOperands,
81587 /* 232283 */ // GIR_Coverage, 2451,
81588 /* 232283 */ GIR_Done,
81589 /* 232284 */ // Label 6807: @232284
81590 /* 232284 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6808*/ GIMT_Encode4(232310), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12095 //
81591 /* 232291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81592 /* 232295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81593 /* 232299 */ // (strict_fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
81594 /* 232299 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
81595 /* 232304 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81596 /* 232308 */ GIR_RootConstrainSelectedInstOperands,
81597 /* 232309 */ // GIR_Coverage, 12095,
81598 /* 232309 */ GIR_Done,
81599 /* 232310 */ // Label 6808: @232310
81600 /* 232310 */ GIM_Reject,
81601 /* 232311 */ // Label 6804: @232311
81602 /* 232311 */ GIM_Reject,
81603 /* 232312 */ // Label 6747: @232312
81604 /* 232312 */ GIM_Try, /*On fail goto*//*Label 6809*/ GIMT_Encode4(232398),
81605 /* 232317 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
81606 /* 232320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81607 /* 232324 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6810*/ GIMT_Encode4(232375), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12051 //
81608 /* 232331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81609 /* 232335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81610 /* 232339 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81611 /* 232342 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81612 /* 232346 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81613 /* 232350 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81614 /* 232352 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81615 /* 232359 */ // (strict_fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
81616 /* 232359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
81617 /* 232362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81618 /* 232364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81619 /* 232368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81620 /* 232373 */ GIR_RootConstrainSelectedInstOperands,
81621 /* 232374 */ // GIR_Coverage, 12051,
81622 /* 232374 */ GIR_EraseRootFromParent_Done,
81623 /* 232375 */ // Label 6810: @232375
81624 /* 232375 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6811*/ GIMT_Encode4(232397), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12047 //
81625 /* 232382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81626 /* 232386 */ // (strict_fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
81627 /* 232386 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
81628 /* 232391 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81629 /* 232395 */ GIR_RootConstrainSelectedInstOperands,
81630 /* 232396 */ // GIR_Coverage, 12047,
81631 /* 232396 */ GIR_Done,
81632 /* 232397 */ // Label 6811: @232397
81633 /* 232397 */ GIM_Reject,
81634 /* 232398 */ // Label 6809: @232398
81635 /* 232398 */ GIM_Reject,
81636 /* 232399 */ // Label 6748: @232399
81637 /* 232399 */ GIM_Reject,
81638 /* 232400 */ // Label 80: @232400
81639 /* 232400 */ GIM_Try, /*On fail goto*//*Label 6812*/ GIMT_Encode4(232412), // Rule ID 17113 //
81640 /* 232405 */ // (trap) => (TRAP)
81641 /* 232405 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TRAP),
81642 /* 232410 */ GIR_RootConstrainSelectedInstOperands,
81643 /* 232411 */ // GIR_Coverage, 17113,
81644 /* 232411 */ GIR_Done,
81645 /* 232412 */ // Label 6812: @232412
81646 /* 232412 */ GIM_Reject,
81647 /* 232413 */ // Label 81: @232413
81648 /* 232413 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6813*/ GIMT_Encode4(232427), GIMT_Encode2(GIFBS_NotPS), // Rule ID 22581 //
81649 /* 232420 */ // (debugtrap) => (INT3)
81650 /* 232420 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::INT3),
81651 /* 232425 */ GIR_RootConstrainSelectedInstOperands,
81652 /* 232426 */ // GIR_Coverage, 22581,
81653 /* 232426 */ GIR_Done,
81654 /* 232427 */ // Label 6813: @232427
81655 /* 232427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6814*/ GIMT_Encode4(232446), GIMT_Encode2(GIFBS_IsPS), // Rule ID 22582 //
81656 /* 232434 */ // (debugtrap) => (INT 65:{ *:[i8] })
81657 /* 232434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
81658 /* 232437 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/65,
81659 /* 232440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81660 /* 232444 */ GIR_RootConstrainSelectedInstOperands,
81661 /* 232445 */ // GIR_Coverage, 22582,
81662 /* 232445 */ GIR_EraseRootFromParent_Done,
81663 /* 232446 */ // Label 6814: @232446
81664 /* 232446 */ GIM_Reject,
81665 /* 232447 */ // Label 82: @232447
81666 /* 232447 */ GIM_Try, /*On fail goto*//*Label 6815*/ GIMT_Encode4(232462), // Rule ID 17115 //
81667 /* 232452 */ // MIs[0] kind
81668 /* 232452 */ GIM_CheckIsImm, /*MI*/0, /*Op*/0,
81669 /* 232455 */ // (ubsantrap (timm:{ *:[i32] }):$kind) => (UBSAN_UD1 (timm:{ *:[i32] }):$kind)
81670 /* 232455 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::UBSAN_UD1),
81671 /* 232460 */ GIR_RootConstrainSelectedInstOperands,
81672 /* 232461 */ // GIR_Coverage, 17115,
81673 /* 232461 */ GIR_Done,
81674 /* 232462 */ // Label 6815: @232462
81675 /* 232462 */ GIM_Reject,
81676 /* 232463 */ // Label 83: @232463
81677 /* 232463 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 6819*/ GIMT_Encode4(232912),
81678 /* 232474 */ /*GILLT_s32*//*Label 6816*/ GIMT_Encode4(232486),
81679 /* 232478 */ /*GILLT_s64*//*Label 6817*/ GIMT_Encode4(232628),
81680 /* 232482 */ /*GILLT_s80*//*Label 6818*/ GIMT_Encode4(232770),
81681 /* 232486 */ // Label 6816: @232486
81682 /* 232486 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6820*/ GIMT_Encode4(232533), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1062 //
81683 /* 232493 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81684 /* 232500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81685 /* 232504 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81686 /* 232508 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81687 /* 232515 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81688 /* 232515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m32),
81689 /* 232518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81690 /* 232520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81691 /* 232524 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81692 /* 232527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81693 /* 232531 */ GIR_RootConstrainSelectedInstOperands,
81694 /* 232532 */ // GIR_Coverage, 1062,
81695 /* 232532 */ GIR_EraseRootFromParent_Done,
81696 /* 232533 */ // Label 6820: @232533
81697 /* 232533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6821*/ GIMT_Encode4(232580), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1063 //
81698 /* 232540 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81699 /* 232547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81700 /* 232551 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81701 /* 232555 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81702 /* 232562 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81703 /* 232562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m32),
81704 /* 232565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81705 /* 232567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81706 /* 232571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81707 /* 232574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81708 /* 232578 */ GIR_RootConstrainSelectedInstOperands,
81709 /* 232579 */ // GIR_Coverage, 1063,
81710 /* 232579 */ GIR_EraseRootFromParent_Done,
81711 /* 232580 */ // Label 6821: @232580
81712 /* 232580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6822*/ GIMT_Encode4(232627), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1064 //
81713 /* 232587 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81714 /* 232594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81715 /* 232598 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81716 /* 232602 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81717 /* 232609 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81718 /* 232609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m32),
81719 /* 232612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81720 /* 232614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81721 /* 232618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81722 /* 232621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81723 /* 232625 */ GIR_RootConstrainSelectedInstOperands,
81724 /* 232626 */ // GIR_Coverage, 1064,
81725 /* 232626 */ GIR_EraseRootFromParent_Done,
81726 /* 232627 */ // Label 6822: @232627
81727 /* 232627 */ GIM_Reject,
81728 /* 232628 */ // Label 6817: @232628
81729 /* 232628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6823*/ GIMT_Encode4(232675), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1065 //
81730 /* 232635 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81731 /* 232642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81732 /* 232646 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81733 /* 232650 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81734 /* 232657 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81735 /* 232657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m64),
81736 /* 232660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81737 /* 232662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81738 /* 232666 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81739 /* 232669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81740 /* 232673 */ GIR_RootConstrainSelectedInstOperands,
81741 /* 232674 */ // GIR_Coverage, 1065,
81742 /* 232674 */ GIR_EraseRootFromParent_Done,
81743 /* 232675 */ // Label 6823: @232675
81744 /* 232675 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6824*/ GIMT_Encode4(232722), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1066 //
81745 /* 232682 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81746 /* 232689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81747 /* 232693 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81748 /* 232697 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81749 /* 232704 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81750 /* 232704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m64),
81751 /* 232707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81752 /* 232709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81753 /* 232713 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81754 /* 232716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81755 /* 232720 */ GIR_RootConstrainSelectedInstOperands,
81756 /* 232721 */ // GIR_Coverage, 1066,
81757 /* 232721 */ GIR_EraseRootFromParent_Done,
81758 /* 232722 */ // Label 6824: @232722
81759 /* 232722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6825*/ GIMT_Encode4(232769), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1067 //
81760 /* 232729 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81761 /* 232736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81762 /* 232740 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81763 /* 232744 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81764 /* 232751 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81765 /* 232751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m64),
81766 /* 232754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81767 /* 232756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81768 /* 232760 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81769 /* 232763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81770 /* 232767 */ GIR_RootConstrainSelectedInstOperands,
81771 /* 232768 */ // GIR_Coverage, 1067,
81772 /* 232768 */ GIR_EraseRootFromParent_Done,
81773 /* 232769 */ // Label 6825: @232769
81774 /* 232769 */ GIM_Reject,
81775 /* 232770 */ // Label 6818: @232770
81776 /* 232770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6826*/ GIMT_Encode4(232817), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1068 //
81777 /* 232777 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81778 /* 232784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81779 /* 232788 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81780 /* 232792 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81781 /* 232799 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81782 /* 232799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m80),
81783 /* 232802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81784 /* 232804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81785 /* 232808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81786 /* 232811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81787 /* 232815 */ GIR_RootConstrainSelectedInstOperands,
81788 /* 232816 */ // GIR_Coverage, 1068,
81789 /* 232816 */ GIR_EraseRootFromParent_Done,
81790 /* 232817 */ // Label 6826: @232817
81791 /* 232817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6827*/ GIMT_Encode4(232864), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1069 //
81792 /* 232824 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81793 /* 232831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81794 /* 232835 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81795 /* 232839 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81796 /* 232846 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81797 /* 232846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m80),
81798 /* 232849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81799 /* 232851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81800 /* 232855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81801 /* 232858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81802 /* 232862 */ GIR_RootConstrainSelectedInstOperands,
81803 /* 232863 */ // GIR_Coverage, 1069,
81804 /* 232863 */ GIR_EraseRootFromParent_Done,
81805 /* 232864 */ // Label 6827: @232864
81806 /* 232864 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6828*/ GIMT_Encode4(232911), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1070 //
81807 /* 232871 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81808 /* 232878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81809 /* 232882 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81810 /* 232886 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81811 /* 232893 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81812 /* 232893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m80),
81813 /* 232896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81814 /* 232898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81815 /* 232902 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81816 /* 232905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81817 /* 232909 */ GIR_RootConstrainSelectedInstOperands,
81818 /* 232910 */ // GIR_Coverage, 1070,
81819 /* 232910 */ GIR_EraseRootFromParent_Done,
81820 /* 232911 */ // Label 6828: @232911
81821 /* 232911 */ GIM_Reject,
81822 /* 232912 */ // Label 6819: @232912
81823 /* 232912 */ GIM_Reject,
81824 /* 232913 */ // Label 84: @232913
81825 /* 232913 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 6832*/ GIMT_Encode4(233767),
81826 /* 232924 */ /*GILLT_s32*//*Label 6829*/ GIMT_Encode4(232936),
81827 /* 232928 */ /*GILLT_s64*//*Label 6830*/ GIMT_Encode4(233213),
81828 /* 232932 */ /*GILLT_s80*//*Label 6831*/ GIMT_Encode4(233490),
81829 /* 232936 */ // Label 6829: @232936
81830 /* 232936 */ GIM_Try, /*On fail goto*//*Label 6833*/ GIMT_Encode4(232981), // Rule ID 849 //
81831 /* 232941 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81832 /* 232948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81833 /* 232952 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81834 /* 232956 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81835 /* 232963 */ // (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)
81836 /* 232963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT16_IN_MEM),
81837 /* 232966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81838 /* 232970 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81839 /* 232972 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81840 /* 232975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81841 /* 232979 */ GIR_RootConstrainSelectedInstOperands,
81842 /* 232980 */ // GIR_Coverage, 849,
81843 /* 232980 */ GIR_EraseRootFromParent_Done,
81844 /* 232981 */ // Label 6833: @232981
81845 /* 232981 */ GIM_Try, /*On fail goto*//*Label 6834*/ GIMT_Encode4(233026), // Rule ID 850 //
81846 /* 232986 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81847 /* 232993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81848 /* 232997 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81849 /* 233001 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81850 /* 233008 */ // (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)
81851 /* 233008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT32_IN_MEM),
81852 /* 233011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81853 /* 233015 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81854 /* 233017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81855 /* 233020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81856 /* 233024 */ GIR_RootConstrainSelectedInstOperands,
81857 /* 233025 */ // GIR_Coverage, 850,
81858 /* 233025 */ GIR_EraseRootFromParent_Done,
81859 /* 233026 */ // Label 6834: @233026
81860 /* 233026 */ GIM_Try, /*On fail goto*//*Label 6835*/ GIMT_Encode4(233071), // Rule ID 851 //
81861 /* 233031 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81862 /* 233038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81863 /* 233042 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81864 /* 233046 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81865 /* 233053 */ // (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)
81866 /* 233053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT64_IN_MEM),
81867 /* 233056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81868 /* 233060 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81869 /* 233062 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81870 /* 233065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81871 /* 233069 */ GIR_RootConstrainSelectedInstOperands,
81872 /* 233070 */ // GIR_Coverage, 851,
81873 /* 233070 */ GIR_EraseRootFromParent_Done,
81874 /* 233071 */ // Label 6835: @233071
81875 /* 233071 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6836*/ GIMT_Encode4(233118), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1083 //
81876 /* 233078 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81877 /* 233085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81878 /* 233089 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81879 /* 233093 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81880 /* 233100 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
81881 /* 233100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m32),
81882 /* 233103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81883 /* 233107 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81884 /* 233109 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81885 /* 233112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81886 /* 233116 */ GIR_RootConstrainSelectedInstOperands,
81887 /* 233117 */ // GIR_Coverage, 1083,
81888 /* 233117 */ GIR_EraseRootFromParent_Done,
81889 /* 233118 */ // Label 6836: @233118
81890 /* 233118 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6837*/ GIMT_Encode4(233165), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1084 //
81891 /* 233125 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81892 /* 233132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81893 /* 233136 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81894 /* 233140 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81895 /* 233147 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
81896 /* 233147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m32),
81897 /* 233150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81898 /* 233154 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81899 /* 233156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81900 /* 233159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81901 /* 233163 */ GIR_RootConstrainSelectedInstOperands,
81902 /* 233164 */ // GIR_Coverage, 1084,
81903 /* 233164 */ GIR_EraseRootFromParent_Done,
81904 /* 233165 */ // Label 6837: @233165
81905 /* 233165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6838*/ GIMT_Encode4(233212), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1085 //
81906 /* 233172 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81907 /* 233179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81908 /* 233183 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81909 /* 233187 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81910 /* 233194 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
81911 /* 233194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m32),
81912 /* 233197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81913 /* 233201 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81914 /* 233203 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81915 /* 233206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81916 /* 233210 */ GIR_RootConstrainSelectedInstOperands,
81917 /* 233211 */ // GIR_Coverage, 1085,
81918 /* 233211 */ GIR_EraseRootFromParent_Done,
81919 /* 233212 */ // Label 6838: @233212
81920 /* 233212 */ GIM_Reject,
81921 /* 233213 */ // Label 6830: @233213
81922 /* 233213 */ GIM_Try, /*On fail goto*//*Label 6839*/ GIMT_Encode4(233258), // Rule ID 852 //
81923 /* 233218 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81924 /* 233225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81925 /* 233229 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81926 /* 233233 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81927 /* 233240 */ // (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)
81928 /* 233240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT16_IN_MEM),
81929 /* 233243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81930 /* 233247 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81931 /* 233249 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81932 /* 233252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81933 /* 233256 */ GIR_RootConstrainSelectedInstOperands,
81934 /* 233257 */ // GIR_Coverage, 852,
81935 /* 233257 */ GIR_EraseRootFromParent_Done,
81936 /* 233258 */ // Label 6839: @233258
81937 /* 233258 */ GIM_Try, /*On fail goto*//*Label 6840*/ GIMT_Encode4(233303), // Rule ID 853 //
81938 /* 233263 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81939 /* 233270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81940 /* 233274 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81941 /* 233278 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81942 /* 233285 */ // (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)
81943 /* 233285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT32_IN_MEM),
81944 /* 233288 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81945 /* 233292 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81946 /* 233294 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81947 /* 233297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81948 /* 233301 */ GIR_RootConstrainSelectedInstOperands,
81949 /* 233302 */ // GIR_Coverage, 853,
81950 /* 233302 */ GIR_EraseRootFromParent_Done,
81951 /* 233303 */ // Label 6840: @233303
81952 /* 233303 */ GIM_Try, /*On fail goto*//*Label 6841*/ GIMT_Encode4(233348), // Rule ID 854 //
81953 /* 233308 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81954 /* 233315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81955 /* 233319 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81956 /* 233323 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81957 /* 233330 */ // (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)
81958 /* 233330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT64_IN_MEM),
81959 /* 233333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81960 /* 233337 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81961 /* 233339 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81962 /* 233342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81963 /* 233346 */ GIR_RootConstrainSelectedInstOperands,
81964 /* 233347 */ // GIR_Coverage, 854,
81965 /* 233347 */ GIR_EraseRootFromParent_Done,
81966 /* 233348 */ // Label 6841: @233348
81967 /* 233348 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6842*/ GIMT_Encode4(233395), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1086 //
81968 /* 233355 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81969 /* 233362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81970 /* 233366 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81971 /* 233370 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81972 /* 233377 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
81973 /* 233377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m64),
81974 /* 233380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81975 /* 233384 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81976 /* 233386 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81977 /* 233389 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81978 /* 233393 */ GIR_RootConstrainSelectedInstOperands,
81979 /* 233394 */ // GIR_Coverage, 1086,
81980 /* 233394 */ GIR_EraseRootFromParent_Done,
81981 /* 233395 */ // Label 6842: @233395
81982 /* 233395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6843*/ GIMT_Encode4(233442), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1087 //
81983 /* 233402 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81984 /* 233409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81985 /* 233413 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81986 /* 233417 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81987 /* 233424 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
81988 /* 233424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m64),
81989 /* 233427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81990 /* 233431 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81991 /* 233433 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81992 /* 233436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81993 /* 233440 */ GIR_RootConstrainSelectedInstOperands,
81994 /* 233441 */ // GIR_Coverage, 1087,
81995 /* 233441 */ GIR_EraseRootFromParent_Done,
81996 /* 233442 */ // Label 6843: @233442
81997 /* 233442 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6844*/ GIMT_Encode4(233489), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1088 //
81998 /* 233449 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81999 /* 233456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
82000 /* 233460 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82001 /* 233464 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82002 /* 233471 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
82003 /* 233471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m64),
82004 /* 233474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
82005 /* 233478 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82006 /* 233480 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82007 /* 233483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82008 /* 233487 */ GIR_RootConstrainSelectedInstOperands,
82009 /* 233488 */ // GIR_Coverage, 1088,
82010 /* 233488 */ GIR_EraseRootFromParent_Done,
82011 /* 233489 */ // Label 6844: @233489
82012 /* 233489 */ GIM_Reject,
82013 /* 233490 */ // Label 6831: @233490
82014 /* 233490 */ GIM_Try, /*On fail goto*//*Label 6845*/ GIMT_Encode4(233535), // Rule ID 855 //
82015 /* 233495 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
82016 /* 233502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82017 /* 233506 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82018 /* 233510 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82019 /* 233517 */ // (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)
82020 /* 233517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT16_IN_MEM),
82021 /* 233520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82022 /* 233524 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82023 /* 233526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
82024 /* 233529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82025 /* 233533 */ GIR_RootConstrainSelectedInstOperands,
82026 /* 233534 */ // GIR_Coverage, 855,
82027 /* 233534 */ GIR_EraseRootFromParent_Done,
82028 /* 233535 */ // Label 6845: @233535
82029 /* 233535 */ GIM_Try, /*On fail goto*//*Label 6846*/ GIMT_Encode4(233580), // Rule ID 856 //
82030 /* 233540 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
82031 /* 233547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82032 /* 233551 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82033 /* 233555 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82034 /* 233562 */ // (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)
82035 /* 233562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT32_IN_MEM),
82036 /* 233565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82037 /* 233569 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82038 /* 233571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
82039 /* 233574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82040 /* 233578 */ GIR_RootConstrainSelectedInstOperands,
82041 /* 233579 */ // GIR_Coverage, 856,
82042 /* 233579 */ GIR_EraseRootFromParent_Done,
82043 /* 233580 */ // Label 6846: @233580
82044 /* 233580 */ GIM_Try, /*On fail goto*//*Label 6847*/ GIMT_Encode4(233625), // Rule ID 857 //
82045 /* 233585 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
82046 /* 233592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82047 /* 233596 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82048 /* 233600 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82049 /* 233607 */ // (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)
82050 /* 233607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT64_IN_MEM),
82051 /* 233610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82052 /* 233614 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82053 /* 233616 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
82054 /* 233619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82055 /* 233623 */ GIR_RootConstrainSelectedInstOperands,
82056 /* 233624 */ // GIR_Coverage, 857,
82057 /* 233624 */ GIR_EraseRootFromParent_Done,
82058 /* 233625 */ // Label 6847: @233625
82059 /* 233625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6848*/ GIMT_Encode4(233672), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1089 //
82060 /* 233632 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
82061 /* 233639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82062 /* 233643 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82063 /* 233647 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82064 /* 233654 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
82065 /* 233654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m80),
82066 /* 233657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
82067 /* 233661 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82068 /* 233663 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82069 /* 233666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82070 /* 233670 */ GIR_RootConstrainSelectedInstOperands,
82071 /* 233671 */ // GIR_Coverage, 1089,
82072 /* 233671 */ GIR_EraseRootFromParent_Done,
82073 /* 233672 */ // Label 6848: @233672
82074 /* 233672 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6849*/ GIMT_Encode4(233719), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1090 //
82075 /* 233679 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
82076 /* 233686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82077 /* 233690 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82078 /* 233694 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82079 /* 233701 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
82080 /* 233701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m80),
82081 /* 233704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
82082 /* 233708 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82083 /* 233710 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82084 /* 233713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82085 /* 233717 */ GIR_RootConstrainSelectedInstOperands,
82086 /* 233718 */ // GIR_Coverage, 1090,
82087 /* 233718 */ GIR_EraseRootFromParent_Done,
82088 /* 233719 */ // Label 6849: @233719
82089 /* 233719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6850*/ GIMT_Encode4(233766), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1091 //
82090 /* 233726 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
82091 /* 233733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82092 /* 233737 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82093 /* 233741 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82094 /* 233748 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
82095 /* 233748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m80),
82096 /* 233751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
82097 /* 233755 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82098 /* 233757 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82099 /* 233760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82100 /* 233764 */ GIR_RootConstrainSelectedInstOperands,
82101 /* 233765 */ // GIR_Coverage, 1091,
82102 /* 233765 */ GIR_EraseRootFromParent_Done,
82103 /* 233766 */ // Label 6850: @233766
82104 /* 233766 */ GIM_Reject,
82105 /* 233767 */ // Label 6832: @233767
82106 /* 233767 */ GIM_Reject,
82107 /* 233768 */ // Label 85: @233768
82108 /* 233768 */ GIM_Try, /*On fail goto*//*Label 6851*/ GIMT_Encode4(233803), // Rule ID 1108 //
82109 /* 233773 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
82110 /* 233777 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82111 /* 233784 */ // (X86fp_cwd_set16 addr:{ *:[iPTR] }:$dst) => (FLDCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
82112 /* 233784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FLDCW16m),
82113 /* 233787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82114 /* 233791 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82115 /* 233794 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
82116 /* 233797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82117 /* 233801 */ GIR_RootConstrainSelectedInstOperands,
82118 /* 233802 */ // GIR_Coverage, 1108,
82119 /* 233802 */ GIR_EraseRootFromParent_Done,
82120 /* 233803 */ // Label 6851: @233803
82121 /* 233803 */ GIM_Reject,
82122 /* 233804 */ // Label 86: @233804
82123 /* 233804 */ GIM_Try, /*On fail goto*//*Label 6852*/ GIMT_Encode4(233836), // Rule ID 1107 //
82124 /* 233809 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
82125 /* 233813 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82126 /* 233820 */ // (X86fp_cwd_get16 addr:{ *:[iPTR] }:$dst) => (FNSTCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
82127 /* 233820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FNSTCW16m),
82128 /* 233823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82129 /* 233827 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82130 /* 233830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82131 /* 233834 */ GIR_RootConstrainSelectedInstOperands,
82132 /* 233835 */ // GIR_Coverage, 1107,
82133 /* 233835 */ GIR_EraseRootFromParent_Done,
82134 /* 233836 */ // Label 6852: @233836
82135 /* 233836 */ GIM_Reject,
82136 /* 233837 */ // Label 87: @233837
82137 /* 233837 */ GIM_Reject,
82138 /* 233838 */ }; // Size: 233838 bytes
82139 return MatchTable0;
82140}
82141#undef GIMT_Encode2
82142#undef GIMT_Encode4
82143#undef GIMT_Encode8
82144
82145
82146#endif // GET_GLOBALISEL_IMPL
82147
82148#ifdef GET_GLOBALISEL_PREDICATES_DECL
82149
82150PredicateBitset AvailableModuleFeatures;
82151mutable PredicateBitset AvailableFunctionFeatures;
82152PredicateBitset getAvailableFeatures() const {
82153 return AvailableModuleFeatures | AvailableFunctionFeatures;
82154}
82155PredicateBitset
82156computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const;
82157PredicateBitset
82158computeAvailableFunctionFeatures(const X86Subtarget *Subtarget,
82159 const MachineFunction *MF) const;
82160void setupGeneratedPerFunctionState(MachineFunction &MF) override;
82161
82162#endif // GET_GLOBALISEL_PREDICATES_DECL
82163
82164#ifdef GET_GLOBALISEL_PREDICATES_INIT
82165
82166AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
82167AvailableFunctionFeatures()
82168
82169#endif // GET_GLOBALISEL_PREDICATES_INIT
82170
82171